Forgot to add the coclasses. Here is the new updated patch. On Wed, Apr 28, 2021 at 1:49 AM Biswapriyo Nath <nathbap...@gmail.com> wrote: > >
From 2b091db263eca8253850918436d8c7199efa7a7e Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath <nathbap...@gmail.com> Date: Wed, 28 Apr 2021 11:58:16 +0530 Subject: [PATCH] headers: Add rdpencomapi.idl file.
Signed-off-by: Biswapriyo Nath <nathbap...@gmail.com> --- mingw-w64-headers/Makefile.am | 1 + mingw-w64-headers/include/rdpencomapi.idl | 938 ++++++++++++++++++++++ 2 files changed, 939 insertions(+) create mode 100644 mingw-w64-headers/include/rdpencomapi.idl diff --git a/mingw-w64-headers/Makefile.am b/mingw-w64-headers/Makefile.am index 35900d5..6e8bc73 100644 --- a/mingw-w64-headers/Makefile.am +++ b/mingw-w64-headers/Makefile.am @@ -188,6 +188,7 @@ IDL_SRCS = \ include/portabledevicetypes.idl \ include/propidl.idl \ include/propsys.idl \ + include/rdpencomapi.idl \ include/regbag.idl \ include/sapi51.idl \ include/sapi53.idl \ diff --git a/mingw-w64-headers/include/rdpencomapi.idl b/mingw-w64-headers/include/rdpencomapi.idl new file mode 100644 index 0000000..0dbc4ef --- /dev/null +++ b/mingw-w64-headers/include/rdpencomapi.idl @@ -0,0 +1,938 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +import "oaidl.idl"; +import "ocidl.idl"; + +cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") + +const int DISPID_RDPSRAPI_METHOD_OPEN = 100; +const int DISPID_RDPSRAPI_METHOD_CLOSE = 101; +const int DISPID_RDPSRAPI_METHOD_SETSHAREDRECT = 102; +const int DISPID_RDPSRAPI_METHOD_GETSHAREDRECT = 103; +const int DISPID_RDPSRAPI_METHOD_VIEWERCONNECT = 104; +const int DISPID_RDPSRAPI_METHOD_VIEWERDISCONNECT = 105; +const int DISPID_RDPSRAPI_METHOD_TERMINATE_CONNECTION = 106; +const int DISPID_RDPSRAPI_METHOD_CREATE_INVITATION = 107; +const int DISPID_RDPSRAPI_METHOD_REQUEST_CONTROL = 108; +const int DISPID_RDPSRAPI_METHOD_VIRTUAL_CHANNEL_CREATE = 109; +const int DISPID_RDPSRAPI_METHOD_VIRTUAL_CHANNEL_SEND_DATA = 110; +const int DISPID_RDPSRAPI_METHOD_VIRTUAL_CHANNEL_SET_ACCESS = 111; +const int DISPID_RDPSRAPI_METHOD_PAUSE = 112; +const int DISPID_RDPSRAPI_METHOD_RESUME = 113; +const int DISPID_RDPSRAPI_METHOD_SHOW_WINDOW = 114; +const int DISPID_RDPSRAPI_METHOD_REQUEST_COLOR_DEPTH_CHANGE = 115; +const int DISPID_RDPSRAPI_METHOD_STARTREVCONNECTLISTENER = 116; +const int DISPID_RDPSRAPI_METHOD_CONNECTTOCLIENT = 117; +const int DISPID_RDPSRAPI_METHOD_SET_RENDERING_SURFACE = 118; +const int DISPID_RDPSRAPI_METHOD_SEND_MOUSE_BUTTON_EVENT = 119; +const int DISPID_RDPSRAPI_METHOD_SEND_MOUSE_MOVE_EVENT = 120; +const int DISPID_RDPSRAPI_METHOD_SEND_MOUSE_WHEEL_EVENT = 121; +const int DISPID_RDPSRAPI_METHOD_SEND_KEYBOARD_EVENT = 122; +const int DISPID_RDPSRAPI_METHOD_SEND_SYNC_EVENT = 123; +const int DISPID_RDPSRAPI_METHOD_BEGIN_TOUCH_FRAME = 124; +const int DISPID_RDPSRAPI_METHOD_ADD_TOUCH_INPUT = 125; +const int DISPID_RDPSRAPI_METHOD_END_TOUCH_FRAME = 126; +const int DISPID_RDPSRAPI_METHOD_CONNECTUSINGTRANSPORTSTREAM = 127; +const int DISPID_RDPSRAPI_METHOD_SENDCONTROLLEVELCHANGERESPONSE = 148; +const int DISPID_RDPSRAPI_METHOD_GETFRAMEBUFFERBITS = 149; + +const int DISPID_RDPSRAPI_PROP_DISPIDVALUE = 200; +const int DISPID_RDPSRAPI_PROP_ID = 201; +const int DISPID_RDPSRAPI_PROP_SESSION_PROPERTIES = 202; +const int DISPID_RDPSRAPI_PROP_ATTENDEES = 203; +const int DISPID_RDPSRAPI_PROP_INVITATIONS = 204; +const int DISPID_RDPSRAPI_PROP_INVITATION = 205; +const int DISPID_RDPSRAPI_PROP_CHANNELMANAGER = 206; +const int DISPID_RDPSRAPI_PROP_VIRTUAL_CHANNEL_GETNAME = 207; +const int DISPID_RDPSRAPI_PROP_VIRTUAL_CHANNEL_GETFLAGS = 208; +const int DISPID_RDPSRAPI_PROP_VIRTUAL_CHANNEL_GETPRIORITY = 209; +const int DISPID_RDPSRAPI_PROP_WINDOWID = 210; +const int DISPID_RDPSRAPI_PROP_APPLICATION = 211; +const int DISPID_RDPSRAPI_PROP_WINDOWSHARED = 212; +const int DISPID_RDPSRAPI_PROP_WINDOWNAME = 213; +const int DISPID_RDPSRAPI_PROP_APPNAME = 214; +const int DISPID_RDPSRAPI_PROP_APPLICATION_FILTER = 215; +const int DISPID_RDPSRAPI_PROP_WINDOW_LIST = 216; +const int DISPID_RDPSRAPI_PROP_APPLICATION_LIST = 217; +const int DISPID_RDPSRAPI_PROP_APPFILTER_ENABLED = 218; +const int DISPID_RDPSRAPI_PROP_APPFILTERENABLED = 219; +const int DISPID_RDPSRAPI_PROP_SHARED = 220; +const int DISPID_RDPSRAPI_PROP_INVITATIONITEM = 221; +const int DISPID_RDPSRAPI_PROP_DBG_CLX_CMDLINE = 222; +const int DISPID_RDPSRAPI_PROP_APPFLAGS = 223; +const int DISPID_RDPSRAPI_PROP_WNDFLAGS = 224; +const int DISPID_RDPSRAPI_PROP_PROTOCOL_TYPE = 225; +const int DISPID_RDPSRAPI_PROP_LOCAL_PORT = 226; +const int DISPID_RDPSRAPI_PROP_LOCAL_IP = 227; +const int DISPID_RDPSRAPI_PROP_PEER_PORT = 228; +const int DISPID_RDPSRAPI_PROP_PEER_IP = 229; +const int DISPID_RDPSRAPI_PROP_ATTENDEE_FLAGS = 230; +const int DISPID_RDPSRAPI_PROP_CONINFO = 231; +const int DISPID_RDPSRAPI_PROP_CONNECTION_STRING = 232; +const int DISPID_RDPSRAPI_PROP_GROUP_NAME = 233; +const int DISPID_RDPSRAPI_PROP_PASSWORD = 234; +const int DISPID_RDPSRAPI_PROP_ATTENDEELIMIT = 235; +const int DISPID_RDPSRAPI_PROP_REVOKED = 236; +const int DISPID_RDPSRAPI_PROP_DISCONNECTED_STRING = 237; +const int DISPID_RDPSRAPI_PROP_USESMARTSIZING = 238; +const int DISPID_RDPSRAPI_PROP_SESSION_COLORDEPTH = 239; +const int DISPID_RDPSRAPI_PROP_REASON = 240; +const int DISPID_RDPSRAPI_PROP_CODE = 241; +const int DISPID_RDPSRAPI_PROP_CTRL_LEVEL = 242; +const int DISPID_RDPSRAPI_PROP_REMOTENAME = 243; +const int DISPID_RDPSRAPI_PROP_COUNT = 244; +const int DISPID_RDPSRAPI_PROP_FRAMEBUFFER_HEIGHT = 251; +const int DISPID_RDPSRAPI_PROP_FRAMEBUFFER_WIDTH = 252; +const int DISPID_RDPSRAPI_PROP_FRAMEBUFFER_BPP = 253; +const int DISPID_RDPSRAPI_PROP_FRAMEBUFFER = 254; + +const int DISPID_RDPSRAPI_EVENT_ON_ATTENDEE_CONNECTED = 301; +const int DISPID_RDPSRAPI_EVENT_ON_ATTENDEE_DISCONNECTED = 302; +const int DISPID_RDPSRAPI_EVENT_ON_ATTENDEE_UPDATE = 303; +const int DISPID_RDPSRAPI_EVENT_ON_ERROR = 304; +const int DISPID_RDPSRAPI_EVENT_ON_VIEWER_CONNECTED = 305; +const int DISPID_RDPSRAPI_EVENT_ON_VIEWER_DISCONNECTED = 306; +const int DISPID_RDPSRAPI_EVENT_ON_VIEWER_AUTHENTICATED = 307; +const int DISPID_RDPSRAPI_EVENT_ON_VIEWER_CONNECTFAILED = 308; +const int DISPID_RDPSRAPI_EVENT_ON_CTRLLEVEL_CHANGE_REQUEST = 309; +const int DISPID_RDPSRAPI_EVENT_ON_GRAPHICS_STREAM_PAUSED = 310; +const int DISPID_RDPSRAPI_EVENT_ON_GRAPHICS_STREAM_RESUMED = 311; +const int DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_JOIN = 312; +const int DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_LEAVE = 313; +const int DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_DATARECEIVED = 314; +const int DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_SENDCOMPLETED = 315; +const int DISPID_RDPSRAPI_EVENT_ON_APPLICATION_OPEN = 316; +const int DISPID_RDPSRAPI_EVENT_ON_APPLICATION_CLOSE = 317; +const int DISPID_RDPSRAPI_EVENT_ON_APPLICATION_UPDATE = 318; +const int DISPID_RDPSRAPI_EVENT_ON_WINDOW_OPEN = 319; +const int DISPID_RDPSRAPI_EVENT_ON_WINDOW_CLOSE = 320; +const int DISPID_RDPSRAPI_EVENT_ON_WINDOW_UPDATE = 321; +const int DISPID_RDPSRAPI_EVENT_ON_APPFILTER_UPDATE = 322; +const int DISPID_RDPSRAPI_EVENT_ON_SHARED_RECT_CHANGED = 323; +const int DISPID_RDPSRAPI_EVENT_ON_FOCUSRELEASED = 324; +const int DISPID_RDPSRAPI_EVENT_ON_SHARED_DESKTOP_SETTINGS_CHANGED = 325; +const int DISPID_RDPSRAPI_EVENT_ON_CTRLLEVEL_CHANGE_RESPONSE = 338; + +const int DISPID_RDPAPI_EVENT_ON_BOUNDING_RECT_CHANGED = 340; + +const int DISPID_RDPSRAPI_METHOD_STREAM_ALLOCBUFFER = 421; +const int DISPID_RDPSRAPI_METHOD_STREAM_FREEBUFFER = 422; +const int DISPID_RDPSRAPI_METHOD_STREAMSENDDATA = 423; +const int DISPID_RDPSRAPI_METHOD_STREAMREADDATA = 424; +const int DISPID_RDPSRAPI_METHOD_STREAMOPEN = 425; +const int DISPID_RDPSRAPI_METHOD_STREAMCLOSE = 426; + +const int DISPID_RDPSRAPI_PROP_STREAMBUFFER_STORAGE = 555; +const int DISPID_RDPSRAPI_PROP_STREAMBUFFER_PAYLOADSIZE = 558; +const int DISPID_RDPSRAPI_PROP_STREAMBUFFER_PAYLOADOFFSET = 559; +const int DISPID_RDPSRAPI_PROP_STREAMBUFFER_CONTEXT = 560; +const int DISPID_RDPSRAPI_PROP_STREAMBUFFER_FLAGS = 561; +const int DISPID_RDPSRAPI_PROP_STREAMBUFFER_STORESIZE = 562; + +const int DISPID_RDPSRAPI_EVENT_ON_STREAM_SENDCOMPLETED = 632; +const int DISPID_RDPSRAPI_EVENT_ON_STREAM_DATARECEIVED = 633; +const int DISPID_RDPSRAPI_EVENT_ON_STREAM_CLOSED = 634; + +const int DISPID_RDPSRAPI_EVENT_VIEW_MOUSE_BUTTON_RECEIVED = 700; +const int DISPID_RDPSRAPI_EVENT_VIEW_MOUSE_MOVE_RECEIVED = 701; +const int DISPID_RDPSRAPI_EVENT_VIEW_MOUSE_WHEEL_RECEIVED = 702; + +typedef enum { + CTRL_LEVEL_MIN = 0, + CTRL_LEVEL_INVALID = 0, + CTRL_LEVEL_NONE = 1, + CTRL_LEVEL_VIEW = 2, + CTRL_LEVEL_INTERACTIVE = 3, + CTRL_LEVEL_REQCTRL_VIEW = 4, + CTRL_LEVEL_REQCTRL_INTERACTIVE = 5, + CTRL_LEVEL_MAX = 5 +} CTRL_LEVEL; + +typedef enum { + ATTENDEE_DISCONNECT_REASON_MIN = 0, + ATTENDEE_DISCONNECT_REASON_APP = 0, + ATTENDEE_DISCONNECT_REASON_ERR = 1, + ATTENDEE_DISCONNECT_REASON_CLI = 2, + ATTENDEE_DISCONNECT_REASON_MAX = 2 +} ATTENDEE_DISCONNECT_REASON; + +typedef enum { + CHANNEL_PRIORITY_LO, + CHANNEL_PRIORITY_MED, + CHANNEL_PRIORITY_HI +} CHANNEL_PRIORITY; + +typedef enum { + CHANNEL_FLAGS_LEGACY = 0x01, + CHANNEL_FLAGS_UNCOMPRESSED = 0x02, + CHANNEL_FLAGS_DYNAMIC = 0x04 +} CHANNEL_FLAGS; + +typedef enum { + CHANNEL_ACCESS_ENUM_NONE, + CHANNEL_ACCESS_ENUM_SENDRECEIVE +} CHANNEL_ACCESS_ENUM; + +typedef enum { + ATTENDEE_FLAGS_LOCAL = 1 +} RDPENCOMAPI_ATTENDEE_FLAGS; + +typedef enum { + WND_FLAG_PRIVILEGED = 1 +} RDPSRAPI_WND_FLAGS; + +typedef enum { + APP_FLAG_PRIVILEGED = 1 +} RDPSRAPI_APP_FLAGS; + +typedef enum { + RDPSRAPI_MOUSE_BUTTON_BUTTON1 = 0, + RDPSRAPI_MOUSE_BUTTON_BUTTON2 = 1, + RDPSRAPI_MOUSE_BUTTON_BUTTON3 = 2, + RDPSRAPI_MOUSE_BUTTON_XBUTTON1 = 3, + RDPSRAPI_MOUSE_BUTTON_XBUTTON2 = 4, + RDPSRAPI_MOUSE_BUTTON_XBUTTON3 = 5 +} RDPSRAPI_MOUSE_BUTTON_TYPE; + +typedef enum { + RDPSRAPI_KBD_CODE_SCANCODE = 0, + RDPSRAPI_KBD_CODE_UNICODE = 1 +} RDPSRAPI_KBD_CODE_TYPE; + +typedef enum { + RDPSRAPI_KBD_SYNC_FLAG_SCROLL_LOCK = 1, + RDPSRAPI_KBD_SYNC_FLAG_NUM_LOCK = 2, + RDPSRAPI_KBD_SYNC_FLAG_CAPS_LOCK = 4, + RDPSRAPI_KBD_SYNC_FLAG_KANA_LOCK = 8 +} RDPSRAPI_KBD_SYNC_FLAG; + +[object, uuid(aa1e42b5-496d-4ca4-a690-348dcb2ec4ad), hidden, pointer_default(unique)] +interface IRDPSRAPIDebug : IUnknown +{ + [propput, id(DISPID_RDPSRAPI_PROP_DBG_CLX_CMDLINE)] + HRESULT CLXCmdLine([in] BSTR CLXCmdLine); + + [propget, id(DISPID_RDPSRAPI_PROP_DBG_CLX_CMDLINE)] + HRESULT CLXCmdLine([out, retval] BSTR *pCLXCmdLine); +} + +[object, uuid(071c2533-0fa4-4e8f-ae83-9c10b4305ab5), pointer_default(unique)] +interface IRDPSRAPIPerfCounterLogger : IUnknown +{ + HRESULT LogValue([in] __int64 lValue); +} + +[object, uuid(9a512c86-ac6e-4a8e-b1a4-fcef363f6e64), pointer_default(unique)] +interface IRDPSRAPIPerfCounterLoggingManager : IUnknown +{ + HRESULT CreateLogger([in] BSTR bstrCounterName, [out] IRDPSRAPIPerfCounterLogger **ppLogger); +} + +[object, uuid(e3e30ef9-89c6-4541-ba3b-19336ac6d31c), pointer_default(unique)] +interface IRDPSRAPIAudioStream : IUnknown +{ + HRESULT Initialize([out] __int64 *pnPeriodInHundredNsIntervals); + HRESULT Start(); + HRESULT Stop(); + HRESULT GetBuffer([out] BYTE **ppbData, [out] UINT32 *pcbData, [out] UINT64 *pTimestamp); + HRESULT FreeBuffer(); +} + +[object, uuid(D559F59A-7A27-4138-8763-247CE5F659A8), hidden, pointer_default(unique)] +interface IRDPSRAPIClipboardUseEvents : IUnknown +{ + HRESULT OnPasteFromClipboard([in] UINT clipboardFormat, [in] IDispatch* pAttendee, [out, retval] VARIANT_BOOL *pRetVal); +} + +interface IRDPSRAPIApplication; + +[object, uuid(beafe0f9-c77b-4933-ba9f-a24cddcc27cf), dual, pointer_default(unique)] +interface IRDPSRAPIWindow: IDispatch +{ + [propget, id(DISPID_RDPSRAPI_PROP_ID)] + HRESULT Id([out, retval] long *pRetVal); + + [propget, id(DISPID_RDPSRAPI_PROP_APPLICATION)] + HRESULT Application([out, retval] IRDPSRAPIApplication **pApplication); + + [propget, id(DISPID_RDPSRAPI_PROP_SHARED)] + HRESULT Shared([out, retval] VARIANT_BOOL *pRetVal); + + [propput, id(DISPID_RDPSRAPI_PROP_SHARED)] + HRESULT Shared([in] VARIANT_BOOL NewVal); + + [propget, id(DISPID_RDPSRAPI_PROP_WINDOWNAME)] + HRESULT Name([out, retval] BSTR *pRetVal); + + [id(DISPID_RDPSRAPI_METHOD_SHOW_WINDOW)] + HRESULT Show(); + + [propget, id(DISPID_RDPSRAPI_PROP_WNDFLAGS)] + HRESULT Flags([out, retval] unsigned long *pdwFlags); +} + +[object, uuid(8a05ce44-715a-4116-a189-a118f30a07bd), dual, pointer_default(unique)] +interface IRDPSRAPIWindowList: IDispatch +{ + [propget, restricted, id(DISPID_NEWENUM)] + HRESULT _NewEnum([out, retval] IUnknown **retval); + + [propget, id(DISPID_VALUE)] + HRESULT Item([in] long item, [out, retval] IRDPSRAPIWindow **pWindow); +} + +[object, uuid(41e7a09d-eb7a-436e-935d-780ca2628324), dual, pointer_default(unique)] +interface IRDPSRAPIApplication: IDispatch +{ + [propget, id(DISPID_VALUE)] + HRESULT Windows([out, retval] IRDPSRAPIWindowList **pWindowList); + + [propget, id(DISPID_RDPSRAPI_PROP_ID)] + HRESULT Id([out, retval] long *pRetVal); + + [propget, id(DISPID_RDPSRAPI_PROP_SHARED)] + HRESULT Shared([out, retval] VARIANT_BOOL *pRetVal); + + [propput, id(DISPID_RDPSRAPI_PROP_SHARED)] + HRESULT Shared([in] VARIANT_BOOL NewVal); + + [propget, id(DISPID_RDPSRAPI_PROP_APPNAME)] + HRESULT Name([out, retval] BSTR *pRetVal); + + [propget, id(DISPID_RDPSRAPI_PROP_APPFLAGS)] + HRESULT Flags([out, retval] unsigned long *pdwFlags); +} + +[object, uuid(d4b4aeb3-22dc-4837-b3b6-42ea2517849a), dual, pointer_default(unique)] +interface IRDPSRAPIApplicationList: IDispatch +{ + [propget, restricted, id(DISPID_NEWENUM)] + HRESULT _NewEnum([out, retval] IUnknown **retval); + + [propget, id(DISPID_VALUE)] + HRESULT Item([in] long item, [out, retval] IRDPSRAPIApplication **pApplication); +} + +[object, uuid(d20f10ca-6637-4f06-b1d5-277ea7e5160d), dual, pointer_default(unique)] +interface IRDPSRAPIApplicationFilter: IDispatch +{ + [propget, id(DISPID_RDPSRAPI_PROP_APPLICATION_LIST)] + HRESULT Applications([out, retval] IRDPSRAPIApplicationList **pApplications); + + [propget, id(DISPID_RDPSRAPI_PROP_WINDOW_LIST)] + HRESULT Windows([out, retval] IRDPSRAPIWindowList **pWindows); + + [propget, id(DISPID_RDPSRAPI_PROP_APPFILTERENABLED)] + HRESULT Enabled([out, retval] VARIANT_BOOL *pRetVal); + + [propput, id(DISPID_RDPSRAPI_PROP_APPFILTERENABLED)] + HRESULT Enabled([in] VARIANT_BOOL NewVal); +} + +[object, uuid(339b24f2-9bc0-4f16-9aac-f165433d13d4), dual, pointer_default(unique)] +interface IRDPSRAPISessionProperties: IDispatch +{ + [propget, id(DISPID_VALUE)] + HRESULT Property([in] BSTR PropertyName, [out, retval] VARIANT *pVal); + + [propput, id(DISPID_VALUE)] + HRESULT Property([in] BSTR PropertyName, [in] VARIANT newVal); +} + +[object, uuid(4fac1d43-fc51-45bb-b1b4-2b53aa562fa3), dual, pointer_default(unique)] +interface IRDPSRAPIInvitation: IDispatch +{ + [propget, id(DISPID_RDPSRAPI_PROP_CONNECTION_STRING)] + HRESULT ConnectionString([out, retval] BSTR *pbstrVal); + + [propget, id(DISPID_RDPSRAPI_PROP_GROUP_NAME)] + HRESULT GroupName([out, retval] BSTR *pbstrVal); + + [propget, id(DISPID_RDPSRAPI_PROP_PASSWORD)] + HRESULT Password([out, retval] BSTR *pbstrVal); + + [propget, id(DISPID_RDPSRAPI_PROP_ATTENDEELIMIT)] + HRESULT AttendeeLimit([out, retval] long *pRetVal); + + [propput, id(DISPID_RDPSRAPI_PROP_ATTENDEELIMIT)] + HRESULT AttendeeLimit([in] long NewVal); + + [propget, id(DISPID_RDPSRAPI_PROP_REVOKED)] + HRESULT Revoked([out, retval] VARIANT_BOOL *pRetVal); + + [propput, id(DISPID_RDPSRAPI_PROP_REVOKED)] + HRESULT Revoked([in] VARIANT_BOOL NewVal); +} + +[object, uuid(4722b049-92c3-4c2d-8a65-f7348f644dcf), dual, pointer_default(unique)] +interface IRDPSRAPIInvitationManager: IDispatch +{ + [propget, restricted, id(DISPID_NEWENUM)] + HRESULT _NewEnum([out, retval] IUnknown **retval); + + [propget, id(DISPID_VALUE)] + HRESULT Item([in] VARIANT item, [out, retval] IRDPSRAPIInvitation **ppInvitation); + + [propget, id(DISPID_RDPSRAPI_PROP_COUNT)] + HRESULT Count([out, retval] long *pRetVal); + + [id(DISPID_RDPSRAPI_METHOD_CREATE_INVITATION)] + HRESULT CreateInvitation([in] BSTR bstrAuthString, [in] BSTR bstrGroupName, [in] BSTR bstrPassword, [in] long AttendeeLimit, [out, retval] IRDPSRAPIInvitation **ppInvitation); +} + +[object, uuid(f74049a4-3d06-4028-8193-0a8c29bc2452), dual, pointer_default(unique)] +interface IRDPSRAPITcpConnectionInfo : IDispatch +{ + [propget, id(DISPID_RDPSRAPI_PROP_PROTOCOL_TYPE)] + HRESULT Protocol([out, retval] long *plProtocol); + + [propget, id(DISPID_RDPSRAPI_PROP_LOCAL_PORT)] + HRESULT LocalPort([out, retval] long *plPort); + + [propget, id(DISPID_RDPSRAPI_PROP_LOCAL_IP)] + HRESULT LocalIP([out, retval] BSTR *pbsrLocalIP); + + [propget, id(DISPID_RDPSRAPI_PROP_PEER_PORT)] + HRESULT PeerPort([out, retval] long *plPort); + + [propget, id(DISPID_RDPSRAPI_PROP_PEER_IP)] + HRESULT PeerIP([out, retval] BSTR *pbstrIP); +} + +[object, uuid(ec0671b3-1b78-4b80-a464-9132247543e3), dual, pointer_default(unique)] +interface IRDPSRAPIAttendee : IDispatch +{ + [propget, id(DISPID_RDPSRAPI_PROP_ID)] + HRESULT Id([out, retval] long *pId); + + [propget, id(DISPID_RDPSRAPI_PROP_REMOTENAME)] + HRESULT RemoteName([out, retval] BSTR *pVal); + + [propget, id(DISPID_RDPSRAPI_PROP_CTRL_LEVEL)] + HRESULT ControlLevel([out, retval] CTRL_LEVEL *pVal); + + [propput, id(DISPID_RDPSRAPI_PROP_CTRL_LEVEL)] + HRESULT ControlLevel([in] CTRL_LEVEL pNewVal); + + [propget, id(DISPID_RDPSRAPI_PROP_INVITATION)] + HRESULT Invitation([out, retval] IRDPSRAPIInvitation **ppVal); + + [id(DISPID_RDPSRAPI_METHOD_TERMINATE_CONNECTION)] + HRESULT TerminateConnection(); + + [propget, id(DISPID_RDPSRAPI_PROP_ATTENDEE_FLAGS)] + HRESULT Flags([out, retval] long *plFlags); + + [propget, id(DISPID_RDPSRAPI_PROP_CONINFO)] + HRESULT ConnectivityInfo([out, retval] IUnknown **ppVal); +} + +[object, uuid(ba3a37e8-33da-4749-8da0-07fa34da7944), dual, pointer_default(unique)] +interface IRDPSRAPIAttendeeManager : IDispatch +{ + [propget, restricted, id(DISPID_NEWENUM)] + HRESULT _NewEnum([out, retval] IUnknown **retval); + + [propget, id(DISPID_VALUE)] + HRESULT Item([in] long id, [out, retval] IRDPSRAPIAttendee **ppItem); +} + +[object, uuid(c187689f-447c-44a1-9c14-fffbb3b7ec17), dual, pointer_default(unique)] +interface IRDPSRAPIAttendeeDisconnectInfo : IDispatch +{ + [propget, id(DISPID_VALUE)] + HRESULT Attendee([out, retval] IRDPSRAPIAttendee **retval); + + [propget, id(DISPID_RDPSRAPI_PROP_REASON)] + HRESULT Reason([out, retval] ATTENDEE_DISCONNECT_REASON *pReason); + + [propget, id(DISPID_RDPSRAPI_PROP_CODE)] + HRESULT Code([out, retval] long *pVal); +} + +[object, uuid(05e12f95-28b3-4c9a-8780-d0248574a1e0), dual, pointer_default(unique)] +interface IRDPSRAPIVirtualChannel : IDispatch +{ + [id(DISPID_RDPSRAPI_METHOD_VIRTUAL_CHANNEL_SEND_DATA)] + HRESULT SendData([in] BSTR bstrData, [in] long lAttendeeId, [in] unsigned long ChannelSendFlags); + + [id(DISPID_RDPSRAPI_METHOD_VIRTUAL_CHANNEL_SET_ACCESS)] + HRESULT SetAccess([in] long lAttendeeId, [in] CHANNEL_ACCESS_ENUM AccessType); + + [propget, id(DISPID_RDPSRAPI_PROP_VIRTUAL_CHANNEL_GETNAME)] + HRESULT Name([out, retval] BSTR *pbstrName); + + [propget, id(DISPID_RDPSRAPI_PROP_VIRTUAL_CHANNEL_GETFLAGS)] + HRESULT Flags([out, retval] long *plFlags); + + [propget, id(DISPID_RDPSRAPI_PROP_VIRTUAL_CHANNEL_GETPRIORITY)] + HRESULT Priority([out, retval] CHANNEL_PRIORITY *pPriority); +} + +[object, uuid(0d11c661-5d0d-4ee4-89df-2166ae1fdfed), dual, pointer_default(unique)] +interface IRDPSRAPIVirtualChannelManager : IDispatch +{ + [propget, restricted, id(DISPID_NEWENUM)] + HRESULT _NewEnum([out, retval] IUnknown **retval); + + [propget, id(DISPID_VALUE)] + HRESULT Item([in] VARIANT item, [out, retval] IRDPSRAPIVirtualChannel **pChannel); + + [id(DISPID_RDPSRAPI_METHOD_VIRTUAL_CHANNEL_CREATE)] + HRESULT CreateVirtualChannel([in] BSTR bstrChannelName, [in] CHANNEL_PRIORITY Priority, [in] unsigned long ChannelFlags, [out, retval] IRDPSRAPIVirtualChannel **ppChannel); +} + +[object, uuid(c6bfcd38-8ce9-404d-8ae8-f31d00c65cb5), dual, pointer_default(unique)] +interface IRDPSRAPIViewer : IDispatch +{ + [id(DISPID_RDPSRAPI_METHOD_VIEWERCONNECT)] + HRESULT Connect([in] BSTR bstrConnectionString, [in] BSTR bstrName, [in] BSTR bstrPassword); + + [id(DISPID_RDPSRAPI_METHOD_VIEWERDISCONNECT)] + HRESULT Disconnect(); + + [propget, id(DISPID_RDPSRAPI_PROP_ATTENDEES)] + HRESULT Attendees([out, retval] IRDPSRAPIAttendeeManager **ppVal); + + [propget, id(DISPID_RDPSRAPI_PROP_INVITATIONS)] + HRESULT Invitations([out, retval] IRDPSRAPIInvitationManager **ppVal); + + [propget, id(DISPID_RDPSRAPI_PROP_APPLICATION_FILTER)] + HRESULT ApplicationFilter([out, retval] IRDPSRAPIApplicationFilter **ppVal); + + [propget, id(DISPID_RDPSRAPI_PROP_CHANNELMANAGER)] + HRESULT VirtualChannelManager([out, retval] IRDPSRAPIVirtualChannelManager **ppVal); + + [propput, id(DISPID_RDPSRAPI_PROP_USESMARTSIZING)] + HRESULT SmartSizing([in] VARIANT_BOOL vbSmartSizing); + + [propget, id(DISPID_RDPSRAPI_PROP_USESMARTSIZING)] + HRESULT SmartSizing([out, retval] VARIANT_BOOL *pvbSmartSizing); + + [id(DISPID_RDPSRAPI_METHOD_REQUEST_CONTROL)] + HRESULT RequestControl([in] CTRL_LEVEL CtrlLevel); + + [propput, id(DISPID_RDPSRAPI_PROP_DISCONNECTED_STRING)] + HRESULT DisconnectedText([in] BSTR bstrDisconnectedText); + + [propget, id(DISPID_RDPSRAPI_PROP_DISCONNECTED_STRING)] + HRESULT DisconnectedText([out, retval] BSTR *pbstrDisconnectedText); + + [id(DISPID_RDPSRAPI_METHOD_REQUEST_COLOR_DEPTH_CHANGE)] + HRESULT RequestColorDepthChange([in] long Bpp); + + [propget, id(DISPID_RDPSRAPI_PROP_SESSION_PROPERTIES)] + HRESULT Properties([out, retval] IRDPSRAPISessionProperties **ppVal); + + [id(DISPID_RDPSRAPI_METHOD_STARTREVCONNECTLISTENER)] + HRESULT StartReverseConnectListener([in] BSTR bstrConnectionString, [in] BSTR bstrUserName, [in] BSTR bstrPassword, [out, retval] BSTR *pbstrReverseConnectString); +} + +[object, uuid(56bfce32-83e9-414d-82e8-f31d01c62cb5), pointer_default(unique)] +interface IRDPViewerRenderingSurface : IUnknown +{ + [id(DISPID_RDPSRAPI_METHOD_SET_RENDERING_SURFACE)] + HRESULT SetRenderingSurface([in] IUnknown *pRenderingSurface, [in] long surfaceWidth, [in] long surfaceHeight); +} + +[object, uuid(bb590853-a6c5-4a7b-8dd4-76b69eea12d5), pointer_default(unique)] +interface IRDPViewerInputSink : IUnknown +{ + [id(DISPID_RDPSRAPI_METHOD_SEND_MOUSE_BUTTON_EVENT)] + HRESULT SendMouseButtonEvent([in] RDPSRAPI_MOUSE_BUTTON_TYPE buttonType, [in] VARIANT_BOOL vbButtonDown, [in] ULONG xPos, [in] ULONG yPos); + + [id(DISPID_RDPSRAPI_METHOD_SEND_MOUSE_MOVE_EVENT)] + HRESULT SendMouseMoveEvent([in] ULONG xPos, [in] ULONG yPos); + + [id(DISPID_RDPSRAPI_METHOD_SEND_MOUSE_WHEEL_EVENT)] + HRESULT SendMouseWheelEvent([in] UINT16 wheelRotation); + + [id(DISPID_RDPSRAPI_METHOD_SEND_KEYBOARD_EVENT)] + HRESULT SendKeyboardEvent([in] RDPSRAPI_KBD_CODE_TYPE codeType, [in] UINT16 keycode, [in] VARIANT_BOOL vbKeyUp, [in] VARIANT_BOOL vbRepeat, [in] VARIANT_BOOL vbExtended); + + [id(DISPID_RDPSRAPI_METHOD_SEND_SYNC_EVENT)] + HRESULT SendSyncEvent([in] ULONG syncFlags); + + [id(DISPID_RDPSRAPI_METHOD_BEGIN_TOUCH_FRAME)] + HRESULT BeginTouchFrame(void); + + [id(DISPID_RDPSRAPI_METHOD_ADD_TOUCH_INPUT)] + HRESULT AddTouchInput([in] UINT32 contactId, [in] UINT32 evnt, [in] INT32 x, [in] INT32 y); + + [id(DISPID_RDPSRAPI_METHOD_END_TOUCH_FRAME)] + HRESULT EndTouchFrame(void); +} + +[object, uuid(3d67e7d2-b27b-448e-81b3-c6110ed8b4be), dual, pointer_default(unique)] +interface IRDPSRAPIFrameBuffer : IDispatch +{ + [propget, id(DISPID_RDPSRAPI_PROP_FRAMEBUFFER_WIDTH)] + HRESULT Width([out, retval] long *plWidth); + + [propget, id(DISPID_RDPSRAPI_PROP_FRAMEBUFFER_HEIGHT)] + HRESULT Height([out, retval] long *plHeight); + + [propget, id(DISPID_RDPSRAPI_PROP_FRAMEBUFFER_BPP)] + HRESULT Bpp([out, retval] long *plBpp); + + [id(DISPID_RDPSRAPI_METHOD_GETFRAMEBUFFERBITS)] + HRESULT GetFrameBufferBits([in] long x, [in] long y, [in] long Width, [in] long Heigth, [out, retval] SAFEARRAY(BYTE) *ppBits); +} + +[object, uuid(81c80290-5085-44b0-b460-f865c39cb4a9), pointer_default(unique)] +interface IRDPSRAPITransportStreamBuffer : IUnknown +{ + [propget, id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_STORAGE)] + HRESULT Storage([out, retval] BYTE **ppbStorage); + + [propget, id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_STORESIZE)] + HRESULT StorageSize([out, retval] long *plMaxStore); + + [propget, id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_PAYLOADSIZE)] + HRESULT PayloadSize([out, retval] long *plRetVal); + + [propput, id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_PAYLOADSIZE)] + HRESULT PayloadSize([in] long lVal); + + [propget, id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_PAYLOADOFFSET)] + HRESULT PayloadOffset([out, retval] long *plRetVal); + + [propput, id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_PAYLOADOFFSET)] + HRESULT PayloadOffset([in] long lRetVal); + + [propget, id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_FLAGS)] + HRESULT Flags([out, retval] long *plFlags); + + [propput, id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_FLAGS)] + HRESULT Flags([in] long lFlags); + + [propget, id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_CONTEXT)] + HRESULT Context([out, retval] IUnknown **ppContext); + + [propput, id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_CONTEXT)] + HRESULT Context([in] IUnknown *pContext); +} + +[object, uuid(ea81c254-f5af-4e40-982e-3e63bb595276), local, pointer_default(unique)] +interface IRDPSRAPITransportStreamEvents : IUnknown +{ + [id(DISPID_RDPSRAPI_EVENT_ON_STREAM_SENDCOMPLETED)] + void OnWriteCompleted([in] IRDPSRAPITransportStreamBuffer *pBuffer); + + [id(DISPID_RDPSRAPI_EVENT_ON_STREAM_DATARECEIVED)] + void OnReadCompleted([in] IRDPSRAPITransportStreamBuffer *pBuffer); + + [id(DISPID_RDPSRAPI_EVENT_ON_STREAM_CLOSED)] + void OnStreamClosed([in] HRESULT hrReason); +} + +[object, uuid(36cfa065-43bb-4ef7-aed7-9b88a5053036), pointer_default(unique)] +interface IRDPSRAPITransportStream : IUnknown +{ + [id(DISPID_RDPSRAPI_METHOD_STREAM_ALLOCBUFFER)] + HRESULT AllocBuffer([in] long maxPayload, [out, retval] IRDPSRAPITransportStreamBuffer **ppBuffer); + + [id(DISPID_RDPSRAPI_METHOD_STREAM_FREEBUFFER)] + HRESULT FreeBuffer([in] IRDPSRAPITransportStreamBuffer *pBuffer); + + [id(DISPID_RDPSRAPI_METHOD_STREAMSENDDATA)] + HRESULT WriteBuffer([in] IRDPSRAPITransportStreamBuffer *pBuffer); + + [id(DISPID_RDPSRAPI_METHOD_STREAMREADDATA)] + HRESULT ReadBuffer([in] IRDPSRAPITransportStreamBuffer *pBuffer); + + [id(DISPID_RDPSRAPI_METHOD_STREAMOPEN)] + HRESULT Open([in] IRDPSRAPITransportStreamEvents *pCallbacks); + + [id(DISPID_RDPSRAPI_METHOD_STREAMCLOSE)] + HRESULT Close(void); +} + +[object, uuid(eeb20886-e470-4cf6-842b-2739c0ec5cfb), dual, pointer_default(unique)] +interface IRDPSRAPISharingSession : IDispatch +{ + [id(DISPID_RDPSRAPI_METHOD_OPEN)] + HRESULT Open(void); + + [id(DISPID_RDPSRAPI_METHOD_CLOSE)] + HRESULT Close(void); + + [propput, id(DISPID_RDPSRAPI_PROP_SESSION_COLORDEPTH)] + HRESULT ColorDepth([in] long colorDepth); + + [propget, id(DISPID_RDPSRAPI_PROP_SESSION_COLORDEPTH)] + HRESULT ColorDepth([out, retval] long *pColorDepth); + + [propget, id(DISPID_RDPSRAPI_PROP_SESSION_PROPERTIES)] + HRESULT Properties([out, retval] IRDPSRAPISessionProperties **ppVal); + + [propget, id(DISPID_RDPSRAPI_PROP_ATTENDEES)] + HRESULT Attendees([out, retval] IRDPSRAPIAttendeeManager **ppVal); + + [propget, id(DISPID_RDPSRAPI_PROP_INVITATIONS)] + HRESULT Invitations([out, retval] IRDPSRAPIInvitationManager **ppVal); + + [propget, id(DISPID_RDPSRAPI_PROP_APPLICATION_FILTER)] + HRESULT ApplicationFilter([out, retval] IRDPSRAPIApplicationFilter **ppVal); + + [propget, id(DISPID_RDPSRAPI_PROP_CHANNELMANAGER)] + HRESULT VirtualChannelManager([out, retval] IRDPSRAPIVirtualChannelManager **ppVal); + + [id(DISPID_RDPSRAPI_METHOD_PAUSE)] + HRESULT Pause(void); + + [id(DISPID_RDPSRAPI_METHOD_RESUME)] + HRESULT Resume(void); + + [id(DISPID_RDPSRAPI_METHOD_CONNECTTOCLIENT)] + HRESULT ConnectToClient([in] BSTR bstrConnectionString); + + [id(DISPID_RDPSRAPI_METHOD_SETSHAREDRECT)] + HRESULT SetDesktopSharedRect([in] long left, [in] long top, [in] long right, [in] long bottom); + + [id(DISPID_RDPSRAPI_METHOD_GETSHAREDRECT)] + HRESULT GetDesktopSharedRect([out] long *pleft, [out] long *ptop, [out] long *pright, [out] long *pbottom); +} + +[object, uuid(fee4ee57-e3e8-4205-8fb0-8fd1d0675c21), dual, pointer_default(unique)] +interface IRDPSRAPISharingSession2 : IRDPSRAPISharingSession +{ + [id(DISPID_RDPSRAPI_METHOD_CONNECTUSINGTRANSPORTSTREAM)] + HRESULT ConnectUsingTransportStream([in] IRDPSRAPITransportStream *pStream, [in] BSTR bstrGroup, [in] BSTR bstrAuthenticatedAttendeeName); + + [propget, id(DISPID_RDPSRAPI_PROP_FRAMEBUFFER)] + HRESULT FrameBuffer([out, retval] IRDPSRAPIFrameBuffer **ppVal); + + [id(DISPID_RDPSRAPI_METHOD_SENDCONTROLLEVELCHANGERESPONSE)] + HRESULT SendControlLevelChangeResponse([in] IRDPSRAPIAttendee *pAttendee, [in] CTRL_LEVEL RequestedLevel, [in] long ReasonCode); +} + +[uuid(cc802d05-ae07-4c15-b496-db9d22aa0a84), version(1.0)] +library RDPCOMAPILib +{ + importlib("stdole32.tlb"); + importlib("stdole2.tlb"); + + typedef enum + { + CONST_MAX_CHANNEL_MESSAGE_SIZE = 1024, + CONST_MAX_CHANNEL_NAME_LEN = 8, + CONST_MAX_LEGACY_CHANNEL_MESSAGE_SIZE = 409600, + CONST_ATTENDEE_ID_EVERYONE = -1, + CONST_ATTENDEE_ID_HOST = 0, + CONST_CONN_INTERVAL = 50, + CONST_ATTENDEE_ID_DEFAULT = 0xffffffff + } RDPENCOMAPI_CONSTANTS; + + [uuid(98a97042-6698-40e9-8efd-b3200990004b)] + dispinterface _IRDPSessionEvents + { + properties: + methods: + + [id(DISPID_RDPSRAPI_EVENT_ON_ATTENDEE_CONNECTED)] + void OnAttendeeConnected([in] IDispatch *pAttendee); + + [id(DISPID_RDPSRAPI_EVENT_ON_ATTENDEE_DISCONNECTED)] + void OnAttendeeDisconnected([in] IDispatch *pDisconnectInfo); + + [id(DISPID_RDPSRAPI_EVENT_ON_ATTENDEE_UPDATE)] + void OnAttendeeUpdate([in] IDispatch *pAttendee); + + [id(DISPID_RDPSRAPI_EVENT_ON_VIEWER_CONNECTED)] + void OnConnectionEstablished(void); + + [id(DISPID_RDPSRAPI_EVENT_ON_VIEWER_CONNECTFAILED)] + void OnConnectionFailed(void); + + [id(DISPID_RDPSRAPI_EVENT_ON_VIEWER_DISCONNECTED)] + void OnConnectionTerminated([in] long discReason, [in] long ExtendedInfo); + + [id(DISPID_RDPSRAPI_EVENT_ON_VIEWER_AUTHENTICATED)] + void OnConnectionAuthenticated(void); + + [id(DISPID_RDPSRAPI_EVENT_ON_ERROR)] + void OnError([in] VARIANT ErrorInfo); + + [id(DISPID_RDPSRAPI_EVENT_ON_APPLICATION_OPEN)] + void OnApplicationOpen([in] IDispatch *pApplication); + + [id(DISPID_RDPSRAPI_EVENT_ON_APPLICATION_CLOSE)] + void OnApplicationClose([in] IDispatch *pApplication); + + [id(DISPID_RDPSRAPI_EVENT_ON_APPLICATION_UPDATE)] + void OnApplicationUpdate([in] IDispatch *pApplication); + + [id(DISPID_RDPSRAPI_EVENT_ON_WINDOW_OPEN)] + void OnWindowOpen([in] IDispatch *pWindow); + + [id(DISPID_RDPSRAPI_EVENT_ON_WINDOW_CLOSE)] + void OnWindowClose([in] IDispatch *pWindow); + + [id(DISPID_RDPSRAPI_EVENT_ON_WINDOW_UPDATE)] + void OnWindowUpdate([in] IDispatch *pWindow); + + [id(DISPID_RDPSRAPI_EVENT_ON_CTRLLEVEL_CHANGE_REQUEST)] + void OnControlLevelChangeRequest([in] IDispatch *pAttendee, [in] CTRL_LEVEL RequestedLevel); + + [id(DISPID_RDPSRAPI_EVENT_ON_GRAPHICS_STREAM_PAUSED)] + void OnGraphicsStreamPaused(void); + + [id(DISPID_RDPSRAPI_EVENT_ON_GRAPHICS_STREAM_RESUMED)] + void OnGraphicsStreamResumed(void); + + [id(DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_DATARECEIVED)] + void OnChannelDataReceived([in] IUnknown *pChannel, [in] long lAttendeeId, [in] BSTR bstrData); + + [id(DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_SENDCOMPLETED)] + void OnChannelDataSent([in] IUnknown *pChannel, [in] long lAttendeeId, [in] long BytesSent); + + [id(DISPID_RDPSRAPI_EVENT_ON_SHARED_RECT_CHANGED)] + void OnSharedRectChanged([in] long left, [in] long top, [in] long right, [in] long bottom); + + [id(DISPID_RDPSRAPI_EVENT_ON_FOCUSRELEASED)] + void OnFocusReleased([in] int iDirection); + + [id(DISPID_RDPSRAPI_EVENT_ON_SHARED_DESKTOP_SETTINGS_CHANGED)] + void OnSharedDesktopSettingsChanged([in] long width, [in] long height, [in] long colordepth); + + [id(DISPID_RDPAPI_EVENT_ON_BOUNDING_RECT_CHANGED)] + void OnViewingSizeChanged([in] long left, [in] long top, [in] long right, [in] long bottom); + + [id(DISPID_RDPSRAPI_EVENT_ON_CTRLLEVEL_CHANGE_RESPONSE)] + void OnControlLevelChangeResponse([in] IDispatch *pAttendee, [in] CTRL_LEVEL RequestedLevel, [in] long ReasonCode); + + [id(DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_JOIN)] + void OnChannelBound([in] IUnknown *pChannel, [in] long lAttendeeId); + + }; + + [hidden] + typedef struct __ReferenceRemainingTypes__ + { + CTRL_LEVEL __ctrlLevel__; + ATTENDEE_DISCONNECT_REASON __attendeeDisconnectReason__; + CHANNEL_PRIORITY __channelPriority__; + CHANNEL_FLAGS __channelFlags__; + CHANNEL_ACCESS_ENUM __channelAccessEnum__; + RDPENCOMAPI_ATTENDEE_FLAGS __rdpencomapiAttendeeFlags__; + RDPSRAPI_WND_FLAGS __rdpsrapiWndFlags__; + RDPSRAPI_APP_FLAGS __rdpsrapiAppFlags__; + } __ReferenceRemainingTypes__; + + interface IRDPViewerRenderingSurface; + interface IRDPViewerInputSink; + interface IRDPSRAPIAudioStream; + interface IRDPSRAPIPerfCounterLoggingManager; + + [uuid(32be5ed2-5c86-480f-a914-0ff8885a1b3f)] + coclass RDPViewer + { + [default] interface IRDPSRAPIViewer; + [default, source] dispinterface _IRDPSessionEvents; + }; + + [uuid(dd7594ff-ea2a-4c06-8fdf-132de48b6510), noncreatable] + coclass RDPSRAPISessionProperties + { + [default] interface IRDPSRAPISessionProperties; + }; + + [uuid(53d9c9db-75ab-4271-948a-4c4eb36a8f2b), noncreatable] + coclass RDPSRAPIInvitationManager + { + [default] interface IRDPSRAPIInvitationManager; + }; + + [uuid(49174dc6-0731-4b5e-8ee1-83a63d3868fa), noncreatable] + coclass RDPSRAPIInvitation + { + [default] interface IRDPSRAPIInvitation; + }; + + [uuid(d7b13a01-f7d4-42a6-8595-12fc8c24e851), noncreatable] + coclass RDPSRAPIAttendeeManager + { + [default] interface IRDPSRAPIAttendeeManager; + }; + + [uuid(74f93bb5-755f-488e-8a29-2390108aef55), noncreatable] + coclass RDPSRAPIAttendee + { + [default] interface IRDPSRAPIAttendee; + }; + + [uuid(b47d7250-5bdb-405d-b487-caad9c56f4f8), noncreatable] + coclass RDPSRAPIAttendeeDisconnectInfo + { + [default] interface IRDPSRAPIAttendeeDisconnectInfo; + }; + + [uuid(e35ace89-c7e8-427e-a4f9-b9da072826bd), noncreatable] + coclass RDPSRAPIApplicationFilter + { + [default] interface IRDPSRAPIApplicationFilter; + }; + + [uuid(9e31c815-7433-4876-97fb-ed59fe2baa22), noncreatable] + coclass RDPSRAPIApplicationList + { + [default] interface IRDPSRAPIApplicationList; + }; + + [uuid(c116a484-4b25-4b9f-8a54-b934b06e57fa), noncreatable] + coclass RDPSRAPIApplication + { + [default] interface IRDPSRAPIApplication; + }; + + [uuid(9c21e2b8-5dd4-42cc-81ba-1c099852e6fa), noncreatable] + coclass RDPSRAPIWindowList + { + [default] interface IRDPSRAPIWindowList; + }; + + [uuid(03cf46db-ce45-4d36-86ed-ed28b74398bf), noncreatable] + coclass RDPSRAPIWindow + { + [default] interface IRDPSRAPIWindow; + }; + + [uuid(be49db3f-ebb6-4278-8ce0-d5455833eaee), noncreatable] + coclass RDPSRAPITcpConnectionInfo + { + [default] interface IRDPSRAPITcpConnectionInfo; + }; + + [uuid(9b78f0e6-3e05-4a5b-b2e8-e743a8956b65)] + coclass RDPSession + { + interface IRDPSRAPISharingSession; + [default] interface IRDPSRAPISharingSession2; + [default, source] dispinterface _IRDPSessionEvents; + }; + + [uuid(a4f66bcc-538e-4101-951d-30847adb5101), noncreatable] + coclass RDPSRAPIFrameBuffer + { + [default] interface IRDPSRAPIFrameBuffer; + }; + + [uuid(8d4a1c69-f17f-4549-a699-761c6e6b5c0a), noncreatable] + coclass RDPTransportStreamBuffer + { + [default] interface IRDPSRAPITransportStreamBuffer; + }; + + [uuid(31e3ab20-5350-483f-9dc6-6748665efdeb), noncreatable] + coclass RDPTransportStreamEvents + { + [default] interface IRDPSRAPITransportStreamEvents; + }; +} + +cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */") -- 2.31.1
_______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public