| 1 | /** | 
 
 
 
 
 | 2 | * This file has no copyright assigned and is placed in the Public Domain. | 
 
 
 
 
 | 3 | * This file is part of the mingw-w64 runtime package. | 
 
 
 
 
 | 4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 
 
 
 
 
 | 5 | */ | 
 
 
 
 
 | 6 |  | 
 
 
 
 
 | 7 | import "oaidl.idl"; | 
 
 
 
 
 | 8 | import "ocidl.idl"; | 
 
 
 
 
 | 9 |  | 
 
 
 
 
 | 10 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") | 
 
 
 
 
 | 11 |  | 
 
 
 
 
 | 12 | const int DISPID_RDPSRAPI_METHOD_OPEN = 100; | 
 
 
 
 
 | 13 | const int DISPID_RDPSRAPI_METHOD_CLOSE = 101; | 
 
 
 
 
 | 14 | const int DISPID_RDPSRAPI_METHOD_SETSHAREDRECT = 102; | 
 
 
 
 
 | 15 | const int DISPID_RDPSRAPI_METHOD_GETSHAREDRECT = 103; | 
 
 
 
 
 | 16 | const int DISPID_RDPSRAPI_METHOD_VIEWERCONNECT = 104; | 
 
 
 
 
 | 17 | const int DISPID_RDPSRAPI_METHOD_VIEWERDISCONNECT = 105; | 
 
 
 
 
 | 18 | const int DISPID_RDPSRAPI_METHOD_TERMINATE_CONNECTION = 106; | 
 
 
 
 
 | 19 | const int DISPID_RDPSRAPI_METHOD_CREATE_INVITATION = 107; | 
 
 
 
 
 | 20 | const int DISPID_RDPSRAPI_METHOD_REQUEST_CONTROL = 108; | 
 
 
 
 
 | 21 | const int DISPID_RDPSRAPI_METHOD_VIRTUAL_CHANNEL_CREATE = 109; | 
 
 
 
 
 | 22 | const int DISPID_RDPSRAPI_METHOD_VIRTUAL_CHANNEL_SEND_DATA = 110; | 
 
 
 
 
 | 23 | const int DISPID_RDPSRAPI_METHOD_VIRTUAL_CHANNEL_SET_ACCESS = 111; | 
 
 
 
 
 | 24 | const int DISPID_RDPSRAPI_METHOD_PAUSE = 112; | 
 
 
 
 
 | 25 | const int DISPID_RDPSRAPI_METHOD_RESUME = 113; | 
 
 
 
 
 | 26 | const int DISPID_RDPSRAPI_METHOD_SHOW_WINDOW = 114; | 
 
 
 
 
 | 27 | const int DISPID_RDPSRAPI_METHOD_REQUEST_COLOR_DEPTH_CHANGE = 115; | 
 
 
 
 
 | 28 | const int DISPID_RDPSRAPI_METHOD_STARTREVCONNECTLISTENER = 116; | 
 
 
 
 
 | 29 | const int DISPID_RDPSRAPI_METHOD_CONNECTTOCLIENT = 117; | 
 
 
 
 
 | 30 | const int DISPID_RDPSRAPI_METHOD_SET_RENDERING_SURFACE = 118; | 
 
 
 
 
 | 31 | const int DISPID_RDPSRAPI_METHOD_SEND_MOUSE_BUTTON_EVENT = 119; | 
 
 
 
 
 | 32 | const int DISPID_RDPSRAPI_METHOD_SEND_MOUSE_MOVE_EVENT = 120; | 
 
 
 
 
 | 33 | const int DISPID_RDPSRAPI_METHOD_SEND_MOUSE_WHEEL_EVENT = 121; | 
 
 
 
 
 | 34 | const int DISPID_RDPSRAPI_METHOD_SEND_KEYBOARD_EVENT = 122; | 
 
 
 
 
 | 35 | const int DISPID_RDPSRAPI_METHOD_SEND_SYNC_EVENT = 123; | 
 
 
 
 
 | 36 | const int DISPID_RDPSRAPI_METHOD_BEGIN_TOUCH_FRAME = 124; | 
 
 
 
 
 | 37 | const int DISPID_RDPSRAPI_METHOD_ADD_TOUCH_INPUT = 125; | 
 
 
 
 
 | 38 | const int DISPID_RDPSRAPI_METHOD_END_TOUCH_FRAME = 126; | 
 
 
 
 
 | 39 | const int DISPID_RDPSRAPI_METHOD_CONNECTUSINGTRANSPORTSTREAM = 127; | 
 
 
 
 
 | 40 | const int DISPID_RDPSRAPI_METHOD_SENDCONTROLLEVELCHANGERESPONSE = 148; | 
 
 
 
 
 | 41 | const int DISPID_RDPSRAPI_METHOD_GETFRAMEBUFFERBITS = 149; | 
 
 
 
 
 | 42 |  | 
 
 
 
 
 | 43 | const int DISPID_RDPSRAPI_PROP_DISPIDVALUE = 200; | 
 
 
 
 
 | 44 | const int DISPID_RDPSRAPI_PROP_ID = 201; | 
 
 
 
 
 | 45 | const int DISPID_RDPSRAPI_PROP_SESSION_PROPERTIES = 202; | 
 
 
 
 
 | 46 | const int DISPID_RDPSRAPI_PROP_ATTENDEES = 203; | 
 
 
 
 
 | 47 | const int DISPID_RDPSRAPI_PROP_INVITATIONS = 204; | 
 
 
 
 
 | 48 | const int DISPID_RDPSRAPI_PROP_INVITATION = 205; | 
 
 
 
 
 | 49 | const int DISPID_RDPSRAPI_PROP_CHANNELMANAGER = 206; | 
 
 
 
 
 | 50 | const int DISPID_RDPSRAPI_PROP_VIRTUAL_CHANNEL_GETNAME = 207; | 
 
 
 
 
 | 51 | const int DISPID_RDPSRAPI_PROP_VIRTUAL_CHANNEL_GETFLAGS = 208; | 
 
 
 
 
 | 52 | const int DISPID_RDPSRAPI_PROP_VIRTUAL_CHANNEL_GETPRIORITY = 209; | 
 
 
 
 
 | 53 | const int DISPID_RDPSRAPI_PROP_WINDOWID = 210; | 
 
 
 
 
 | 54 | const int DISPID_RDPSRAPI_PROP_APPLICATION = 211; | 
 
 
 
 
 | 55 | const int DISPID_RDPSRAPI_PROP_WINDOWSHARED = 212; | 
 
 
 
 
 | 56 | const int DISPID_RDPSRAPI_PROP_WINDOWNAME = 213; | 
 
 
 
 
 | 57 | const int DISPID_RDPSRAPI_PROP_APPNAME = 214; | 
 
 
 
 
 | 58 | const int DISPID_RDPSRAPI_PROP_APPLICATION_FILTER = 215; | 
 
 
 
 
 | 59 | const int DISPID_RDPSRAPI_PROP_WINDOW_LIST = 216; | 
 
 
 
 
 | 60 | const int DISPID_RDPSRAPI_PROP_APPLICATION_LIST = 217; | 
 
 
 
 
 | 61 | const int DISPID_RDPSRAPI_PROP_APPFILTER_ENABLED = 218; | 
 
 
 
 
 | 62 | const int DISPID_RDPSRAPI_PROP_APPFILTERENABLED = 219; | 
 
 
 
 
 | 63 | const int DISPID_RDPSRAPI_PROP_SHARED = 220; | 
 
 
 
 
 | 64 | const int DISPID_RDPSRAPI_PROP_INVITATIONITEM = 221; | 
 
 
 
 
 | 65 | const int DISPID_RDPSRAPI_PROP_DBG_CLX_CMDLINE = 222; | 
 
 
 
 
 | 66 | const int DISPID_RDPSRAPI_PROP_APPFLAGS = 223; | 
 
 
 
 
 | 67 | const int DISPID_RDPSRAPI_PROP_WNDFLAGS = 224; | 
 
 
 
 
 | 68 | const int DISPID_RDPSRAPI_PROP_PROTOCOL_TYPE = 225; | 
 
 
 
 
 | 69 | const int DISPID_RDPSRAPI_PROP_LOCAL_PORT = 226; | 
 
 
 
 
 | 70 | const int DISPID_RDPSRAPI_PROP_LOCAL_IP = 227; | 
 
 
 
 
 | 71 | const int DISPID_RDPSRAPI_PROP_PEER_PORT = 228; | 
 
 
 
 
 | 72 | const int DISPID_RDPSRAPI_PROP_PEER_IP = 229; | 
 
 
 
 
 | 73 | const int DISPID_RDPSRAPI_PROP_ATTENDEE_FLAGS = 230; | 
 
 
 
 
 | 74 | const int DISPID_RDPSRAPI_PROP_CONINFO = 231; | 
 
 
 
 
 | 75 | const int DISPID_RDPSRAPI_PROP_CONNECTION_STRING = 232; | 
 
 
 
 
 | 76 | const int DISPID_RDPSRAPI_PROP_GROUP_NAME = 233; | 
 
 
 
 
 | 77 | const int DISPID_RDPSRAPI_PROP_PASSWORD = 234; | 
 
 
 
 
 | 78 | const int DISPID_RDPSRAPI_PROP_ATTENDEELIMIT = 235; | 
 
 
 
 
 | 79 | const int DISPID_RDPSRAPI_PROP_REVOKED = 236; | 
 
 
 
 
 | 80 | const int DISPID_RDPSRAPI_PROP_DISCONNECTED_STRING = 237; | 
 
 
 
 
 | 81 | const int DISPID_RDPSRAPI_PROP_USESMARTSIZING = 238; | 
 
 
 
 
 | 82 | const int DISPID_RDPSRAPI_PROP_SESSION_COLORDEPTH = 239; | 
 
 
 
 
 | 83 | const int DISPID_RDPSRAPI_PROP_REASON = 240; | 
 
 
 
 
 | 84 | const int DISPID_RDPSRAPI_PROP_CODE = 241; | 
 
 
 
 
 | 85 | const int DISPID_RDPSRAPI_PROP_CTRL_LEVEL = 242; | 
 
 
 
 
 | 86 | const int DISPID_RDPSRAPI_PROP_REMOTENAME = 243; | 
 
 
 
 
 | 87 | const int DISPID_RDPSRAPI_PROP_COUNT = 244; | 
 
 
 
 
 | 88 | const int DISPID_RDPSRAPI_PROP_FRAMEBUFFER_HEIGHT = 251; | 
 
 
 
 
 | 89 | const int DISPID_RDPSRAPI_PROP_FRAMEBUFFER_WIDTH = 252; | 
 
 
 
 
 | 90 | const int DISPID_RDPSRAPI_PROP_FRAMEBUFFER_BPP = 253; | 
 
 
 
 
 | 91 | const int DISPID_RDPSRAPI_PROP_FRAMEBUFFER = 254; | 
 
 
 
 
 | 92 |  | 
 
 
 
 
 | 93 | const int DISPID_RDPSRAPI_EVENT_ON_ATTENDEE_CONNECTED = 301; | 
 
 
 
 
 | 94 | const int DISPID_RDPSRAPI_EVENT_ON_ATTENDEE_DISCONNECTED = 302; | 
 
 
 
 
 | 95 | const int DISPID_RDPSRAPI_EVENT_ON_ATTENDEE_UPDATE = 303; | 
 
 
 
 
 | 96 | const int DISPID_RDPSRAPI_EVENT_ON_ERROR = 304; | 
 
 
 
 
 | 97 | const int DISPID_RDPSRAPI_EVENT_ON_VIEWER_CONNECTED = 305; | 
 
 
 
 
 | 98 | const int DISPID_RDPSRAPI_EVENT_ON_VIEWER_DISCONNECTED = 306; | 
 
 
 
 
 | 99 | const int DISPID_RDPSRAPI_EVENT_ON_VIEWER_AUTHENTICATED = 307; | 
 
 
 
 
 | 100 | const int DISPID_RDPSRAPI_EVENT_ON_VIEWER_CONNECTFAILED = 308; | 
 
 
 
 
 | 101 | const int DISPID_RDPSRAPI_EVENT_ON_CTRLLEVEL_CHANGE_REQUEST = 309; | 
 
 
 
 
 | 102 | const int DISPID_RDPSRAPI_EVENT_ON_GRAPHICS_STREAM_PAUSED = 310; | 
 
 
 
 
 | 103 | const int DISPID_RDPSRAPI_EVENT_ON_GRAPHICS_STREAM_RESUMED = 311; | 
 
 
 
 
 | 104 | const int DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_JOIN = 312; | 
 
 
 
 
 | 105 | const int DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_LEAVE = 313; | 
 
 
 
 
 | 106 | const int DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_DATARECEIVED = 314; | 
 
 
 
 
 | 107 | const int DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_SENDCOMPLETED = 315; | 
 
 
 
 
 | 108 | const int DISPID_RDPSRAPI_EVENT_ON_APPLICATION_OPEN = 316; | 
 
 
 
 
 | 109 | const int DISPID_RDPSRAPI_EVENT_ON_APPLICATION_CLOSE = 317; | 
 
 
 
 
 | 110 | const int DISPID_RDPSRAPI_EVENT_ON_APPLICATION_UPDATE = 318; | 
 
 
 
 
 | 111 | const int DISPID_RDPSRAPI_EVENT_ON_WINDOW_OPEN = 319; | 
 
 
 
 
 | 112 | const int DISPID_RDPSRAPI_EVENT_ON_WINDOW_CLOSE = 320; | 
 
 
 
 
 | 113 | const int DISPID_RDPSRAPI_EVENT_ON_WINDOW_UPDATE = 321; | 
 
 
 
 
 | 114 | const int DISPID_RDPSRAPI_EVENT_ON_APPFILTER_UPDATE = 322; | 
 
 
 
 
 | 115 | const int DISPID_RDPSRAPI_EVENT_ON_SHARED_RECT_CHANGED = 323; | 
 
 
 
 
 | 116 | const int DISPID_RDPSRAPI_EVENT_ON_FOCUSRELEASED = 324; | 
 
 
 
 
 | 117 | const int DISPID_RDPSRAPI_EVENT_ON_SHARED_DESKTOP_SETTINGS_CHANGED = 325; | 
 
 
 
 
 | 118 | const int DISPID_RDPSRAPI_EVENT_ON_CTRLLEVEL_CHANGE_RESPONSE = 338; | 
 
 
 
 
 | 119 |  | 
 
 
 
 
 | 120 | const int DISPID_RDPAPI_EVENT_ON_BOUNDING_RECT_CHANGED = 340; | 
 
 
 
 
 | 121 |  | 
 
 
 
 
 | 122 | const int DISPID_RDPSRAPI_METHOD_STREAM_ALLOCBUFFER = 421; | 
 
 
 
 
 | 123 | const int DISPID_RDPSRAPI_METHOD_STREAM_FREEBUFFER = 422; | 
 
 
 
 
 | 124 | const int DISPID_RDPSRAPI_METHOD_STREAMSENDDATA = 423; | 
 
 
 
 
 | 125 | const int DISPID_RDPSRAPI_METHOD_STREAMREADDATA = 424; | 
 
 
 
 
 | 126 | const int DISPID_RDPSRAPI_METHOD_STREAMOPEN = 425; | 
 
 
 
 
 | 127 | const int DISPID_RDPSRAPI_METHOD_STREAMCLOSE = 426; | 
 
 
 
 
 | 128 |  | 
 
 
 
 
 | 129 | const int DISPID_RDPSRAPI_PROP_STREAMBUFFER_STORAGE = 555; | 
 
 
 
 
 | 130 | const int DISPID_RDPSRAPI_PROP_STREAMBUFFER_PAYLOADSIZE = 558; | 
 
 
 
 
 | 131 | const int DISPID_RDPSRAPI_PROP_STREAMBUFFER_PAYLOADOFFSET = 559; | 
 
 
 
 
 | 132 | const int DISPID_RDPSRAPI_PROP_STREAMBUFFER_CONTEXT = 560; | 
 
 
 
 
 | 133 | const int DISPID_RDPSRAPI_PROP_STREAMBUFFER_FLAGS = 561; | 
 
 
 
 
 | 134 | const int DISPID_RDPSRAPI_PROP_STREAMBUFFER_STORESIZE = 562; | 
 
 
 
 
 | 135 |  | 
 
 
 
 
 | 136 | const int DISPID_RDPSRAPI_EVENT_ON_STREAM_SENDCOMPLETED = 632; | 
 
 
 
 
 | 137 | const int DISPID_RDPSRAPI_EVENT_ON_STREAM_DATARECEIVED = 633; | 
 
 
 
 
 | 138 | const int DISPID_RDPSRAPI_EVENT_ON_STREAM_CLOSED = 634; | 
 
 
 
 
 | 139 |  | 
 
 
 
 
 | 140 | const int DISPID_RDPSRAPI_EVENT_VIEW_MOUSE_BUTTON_RECEIVED = 700; | 
 
 
 
 
 | 141 | const int DISPID_RDPSRAPI_EVENT_VIEW_MOUSE_MOVE_RECEIVED = 701; | 
 
 
 
 
 | 142 | const int DISPID_RDPSRAPI_EVENT_VIEW_MOUSE_WHEEL_RECEIVED = 702; | 
 
 
 
 
 | 143 |  | 
 
 
 
 
 | 144 | typedef enum { | 
 
 
 
 
 | 145 | CTRL_LEVEL_MIN = 0, | 
 
 
 
 
 | 146 | CTRL_LEVEL_INVALID = 0, | 
 
 
 
 
 | 147 | CTRL_LEVEL_NONE = 1, | 
 
 
 
 
 | 148 | CTRL_LEVEL_VIEW = 2, | 
 
 
 
 
 | 149 | CTRL_LEVEL_INTERACTIVE = 3, | 
 
 
 
 
 | 150 | CTRL_LEVEL_REQCTRL_VIEW = 4, | 
 
 
 
 
 | 151 | CTRL_LEVEL_REQCTRL_INTERACTIVE = 5, | 
 
 
 
 
 | 152 | CTRL_LEVEL_MAX = 5 | 
 
 
 
 
 | 153 | } CTRL_LEVEL; | 
 
 
 
 
 | 154 |  | 
 
 
 
 
 | 155 | typedef enum { | 
 
 
 
 
 | 156 | ATTENDEE_DISCONNECT_REASON_MIN = 0, | 
 
 
 
 
 | 157 | ATTENDEE_DISCONNECT_REASON_APP = 0, | 
 
 
 
 
 | 158 | ATTENDEE_DISCONNECT_REASON_ERR = 1, | 
 
 
 
 
 | 159 | ATTENDEE_DISCONNECT_REASON_CLI = 2, | 
 
 
 
 
 | 160 | ATTENDEE_DISCONNECT_REASON_MAX = 2 | 
 
 
 
 
 | 161 | } ATTENDEE_DISCONNECT_REASON; | 
 
 
 
 
 | 162 |  | 
 
 
 
 
 | 163 | typedef enum { | 
 
 
 
 
 | 164 | CHANNEL_PRIORITY_LO, | 
 
 
 
 
 | 165 | CHANNEL_PRIORITY_MED, | 
 
 
 
 
 | 166 | CHANNEL_PRIORITY_HI | 
 
 
 
 
 | 167 | } CHANNEL_PRIORITY; | 
 
 
 
 
 | 168 |  | 
 
 
 
 
 | 169 | typedef enum { | 
 
 
 
 
 | 170 | CHANNEL_FLAGS_LEGACY = 0x01, | 
 
 
 
 
 | 171 | CHANNEL_FLAGS_UNCOMPRESSED = 0x02, | 
 
 
 
 
 | 172 | CHANNEL_FLAGS_DYNAMIC = 0x04 | 
 
 
 
 
 | 173 | } CHANNEL_FLAGS; | 
 
 
 
 
 | 174 |  | 
 
 
 
 
 | 175 | typedef enum { | 
 
 
 
 
 | 176 | CHANNEL_ACCESS_ENUM_NONE, | 
 
 
 
 
 | 177 | CHANNEL_ACCESS_ENUM_SENDRECEIVE | 
 
 
 
 
 | 178 | } CHANNEL_ACCESS_ENUM; | 
 
 
 
 
 | 179 |  | 
 
 
 
 
 | 180 | typedef enum { | 
 
 
 
 
 | 181 | ATTENDEE_FLAGS_LOCAL = 1 | 
 
 
 
 
 | 182 | } RDPENCOMAPI_ATTENDEE_FLAGS; | 
 
 
 
 
 | 183 |  | 
 
 
 
 
 | 184 | typedef enum { | 
 
 
 
 
 | 185 | WND_FLAG_PRIVILEGED = 1 | 
 
 
 
 
 | 186 | } RDPSRAPI_WND_FLAGS; | 
 
 
 
 
 | 187 |  | 
 
 
 
 
 | 188 | typedef enum { | 
 
 
 
 
 | 189 | APP_FLAG_PRIVILEGED = 1 | 
 
 
 
 
 | 190 | } RDPSRAPI_APP_FLAGS; | 
 
 
 
 
 | 191 |  | 
 
 
 
 
 | 192 | typedef enum { | 
 
 
 
 
 | 193 | RDPSRAPI_MOUSE_BUTTON_BUTTON1 = 0, | 
 
 
 
 
 | 194 | RDPSRAPI_MOUSE_BUTTON_BUTTON2 = 1, | 
 
 
 
 
 | 195 | RDPSRAPI_MOUSE_BUTTON_BUTTON3 = 2, | 
 
 
 
 
 | 196 | RDPSRAPI_MOUSE_BUTTON_XBUTTON1 = 3, | 
 
 
 
 
 | 197 | RDPSRAPI_MOUSE_BUTTON_XBUTTON2 = 4, | 
 
 
 
 
 | 198 | RDPSRAPI_MOUSE_BUTTON_XBUTTON3 = 5 | 
 
 
 
 
 | 199 | } RDPSRAPI_MOUSE_BUTTON_TYPE; | 
 
 
 
 
 | 200 |  | 
 
 
 
 
 | 201 | typedef enum { | 
 
 
 
 
 | 202 | RDPSRAPI_KBD_CODE_SCANCODE = 0, | 
 
 
 
 
 | 203 | RDPSRAPI_KBD_CODE_UNICODE  = 1 | 
 
 
 
 
 | 204 | } RDPSRAPI_KBD_CODE_TYPE; | 
 
 
 
 
 | 205 |  | 
 
 
 
 
 | 206 | typedef enum { | 
 
 
 
 
 | 207 | RDPSRAPI_KBD_SYNC_FLAG_SCROLL_LOCK = 1, | 
 
 
 
 
 | 208 | RDPSRAPI_KBD_SYNC_FLAG_NUM_LOCK = 2, | 
 
 
 
 
 | 209 | RDPSRAPI_KBD_SYNC_FLAG_CAPS_LOCK = 4, | 
 
 
 
 
 | 210 | RDPSRAPI_KBD_SYNC_FLAG_KANA_LOCK = 8 | 
 
 
 
 
 | 211 | } RDPSRAPI_KBD_SYNC_FLAG; | 
 
 
 
 
 | 212 |  | 
 
 
 
 
 | 213 | [object, uuid(aa1e42b5-496d-4ca4-a690-348dcb2ec4ad), hidden, pointer_default(unique)] | 
 
 
 
 
 | 214 | interface IRDPSRAPIDebug : IUnknown | 
 
 
 
 
 | 215 | { | 
 
 
 
 
 | 216 | [propput, id(DISPID_RDPSRAPI_PROP_DBG_CLX_CMDLINE)] | 
 
 
 
 
 | 217 | HRESULT CLXCmdLine([in] BSTR CLXCmdLine); | 
 
 
 
 
 | 218 |  | 
 
 
 
 
 | 219 | [propget, id(DISPID_RDPSRAPI_PROP_DBG_CLX_CMDLINE)] | 
 
 
 
 
 | 220 | HRESULT CLXCmdLine([out, retval] BSTR *pCLXCmdLine); | 
 
 
 
 
 | 221 | } | 
 
 
 
 
 | 222 |  | 
 
 
 
 
 | 223 | [object, uuid(071c2533-0fa4-4e8f-ae83-9c10b4305ab5), pointer_default(unique)] | 
 
 
 
 
 | 224 | interface IRDPSRAPIPerfCounterLogger : IUnknown | 
 
 
 
 
 | 225 | { | 
 
 
 
 
 | 226 | HRESULT LogValue([in] __int64 lValue); | 
 
 
 
 
 | 227 | } | 
 
 
 
 
 | 228 |  | 
 
 
 
 
 | 229 | [object, uuid(9a512c86-ac6e-4a8e-b1a4-fcef363f6e64), pointer_default(unique)] | 
 
 
 
 
 | 230 | interface IRDPSRAPIPerfCounterLoggingManager : IUnknown | 
 
 
 
 
 | 231 | { | 
 
 
 
 
 | 232 | HRESULT CreateLogger([in] BSTR bstrCounterName, [out] IRDPSRAPIPerfCounterLogger **ppLogger); | 
 
 
 
 
 | 233 | } | 
 
 
 
 
 | 234 |  | 
 
 
 
 
 | 235 | [object, uuid(e3e30ef9-89c6-4541-ba3b-19336ac6d31c), pointer_default(unique)] | 
 
 
 
 
 | 236 | interface IRDPSRAPIAudioStream : IUnknown | 
 
 
 
 
 | 237 | { | 
 
 
 
 
 | 238 | HRESULT Initialize([out] __int64 *pnPeriodInHundredNsIntervals); | 
 
 
 
 
 | 239 | HRESULT Start(); | 
 
 
 
 
 | 240 | HRESULT Stop(); | 
 
 
 
 
 | 241 | HRESULT GetBuffer([out] BYTE **ppbData, [out] UINT32 *pcbData, [out] UINT64 *pTimestamp); | 
 
 
 
 
 | 242 | HRESULT FreeBuffer(); | 
 
 
 
 
 | 243 | } | 
 
 
 
 
 | 244 |  | 
 
 
 
 
 | 245 | [object, uuid(D559F59A-7A27-4138-8763-247CE5F659A8), hidden, pointer_default(unique)] | 
 
 
 
 
 | 246 | interface IRDPSRAPIClipboardUseEvents : IUnknown | 
 
 
 
 
 | 247 | { | 
 
 
 
 
 | 248 | HRESULT OnPasteFromClipboard([in] UINT clipboardFormat, [in] IDispatch* pAttendee, [out, retval] VARIANT_BOOL *pRetVal); | 
 
 
 
 
 | 249 | } | 
 
 
 
 
 | 250 |  | 
 
 
 
 
 | 251 | interface IRDPSRAPIApplication; | 
 
 
 
 
 | 252 |  | 
 
 
 
 
 | 253 | [object, uuid(beafe0f9-c77b-4933-ba9f-a24cddcc27cf), dual, pointer_default(unique)] | 
 
 
 
 
 | 254 | interface IRDPSRAPIWindow: IDispatch | 
 
 
 
 
 | 255 | { | 
 
 
 
 
 | 256 | [propget, id(DISPID_RDPSRAPI_PROP_ID)] | 
 
 
 
 
 | 257 | HRESULT Id([out, retval] long *pRetVal); | 
 
 
 
 
 | 258 |  | 
 
 
 
 
 | 259 | [propget, id(DISPID_RDPSRAPI_PROP_APPLICATION)] | 
 
 
 
 
 | 260 | HRESULT Application([out, retval] IRDPSRAPIApplication **pApplication); | 
 
 
 
 
 | 261 |  | 
 
 
 
 
 | 262 | [propget, id(DISPID_RDPSRAPI_PROP_SHARED)] | 
 
 
 
 
 | 263 | HRESULT Shared([out, retval] VARIANT_BOOL *pRetVal); | 
 
 
 
 
 | 264 |  | 
 
 
 
 
 | 265 | [propput, id(DISPID_RDPSRAPI_PROP_SHARED)] | 
 
 
 
 
 | 266 | HRESULT Shared([in] VARIANT_BOOL NewVal); | 
 
 
 
 
 | 267 |  | 
 
 
 
 
 | 268 | [propget, id(DISPID_RDPSRAPI_PROP_WINDOWNAME)] | 
 
 
 
 
 | 269 | HRESULT Name([out, retval] BSTR *pRetVal); | 
 
 
 
 
 | 270 |  | 
 
 
 
 
 | 271 | [id(DISPID_RDPSRAPI_METHOD_SHOW_WINDOW)] | 
 
 
 
 
 | 272 | HRESULT Show(); | 
 
 
 
 
 | 273 |  | 
 
 
 
 
 | 274 | [propget, id(DISPID_RDPSRAPI_PROP_WNDFLAGS)] | 
 
 
 
 
 | 275 | HRESULT Flags([out, retval] unsigned long *pdwFlags); | 
 
 
 
 
 | 276 | } | 
 
 
 
 
 | 277 |  | 
 
 
 
 
 | 278 | [object, uuid(8a05ce44-715a-4116-a189-a118f30a07bd), dual, pointer_default(unique)] | 
 
 
 
 
 | 279 | interface IRDPSRAPIWindowList: IDispatch | 
 
 
 
 
 | 280 | { | 
 
 
 
 
 | 281 | [propget, restricted, id(DISPID_NEWENUM)] | 
 
 
 
 
 | 282 | HRESULT _NewEnum([out, retval] IUnknown **retval); | 
 
 
 
 
 | 283 |  | 
 
 
 
 
 | 284 | [propget, id(DISPID_VALUE)] | 
 
 
 
 
 | 285 | HRESULT Item([in] long item, [out, retval] IRDPSRAPIWindow **pWindow); | 
 
 
 
 
 | 286 | } | 
 
 
 
 
 | 287 |  | 
 
 
 
 
 | 288 | [object, uuid(41e7a09d-eb7a-436e-935d-780ca2628324), dual, pointer_default(unique)] | 
 
 
 
 
 | 289 | interface IRDPSRAPIApplication: IDispatch | 
 
 
 
 
 | 290 | { | 
 
 
 
 
 | 291 | [propget, id(DISPID_VALUE)] | 
 
 
 
 
 | 292 | HRESULT Windows([out, retval] IRDPSRAPIWindowList **pWindowList); | 
 
 
 
 
 | 293 |  | 
 
 
 
 
 | 294 | [propget, id(DISPID_RDPSRAPI_PROP_ID)] | 
 
 
 
 
 | 295 | HRESULT Id([out, retval] long *pRetVal); | 
 
 
 
 
 | 296 |  | 
 
 
 
 
 | 297 | [propget, id(DISPID_RDPSRAPI_PROP_SHARED)] | 
 
 
 
 
 | 298 | HRESULT Shared([out, retval] VARIANT_BOOL *pRetVal); | 
 
 
 
 
 | 299 |  | 
 
 
 
 
 | 300 | [propput, id(DISPID_RDPSRAPI_PROP_SHARED)] | 
 
 
 
 
 | 301 | HRESULT Shared([in] VARIANT_BOOL NewVal); | 
 
 
 
 
 | 302 |  | 
 
 
 
 
 | 303 | [propget, id(DISPID_RDPSRAPI_PROP_APPNAME)] | 
 
 
 
 
 | 304 | HRESULT Name([out, retval] BSTR *pRetVal); | 
 
 
 
 
 | 305 |  | 
 
 
 
 
 | 306 | [propget, id(DISPID_RDPSRAPI_PROP_APPFLAGS)] | 
 
 
 
 
 | 307 | HRESULT Flags([out, retval] unsigned long *pdwFlags); | 
 
 
 
 
 | 308 | } | 
 
 
 
 
 | 309 |  | 
 
 
 
 
 | 310 | [object, uuid(d4b4aeb3-22dc-4837-b3b6-42ea2517849a), dual, pointer_default(unique)] | 
 
 
 
 
 | 311 | interface IRDPSRAPIApplicationList: IDispatch | 
 
 
 
 
 | 312 | { | 
 
 
 
 
 | 313 | [propget, restricted, id(DISPID_NEWENUM)] | 
 
 
 
 
 | 314 | HRESULT _NewEnum([out, retval] IUnknown **retval); | 
 
 
 
 
 | 315 |  | 
 
 
 
 
 | 316 | [propget, id(DISPID_VALUE)] | 
 
 
 
 
 | 317 | HRESULT Item([in] long item, [out, retval] IRDPSRAPIApplication **pApplication); | 
 
 
 
 
 | 318 | } | 
 
 
 
 
 | 319 |  | 
 
 
 
 
 | 320 | [object, uuid(d20f10ca-6637-4f06-b1d5-277ea7e5160d), dual, pointer_default(unique)] | 
 
 
 
 
 | 321 | interface IRDPSRAPIApplicationFilter: IDispatch | 
 
 
 
 
 | 322 | { | 
 
 
 
 
 | 323 | [propget, id(DISPID_RDPSRAPI_PROP_APPLICATION_LIST)] | 
 
 
 
 
 | 324 | HRESULT Applications([out, retval] IRDPSRAPIApplicationList **pApplications); | 
 
 
 
 
 | 325 |  | 
 
 
 
 
 | 326 | [propget, id(DISPID_RDPSRAPI_PROP_WINDOW_LIST)] | 
 
 
 
 
 | 327 | HRESULT Windows([out, retval] IRDPSRAPIWindowList **pWindows); | 
 
 
 
 
 | 328 |  | 
 
 
 
 
 | 329 | [propget, id(DISPID_RDPSRAPI_PROP_APPFILTERENABLED)] | 
 
 
 
 
 | 330 | HRESULT Enabled([out, retval] VARIANT_BOOL *pRetVal); | 
 
 
 
 
 | 331 |  | 
 
 
 
 
 | 332 | [propput, id(DISPID_RDPSRAPI_PROP_APPFILTERENABLED)] | 
 
 
 
 
 | 333 | HRESULT Enabled([in] VARIANT_BOOL NewVal); | 
 
 
 
 
 | 334 | } | 
 
 
 
 
 | 335 |  | 
 
 
 
 
 | 336 | [object, uuid(339b24f2-9bc0-4f16-9aac-f165433d13d4), dual, pointer_default(unique)] | 
 
 
 
 
 | 337 | interface IRDPSRAPISessionProperties: IDispatch | 
 
 
 
 
 | 338 | { | 
 
 
 
 
 | 339 | [propget, id(DISPID_VALUE)] | 
 
 
 
 
 | 340 | HRESULT Property([in] BSTR PropertyName, [out, retval] VARIANT *pVal); | 
 
 
 
 
 | 341 |  | 
 
 
 
 
 | 342 | [propput, id(DISPID_VALUE)] | 
 
 
 
 
 | 343 | HRESULT Property([in] BSTR PropertyName, [in] VARIANT newVal); | 
 
 
 
 
 | 344 | } | 
 
 
 
 
 | 345 |  | 
 
 
 
 
 | 346 | [object, uuid(4fac1d43-fc51-45bb-b1b4-2b53aa562fa3), dual, pointer_default(unique)] | 
 
 
 
 
 | 347 | interface IRDPSRAPIInvitation: IDispatch | 
 
 
 
 
 | 348 | { | 
 
 
 
 
 | 349 | [propget, id(DISPID_RDPSRAPI_PROP_CONNECTION_STRING)] | 
 
 
 
 
 | 350 | HRESULT ConnectionString([out, retval] BSTR *pbstrVal); | 
 
 
 
 
 | 351 |  | 
 
 
 
 
 | 352 | [propget, id(DISPID_RDPSRAPI_PROP_GROUP_NAME)] | 
 
 
 
 
 | 353 | HRESULT GroupName([out, retval] BSTR *pbstrVal); | 
 
 
 
 
 | 354 |  | 
 
 
 
 
 | 355 | [propget, id(DISPID_RDPSRAPI_PROP_PASSWORD)] | 
 
 
 
 
 | 356 | HRESULT Password([out, retval] BSTR *pbstrVal); | 
 
 
 
 
 | 357 |  | 
 
 
 
 
 | 358 | [propget, id(DISPID_RDPSRAPI_PROP_ATTENDEELIMIT)] | 
 
 
 
 
 | 359 | HRESULT AttendeeLimit([out, retval] long *pRetVal); | 
 
 
 
 
 | 360 |  | 
 
 
 
 
 | 361 | [propput, id(DISPID_RDPSRAPI_PROP_ATTENDEELIMIT)] | 
 
 
 
 
 | 362 | HRESULT AttendeeLimit([in] long NewVal); | 
 
 
 
 
 | 363 |  | 
 
 
 
 
 | 364 | [propget, id(DISPID_RDPSRAPI_PROP_REVOKED)] | 
 
 
 
 
 | 365 | HRESULT Revoked([out, retval] VARIANT_BOOL *pRetVal); | 
 
 
 
 
 | 366 |  | 
 
 
 
 
 | 367 | [propput, id(DISPID_RDPSRAPI_PROP_REVOKED)] | 
 
 
 
 
 | 368 | HRESULT Revoked([in] VARIANT_BOOL NewVal); | 
 
 
 
 
 | 369 | } | 
 
 
 
 
 | 370 |  | 
 
 
 
 
 | 371 | [object, uuid(4722b049-92c3-4c2d-8a65-f7348f644dcf), dual, pointer_default(unique)] | 
 
 
 
 
 | 372 | interface IRDPSRAPIInvitationManager: IDispatch | 
 
 
 
 
 | 373 | { | 
 
 
 
 
 | 374 | [propget, restricted, id(DISPID_NEWENUM)] | 
 
 
 
 
 | 375 | HRESULT _NewEnum([out, retval] IUnknown **retval); | 
 
 
 
 
 | 376 |  | 
 
 
 
 
 | 377 | [propget, id(DISPID_VALUE)] | 
 
 
 
 
 | 378 | HRESULT Item([in] VARIANT item, [out, retval] IRDPSRAPIInvitation **ppInvitation); | 
 
 
 
 
 | 379 |  | 
 
 
 
 
 | 380 | [propget, id(DISPID_RDPSRAPI_PROP_COUNT)] | 
 
 
 
 
 | 381 | HRESULT Count([out, retval] long *pRetVal); | 
 
 
 
 
 | 382 |  | 
 
 
 
 
 | 383 | [id(DISPID_RDPSRAPI_METHOD_CREATE_INVITATION)] | 
 
 
 
 
 | 384 | HRESULT CreateInvitation([in] BSTR bstrAuthString, [in] BSTR bstrGroupName, [in] BSTR bstrPassword, [in] long AttendeeLimit, [out, retval] IRDPSRAPIInvitation **ppInvitation); | 
 
 
 
 
 | 385 | } | 
 
 
 
 
 | 386 |  | 
 
 
 
 
 | 387 | [object, uuid(f74049a4-3d06-4028-8193-0a8c29bc2452), dual, pointer_default(unique)] | 
 
 
 
 
 | 388 | interface IRDPSRAPITcpConnectionInfo : IDispatch | 
 
 
 
 
 | 389 | { | 
 
 
 
 
 | 390 | [propget, id(DISPID_RDPSRAPI_PROP_PROTOCOL_TYPE)] | 
 
 
 
 
 | 391 | HRESULT Protocol([out, retval] long *plProtocol); | 
 
 
 
 
 | 392 |  | 
 
 
 
 
 | 393 | [propget, id(DISPID_RDPSRAPI_PROP_LOCAL_PORT)] | 
 
 
 
 
 | 394 | HRESULT LocalPort([out, retval] long *plPort); | 
 
 
 
 
 | 395 |  | 
 
 
 
 
 | 396 | [propget, id(DISPID_RDPSRAPI_PROP_LOCAL_IP)] | 
 
 
 
 
 | 397 | HRESULT LocalIP([out, retval] BSTR *pbsrLocalIP); | 
 
 
 
 
 | 398 |  | 
 
 
 
 
 | 399 | [propget, id(DISPID_RDPSRAPI_PROP_PEER_PORT)] | 
 
 
 
 
 | 400 | HRESULT PeerPort([out, retval] long *plPort); | 
 
 
 
 
 | 401 |  | 
 
 
 
 
 | 402 | [propget, id(DISPID_RDPSRAPI_PROP_PEER_IP)] | 
 
 
 
 
 | 403 | HRESULT PeerIP([out, retval] BSTR *pbstrIP); | 
 
 
 
 
 | 404 | } | 
 
 
 
 
 | 405 |  | 
 
 
 
 
 | 406 | [object, uuid(ec0671b3-1b78-4b80-a464-9132247543e3), dual, pointer_default(unique)] | 
 
 
 
 
 | 407 | interface IRDPSRAPIAttendee : IDispatch | 
 
 
 
 
 | 408 | { | 
 
 
 
 
 | 409 | [propget, id(DISPID_RDPSRAPI_PROP_ID)] | 
 
 
 
 
 | 410 | HRESULT Id([out, retval] long *pId); | 
 
 
 
 
 | 411 |  | 
 
 
 
 
 | 412 | [propget, id(DISPID_RDPSRAPI_PROP_REMOTENAME)] | 
 
 
 
 
 | 413 | HRESULT RemoteName([out, retval] BSTR *pVal); | 
 
 
 
 
 | 414 |  | 
 
 
 
 
 | 415 | [propget, id(DISPID_RDPSRAPI_PROP_CTRL_LEVEL)] | 
 
 
 
 
 | 416 | HRESULT ControlLevel([out, retval] CTRL_LEVEL *pVal); | 
 
 
 
 
 | 417 |  | 
 
 
 
 
 | 418 | [propput, id(DISPID_RDPSRAPI_PROP_CTRL_LEVEL)] | 
 
 
 
 
 | 419 | HRESULT ControlLevel([in] CTRL_LEVEL pNewVal); | 
 
 
 
 
 | 420 |  | 
 
 
 
 
 | 421 | [propget, id(DISPID_RDPSRAPI_PROP_INVITATION)] | 
 
 
 
 
 | 422 | HRESULT Invitation([out, retval] IRDPSRAPIInvitation **ppVal); | 
 
 
 
 
 | 423 |  | 
 
 
 
 
 | 424 | [id(DISPID_RDPSRAPI_METHOD_TERMINATE_CONNECTION)] | 
 
 
 
 
 | 425 | HRESULT TerminateConnection(); | 
 
 
 
 
 | 426 |  | 
 
 
 
 
 | 427 | [propget, id(DISPID_RDPSRAPI_PROP_ATTENDEE_FLAGS)] | 
 
 
 
 
 | 428 | HRESULT Flags([out, retval] long *plFlags); | 
 
 
 
 
 | 429 |  | 
 
 
 
 
 | 430 | [propget, id(DISPID_RDPSRAPI_PROP_CONINFO)] | 
 
 
 
 
 | 431 | HRESULT ConnectivityInfo([out, retval] IUnknown **ppVal); | 
 
 
 
 
 | 432 | } | 
 
 
 
 
 | 433 |  | 
 
 
 
 
 | 434 | [object, uuid(ba3a37e8-33da-4749-8da0-07fa34da7944), dual, pointer_default(unique)] | 
 
 
 
 
 | 435 | interface IRDPSRAPIAttendeeManager : IDispatch | 
 
 
 
 
 | 436 | { | 
 
 
 
 
 | 437 | [propget, restricted, id(DISPID_NEWENUM)] | 
 
 
 
 
 | 438 | HRESULT _NewEnum([out, retval] IUnknown **retval); | 
 
 
 
 
 | 439 |  | 
 
 
 
 
 | 440 | [propget, id(DISPID_VALUE)] | 
 
 
 
 
 | 441 | HRESULT Item([in] long id, [out, retval] IRDPSRAPIAttendee **ppItem); | 
 
 
 
 
 | 442 | } | 
 
 
 
 
 | 443 |  | 
 
 
 
 
 | 444 | [object, uuid(c187689f-447c-44a1-9c14-fffbb3b7ec17), dual, pointer_default(unique)] | 
 
 
 
 
 | 445 | interface IRDPSRAPIAttendeeDisconnectInfo : IDispatch | 
 
 
 
 
 | 446 | { | 
 
 
 
 
 | 447 | [propget, id(DISPID_VALUE)] | 
 
 
 
 
 | 448 | HRESULT Attendee([out, retval] IRDPSRAPIAttendee **retval); | 
 
 
 
 
 | 449 |  | 
 
 
 
 
 | 450 | [propget, id(DISPID_RDPSRAPI_PROP_REASON)] | 
 
 
 
 
 | 451 | HRESULT Reason([out, retval] ATTENDEE_DISCONNECT_REASON *pReason); | 
 
 
 
 
 | 452 |  | 
 
 
 
 
 | 453 | [propget, id(DISPID_RDPSRAPI_PROP_CODE)] | 
 
 
 
 
 | 454 | HRESULT Code([out, retval] long *pVal); | 
 
 
 
 
 | 455 | } | 
 
 
 
 
 | 456 |  | 
 
 
 
 
 | 457 | [object, uuid(05e12f95-28b3-4c9a-8780-d0248574a1e0), dual, pointer_default(unique)] | 
 
 
 
 
 | 458 | interface IRDPSRAPIVirtualChannel : IDispatch | 
 
 
 
 
 | 459 | { | 
 
 
 
 
 | 460 | [id(DISPID_RDPSRAPI_METHOD_VIRTUAL_CHANNEL_SEND_DATA)] | 
 
 
 
 
 | 461 | HRESULT SendData([in] BSTR bstrData, [in] long lAttendeeId, [in] unsigned long ChannelSendFlags); | 
 
 
 
 
 | 462 |  | 
 
 
 
 
 | 463 | [id(DISPID_RDPSRAPI_METHOD_VIRTUAL_CHANNEL_SET_ACCESS)] | 
 
 
 
 
 | 464 | HRESULT SetAccess([in] long lAttendeeId, [in] CHANNEL_ACCESS_ENUM AccessType); | 
 
 
 
 
 | 465 |  | 
 
 
 
 
 | 466 | [propget, id(DISPID_RDPSRAPI_PROP_VIRTUAL_CHANNEL_GETNAME)] | 
 
 
 
 
 | 467 | HRESULT Name([out, retval] BSTR *pbstrName); | 
 
 
 
 
 | 468 |  | 
 
 
 
 
 | 469 | [propget, id(DISPID_RDPSRAPI_PROP_VIRTUAL_CHANNEL_GETFLAGS)] | 
 
 
 
 
 | 470 | HRESULT Flags([out, retval] long *plFlags); | 
 
 
 
 
 | 471 |  | 
 
 
 
 
 | 472 | [propget, id(DISPID_RDPSRAPI_PROP_VIRTUAL_CHANNEL_GETPRIORITY)] | 
 
 
 
 
 | 473 | HRESULT Priority([out, retval] CHANNEL_PRIORITY *pPriority); | 
 
 
 
 
 | 474 | } | 
 
 
 
 
 | 475 |  | 
 
 
 
 
 | 476 | [object, uuid(0d11c661-5d0d-4ee4-89df-2166ae1fdfed), dual, pointer_default(unique)] | 
 
 
 
 
 | 477 | interface IRDPSRAPIVirtualChannelManager : IDispatch | 
 
 
 
 
 | 478 | { | 
 
 
 
 
 | 479 | [propget, restricted, id(DISPID_NEWENUM)] | 
 
 
 
 
 | 480 | HRESULT _NewEnum([out, retval] IUnknown **retval); | 
 
 
 
 
 | 481 |  | 
 
 
 
 
 | 482 | [propget, id(DISPID_VALUE)] | 
 
 
 
 
 | 483 | HRESULT Item([in] VARIANT item, [out, retval] IRDPSRAPIVirtualChannel **pChannel); | 
 
 
 
 
 | 484 |  | 
 
 
 
 
 | 485 | [id(DISPID_RDPSRAPI_METHOD_VIRTUAL_CHANNEL_CREATE)] | 
 
 
 
 
 | 486 | HRESULT CreateVirtualChannel([in] BSTR bstrChannelName, [in] CHANNEL_PRIORITY Priority, [in] unsigned long ChannelFlags, [out, retval] IRDPSRAPIVirtualChannel **ppChannel); | 
 
 
 
 
 | 487 | } | 
 
 
 
 
 | 488 |  | 
 
 
 
 
 | 489 | [object, uuid(c6bfcd38-8ce9-404d-8ae8-f31d00c65cb5), dual, pointer_default(unique)] | 
 
 
 
 
 | 490 | interface IRDPSRAPIViewer : IDispatch | 
 
 
 
 
 | 491 | { | 
 
 
 
 
 | 492 | [id(DISPID_RDPSRAPI_METHOD_VIEWERCONNECT)] | 
 
 
 
 
 | 493 | HRESULT Connect([in] BSTR bstrConnectionString, [in] BSTR bstrName, [in] BSTR bstrPassword); | 
 
 
 
 
 | 494 |  | 
 
 
 
 
 | 495 | [id(DISPID_RDPSRAPI_METHOD_VIEWERDISCONNECT)] | 
 
 
 
 
 | 496 | HRESULT Disconnect(); | 
 
 
 
 
 | 497 |  | 
 
 
 
 
 | 498 | [propget, id(DISPID_RDPSRAPI_PROP_ATTENDEES)] | 
 
 
 
 
 | 499 | HRESULT Attendees([out, retval] IRDPSRAPIAttendeeManager **ppVal); | 
 
 
 
 
 | 500 |  | 
 
 
 
 
 | 501 | [propget, id(DISPID_RDPSRAPI_PROP_INVITATIONS)] | 
 
 
 
 
 | 502 | HRESULT Invitations([out, retval] IRDPSRAPIInvitationManager **ppVal); | 
 
 
 
 
 | 503 |  | 
 
 
 
 
 | 504 | [propget, id(DISPID_RDPSRAPI_PROP_APPLICATION_FILTER)] | 
 
 
 
 
 | 505 | HRESULT ApplicationFilter([out, retval] IRDPSRAPIApplicationFilter **ppVal); | 
 
 
 
 
 | 506 |  | 
 
 
 
 
 | 507 | [propget, id(DISPID_RDPSRAPI_PROP_CHANNELMANAGER)] | 
 
 
 
 
 | 508 | HRESULT VirtualChannelManager([out, retval] IRDPSRAPIVirtualChannelManager **ppVal); | 
 
 
 
 
 | 509 |  | 
 
 
 
 
 | 510 | [propput, id(DISPID_RDPSRAPI_PROP_USESMARTSIZING)] | 
 
 
 
 
 | 511 | HRESULT SmartSizing([in] VARIANT_BOOL vbSmartSizing); | 
 
 
 
 
 | 512 |  | 
 
 
 
 
 | 513 | [propget, id(DISPID_RDPSRAPI_PROP_USESMARTSIZING)] | 
 
 
 
 
 | 514 | HRESULT SmartSizing([out, retval] VARIANT_BOOL *pvbSmartSizing); | 
 
 
 
 
 | 515 |  | 
 
 
 
 
 | 516 | [id(DISPID_RDPSRAPI_METHOD_REQUEST_CONTROL)] | 
 
 
 
 
 | 517 | HRESULT RequestControl([in] CTRL_LEVEL CtrlLevel); | 
 
 
 
 
 | 518 |  | 
 
 
 
 
 | 519 | [propput, id(DISPID_RDPSRAPI_PROP_DISCONNECTED_STRING)] | 
 
 
 
 
 | 520 | HRESULT DisconnectedText([in] BSTR bstrDisconnectedText); | 
 
 
 
 
 | 521 |  | 
 
 
 
 
 | 522 | [propget, id(DISPID_RDPSRAPI_PROP_DISCONNECTED_STRING)] | 
 
 
 
 
 | 523 | HRESULT DisconnectedText([out, retval] BSTR *pbstrDisconnectedText); | 
 
 
 
 
 | 524 |  | 
 
 
 
 
 | 525 | [id(DISPID_RDPSRAPI_METHOD_REQUEST_COLOR_DEPTH_CHANGE)] | 
 
 
 
 
 | 526 | HRESULT RequestColorDepthChange([in] long Bpp); | 
 
 
 
 
 | 527 |  | 
 
 
 
 
 | 528 | [propget, id(DISPID_RDPSRAPI_PROP_SESSION_PROPERTIES)] | 
 
 
 
 
 | 529 | HRESULT Properties([out, retval] IRDPSRAPISessionProperties **ppVal); | 
 
 
 
 
 | 530 |  | 
 
 
 
 
 | 531 | [id(DISPID_RDPSRAPI_METHOD_STARTREVCONNECTLISTENER)] | 
 
 
 
 
 | 532 | HRESULT StartReverseConnectListener([in] BSTR bstrConnectionString, [in] BSTR bstrUserName, [in] BSTR  bstrPassword, [out, retval] BSTR *pbstrReverseConnectString); | 
 
 
 
 
 | 533 | } | 
 
 
 
 
 | 534 |  | 
 
 
 
 
 | 535 | [object, uuid(56bfce32-83e9-414d-82e8-f31d01c62cb5), pointer_default(unique)] | 
 
 
 
 
 | 536 | interface IRDPViewerRenderingSurface : IUnknown | 
 
 
 
 
 | 537 | { | 
 
 
 
 
 | 538 | [id(DISPID_RDPSRAPI_METHOD_SET_RENDERING_SURFACE)] | 
 
 
 
 
 | 539 | HRESULT SetRenderingSurface([in] IUnknown *pRenderingSurface, [in] long surfaceWidth, [in] long surfaceHeight); | 
 
 
 
 
 | 540 | } | 
 
 
 
 
 | 541 |  | 
 
 
 
 
 | 542 | [object, uuid(bb590853-a6c5-4a7b-8dd4-76b69eea12d5), pointer_default(unique)] | 
 
 
 
 
 | 543 | interface IRDPViewerInputSink : IUnknown | 
 
 
 
 
 | 544 | { | 
 
 
 
 
 | 545 | [id(DISPID_RDPSRAPI_METHOD_SEND_MOUSE_BUTTON_EVENT)] | 
 
 
 
 
 | 546 | HRESULT SendMouseButtonEvent([in] RDPSRAPI_MOUSE_BUTTON_TYPE buttonType, [in] VARIANT_BOOL vbButtonDown, [in] ULONG xPos, [in] ULONG yPos); | 
 
 
 
 
 | 547 |  | 
 
 
 
 
 | 548 | [id(DISPID_RDPSRAPI_METHOD_SEND_MOUSE_MOVE_EVENT)] | 
 
 
 
 
 | 549 | HRESULT SendMouseMoveEvent([in] ULONG xPos, [in] ULONG yPos); | 
 
 
 
 
 | 550 |  | 
 
 
 
 
 | 551 | [id(DISPID_RDPSRAPI_METHOD_SEND_MOUSE_WHEEL_EVENT)] | 
 
 
 
 
 | 552 | HRESULT SendMouseWheelEvent([in] UINT16 wheelRotation); | 
 
 
 
 
 | 553 |  | 
 
 
 
 
 | 554 | [id(DISPID_RDPSRAPI_METHOD_SEND_KEYBOARD_EVENT)] | 
 
 
 
 
 | 555 | HRESULT SendKeyboardEvent([in] RDPSRAPI_KBD_CODE_TYPE codeType, [in] UINT16 keycode, [in] VARIANT_BOOL vbKeyUp, [in] VARIANT_BOOL vbRepeat, [in] VARIANT_BOOL vbExtended); | 
 
 
 
 
 | 556 |  | 
 
 
 
 
 | 557 | [id(DISPID_RDPSRAPI_METHOD_SEND_SYNC_EVENT)] | 
 
 
 
 
 | 558 | HRESULT SendSyncEvent([in] ULONG syncFlags); | 
 
 
 
 
 | 559 |  | 
 
 
 
 
 | 560 | [id(DISPID_RDPSRAPI_METHOD_BEGIN_TOUCH_FRAME)] | 
 
 
 
 
 | 561 | HRESULT BeginTouchFrame(void); | 
 
 
 
 
 | 562 |  | 
 
 
 
 
 | 563 | [id(DISPID_RDPSRAPI_METHOD_ADD_TOUCH_INPUT)] | 
 
 
 
 
 | 564 | HRESULT AddTouchInput([in] UINT32 contactId, [in] UINT32 evnt, [in] INT32 x, [in] INT32 y); | 
 
 
 
 
 | 565 |  | 
 
 
 
 
 | 566 | [id(DISPID_RDPSRAPI_METHOD_END_TOUCH_FRAME)] | 
 
 
 
 
 | 567 | HRESULT EndTouchFrame(void); | 
 
 
 
 
 | 568 | } | 
 
 
 
 
 | 569 |  | 
 
 
 
 
 | 570 | [object, uuid(3d67e7d2-b27b-448e-81b3-c6110ed8b4be), dual, pointer_default(unique)] | 
 
 
 
 
 | 571 | interface IRDPSRAPIFrameBuffer : IDispatch | 
 
 
 
 
 | 572 | { | 
 
 
 
 
 | 573 | [propget, id(DISPID_RDPSRAPI_PROP_FRAMEBUFFER_WIDTH)] | 
 
 
 
 
 | 574 | HRESULT Width([out, retval] long *plWidth); | 
 
 
 
 
 | 575 |  | 
 
 
 
 
 | 576 | [propget, id(DISPID_RDPSRAPI_PROP_FRAMEBUFFER_HEIGHT)] | 
 
 
 
 
 | 577 | HRESULT Height([out, retval] long *plHeight); | 
 
 
 
 
 | 578 |  | 
 
 
 
 
 | 579 | [propget, id(DISPID_RDPSRAPI_PROP_FRAMEBUFFER_BPP)] | 
 
 
 
 
 | 580 | HRESULT Bpp([out, retval] long *plBpp); | 
 
 
 
 
 | 581 |  | 
 
 
 
 
 | 582 | [id(DISPID_RDPSRAPI_METHOD_GETFRAMEBUFFERBITS)] | 
 
 
 
 
 | 583 | HRESULT GetFrameBufferBits([in] long x, [in] long y, [in] long Width, [in] long Heigth, [out, retval] SAFEARRAY(BYTE) *ppBits); | 
 
 
 
 
 | 584 | } | 
 
 
 
 
 | 585 |  | 
 
 
 
 
 | 586 | [object, uuid(81c80290-5085-44b0-b460-f865c39cb4a9), pointer_default(unique)] | 
 
 
 
 
 | 587 | interface IRDPSRAPITransportStreamBuffer : IUnknown | 
 
 
 
 
 | 588 | { | 
 
 
 
 
 | 589 | [propget, id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_STORAGE)] | 
 
 
 
 
 | 590 | HRESULT Storage([out, retval] BYTE **ppbStorage); | 
 
 
 
 
 | 591 |  | 
 
 
 
 
 | 592 | [propget, id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_STORESIZE)] | 
 
 
 
 
 | 593 | HRESULT StorageSize([out, retval] long *plMaxStore); | 
 
 
 
 
 | 594 |  | 
 
 
 
 
 | 595 | [propget, id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_PAYLOADSIZE)] | 
 
 
 
 
 | 596 | HRESULT PayloadSize([out, retval] long *plRetVal); | 
 
 
 
 
 | 597 |  | 
 
 
 
 
 | 598 | [propput, id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_PAYLOADSIZE)] | 
 
 
 
 
 | 599 | HRESULT PayloadSize([in] long lVal); | 
 
 
 
 
 | 600 |  | 
 
 
 
 
 | 601 | [propget, id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_PAYLOADOFFSET)] | 
 
 
 
 
 | 602 | HRESULT PayloadOffset([out, retval] long *plRetVal); | 
 
 
 
 
 | 603 |  | 
 
 
 
 
 | 604 | [propput, id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_PAYLOADOFFSET)] | 
 
 
 
 
 | 605 | HRESULT PayloadOffset([in] long lRetVal); | 
 
 
 
 
 | 606 |  | 
 
 
 
 
 | 607 | [propget, id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_FLAGS)] | 
 
 
 
 
 | 608 | HRESULT Flags([out, retval] long *plFlags); | 
 
 
 
 
 | 609 |  | 
 
 
 
 
 | 610 | [propput, id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_FLAGS)] | 
 
 
 
 
 | 611 | HRESULT Flags([in] long lFlags); | 
 
 
 
 
 | 612 |  | 
 
 
 
 
 | 613 | [propget, id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_CONTEXT)] | 
 
 
 
 
 | 614 | HRESULT Context([out, retval] IUnknown **ppContext); | 
 
 
 
 
 | 615 |  | 
 
 
 
 
 | 616 | [propput, id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_CONTEXT)] | 
 
 
 
 
 | 617 | HRESULT Context([in] IUnknown *pContext); | 
 
 
 
 
 | 618 | } | 
 
 
 
 
 | 619 |  | 
 
 
 
 
 | 620 | [object, uuid(ea81c254-f5af-4e40-982e-3e63bb595276), local, pointer_default(unique)] | 
 
 
 
 
 | 621 | interface IRDPSRAPITransportStreamEvents : IUnknown | 
 
 
 
 
 | 622 | { | 
 
 
 
 
 | 623 | [id(DISPID_RDPSRAPI_EVENT_ON_STREAM_SENDCOMPLETED)] | 
 
 
 
 
 | 624 | void OnWriteCompleted([in] IRDPSRAPITransportStreamBuffer *pBuffer); | 
 
 
 
 
 | 625 |  | 
 
 
 
 
 | 626 | [id(DISPID_RDPSRAPI_EVENT_ON_STREAM_DATARECEIVED)] | 
 
 
 
 
 | 627 | void OnReadCompleted([in] IRDPSRAPITransportStreamBuffer *pBuffer); | 
 
 
 
 
 | 628 |  | 
 
 
 
 
 | 629 | [id(DISPID_RDPSRAPI_EVENT_ON_STREAM_CLOSED)] | 
 
 
 
 
 | 630 | void OnStreamClosed([in] HRESULT hrReason); | 
 
 
 
 
 | 631 | } | 
 
 
 
 
 | 632 |  | 
 
 
 
 
 | 633 | [object, uuid(36cfa065-43bb-4ef7-aed7-9b88a5053036), pointer_default(unique)] | 
 
 
 
 
 | 634 | interface IRDPSRAPITransportStream : IUnknown | 
 
 
 
 
 | 635 | { | 
 
 
 
 
 | 636 | [id(DISPID_RDPSRAPI_METHOD_STREAM_ALLOCBUFFER)] | 
 
 
 
 
 | 637 | HRESULT AllocBuffer([in] long maxPayload, [out, retval] IRDPSRAPITransportStreamBuffer **ppBuffer); | 
 
 
 
 
 | 638 |  | 
 
 
 
 
 | 639 | [id(DISPID_RDPSRAPI_METHOD_STREAM_FREEBUFFER)] | 
 
 
 
 
 | 640 | HRESULT FreeBuffer([in] IRDPSRAPITransportStreamBuffer *pBuffer); | 
 
 
 
 
 | 641 |  | 
 
 
 
 
 | 642 | [id(DISPID_RDPSRAPI_METHOD_STREAMSENDDATA)] | 
 
 
 
 
 | 643 | HRESULT WriteBuffer([in] IRDPSRAPITransportStreamBuffer *pBuffer); | 
 
 
 
 
 | 644 |  | 
 
 
 
 
 | 645 | [id(DISPID_RDPSRAPI_METHOD_STREAMREADDATA)] | 
 
 
 
 
 | 646 | HRESULT ReadBuffer([in] IRDPSRAPITransportStreamBuffer *pBuffer); | 
 
 
 
 
 | 647 |  | 
 
 
 
 
 | 648 | [id(DISPID_RDPSRAPI_METHOD_STREAMOPEN)] | 
 
 
 
 
 | 649 | HRESULT Open([in] IRDPSRAPITransportStreamEvents *pCallbacks); | 
 
 
 
 
 | 650 |  | 
 
 
 
 
 | 651 | [id(DISPID_RDPSRAPI_METHOD_STREAMCLOSE)] | 
 
 
 
 
 | 652 | HRESULT Close(void); | 
 
 
 
 
 | 653 | } | 
 
 
 
 
 | 654 |  | 
 
 
 
 
 | 655 | [object, uuid(eeb20886-e470-4cf6-842b-2739c0ec5cfb), dual, pointer_default(unique)] | 
 
 
 
 
 | 656 | interface IRDPSRAPISharingSession : IDispatch | 
 
 
 
 
 | 657 | { | 
 
 
 
 
 | 658 | [id(DISPID_RDPSRAPI_METHOD_OPEN)] | 
 
 
 
 
 | 659 | HRESULT Open(void); | 
 
 
 
 
 | 660 |  | 
 
 
 
 
 | 661 | [id(DISPID_RDPSRAPI_METHOD_CLOSE)] | 
 
 
 
 
 | 662 | HRESULT Close(void); | 
 
 
 
 
 | 663 |  | 
 
 
 
 
 | 664 | [propput, id(DISPID_RDPSRAPI_PROP_SESSION_COLORDEPTH)] | 
 
 
 
 
 | 665 | HRESULT ColorDepth([in] long colorDepth); | 
 
 
 
 
 | 666 |  | 
 
 
 
 
 | 667 | [propget, id(DISPID_RDPSRAPI_PROP_SESSION_COLORDEPTH)] | 
 
 
 
 
 | 668 | HRESULT ColorDepth([out, retval] long *pColorDepth); | 
 
 
 
 
 | 669 |  | 
 
 
 
 
 | 670 | [propget, id(DISPID_RDPSRAPI_PROP_SESSION_PROPERTIES)] | 
 
 
 
 
 | 671 | HRESULT Properties([out, retval] IRDPSRAPISessionProperties **ppVal); | 
 
 
 
 
 | 672 |  | 
 
 
 
 
 | 673 | [propget, id(DISPID_RDPSRAPI_PROP_ATTENDEES)] | 
 
 
 
 
 | 674 | HRESULT Attendees([out, retval] IRDPSRAPIAttendeeManager **ppVal); | 
 
 
 
 
 | 675 |  | 
 
 
 
 
 | 676 | [propget, id(DISPID_RDPSRAPI_PROP_INVITATIONS)] | 
 
 
 
 
 | 677 | HRESULT Invitations([out, retval] IRDPSRAPIInvitationManager **ppVal); | 
 
 
 
 
 | 678 |  | 
 
 
 
 
 | 679 | [propget, id(DISPID_RDPSRAPI_PROP_APPLICATION_FILTER)] | 
 
 
 
 
 | 680 | HRESULT ApplicationFilter([out, retval] IRDPSRAPIApplicationFilter **ppVal); | 
 
 
 
 
 | 681 |  | 
 
 
 
 
 | 682 | [propget, id(DISPID_RDPSRAPI_PROP_CHANNELMANAGER)] | 
 
 
 
 
 | 683 | HRESULT VirtualChannelManager([out, retval] IRDPSRAPIVirtualChannelManager **ppVal); | 
 
 
 
 
 | 684 |  | 
 
 
 
 
 | 685 | [id(DISPID_RDPSRAPI_METHOD_PAUSE)] | 
 
 
 
 
 | 686 | HRESULT Pause(void); | 
 
 
 
 
 | 687 |  | 
 
 
 
 
 | 688 | [id(DISPID_RDPSRAPI_METHOD_RESUME)] | 
 
 
 
 
 | 689 | HRESULT Resume(void); | 
 
 
 
 
 | 690 |  | 
 
 
 
 
 | 691 | [id(DISPID_RDPSRAPI_METHOD_CONNECTTOCLIENT)] | 
 
 
 
 
 | 692 | HRESULT ConnectToClient([in] BSTR bstrConnectionString); | 
 
 
 
 
 | 693 |  | 
 
 
 
 
 | 694 | [id(DISPID_RDPSRAPI_METHOD_SETSHAREDRECT)] | 
 
 
 
 
 | 695 | HRESULT SetDesktopSharedRect([in] long left, [in] long top, [in] long right, [in] long bottom); | 
 
 
 
 
 | 696 |  | 
 
 
 
 
 | 697 | [id(DISPID_RDPSRAPI_METHOD_GETSHAREDRECT)] | 
 
 
 
 
 | 698 | HRESULT GetDesktopSharedRect([out] long *pleft, [out] long *ptop, [out] long *pright, [out] long *pbottom); | 
 
 
 
 
 | 699 | } | 
 
 
 
 
 | 700 |  | 
 
 
 
 
 | 701 | [object, uuid(fee4ee57-e3e8-4205-8fb0-8fd1d0675c21), dual, pointer_default(unique)] | 
 
 
 
 
 | 702 | interface IRDPSRAPISharingSession2 : IRDPSRAPISharingSession | 
 
 
 
 
 | 703 | { | 
 
 
 
 
 | 704 | [id(DISPID_RDPSRAPI_METHOD_CONNECTUSINGTRANSPORTSTREAM)] | 
 
 
 
 
 | 705 | HRESULT ConnectUsingTransportStream([in] IRDPSRAPITransportStream *pStream, [in] BSTR bstrGroup, [in] BSTR bstrAuthenticatedAttendeeName); | 
 
 
 
 
 | 706 |  | 
 
 
 
 
 | 707 | [propget, id(DISPID_RDPSRAPI_PROP_FRAMEBUFFER)] | 
 
 
 
 
 | 708 | HRESULT FrameBuffer([out, retval] IRDPSRAPIFrameBuffer **ppVal); | 
 
 
 
 
 | 709 |  | 
 
 
 
 
 | 710 | [id(DISPID_RDPSRAPI_METHOD_SENDCONTROLLEVELCHANGERESPONSE)] | 
 
 
 
 
 | 711 | HRESULT SendControlLevelChangeResponse([in] IRDPSRAPIAttendee *pAttendee, [in] CTRL_LEVEL RequestedLevel, [in] long ReasonCode); | 
 
 
 
 
 | 712 | } | 
 
 
 
 
 | 713 |  | 
 
 
 
 
 | 714 | [uuid(cc802d05-ae07-4c15-b496-db9d22aa0a84), version(1.0)] | 
 
 
 
 
 | 715 | library RDPCOMAPILib | 
 
 
 
 
 | 716 | { | 
 
 
 
 
 | 717 | importlib("stdole32.tlb"); | 
 
 
 
 
 | 718 | importlib("stdole2.tlb"); | 
 
 
 
 
 | 719 |  | 
 
 
 
 
 | 720 | typedef enum | 
 
 
 
 
 | 721 | { | 
 
 
 
 
 | 722 | CONST_MAX_CHANNEL_MESSAGE_SIZE = 1024, | 
 
 
 
 
 | 723 | CONST_MAX_CHANNEL_NAME_LEN = 8, | 
 
 
 
 
 | 724 | CONST_MAX_LEGACY_CHANNEL_MESSAGE_SIZE = 409600, | 
 
 
 
 
 | 725 | CONST_ATTENDEE_ID_EVERYONE = -1, | 
 
 
 
 
 | 726 | CONST_ATTENDEE_ID_HOST = 0, | 
 
 
 
 
 | 727 | CONST_CONN_INTERVAL = 50, | 
 
 
 
 
 | 728 | CONST_ATTENDEE_ID_DEFAULT = 0xffffffff | 
 
 
 
 
 | 729 | } RDPENCOMAPI_CONSTANTS; | 
 
 
 
 
 | 730 |  | 
 
 
 
 
 | 731 | [uuid(98a97042-6698-40e9-8efd-b3200990004b)] | 
 
 
 
 
 | 732 | dispinterface _IRDPSessionEvents | 
 
 
 
 
 | 733 | { | 
 
 
 
 
 | 734 | properties: | 
 
 
 
 
 | 735 | methods: | 
 
 
 
 
 | 736 |  | 
 
 
 
 
 | 737 | [id(DISPID_RDPSRAPI_EVENT_ON_ATTENDEE_CONNECTED)] | 
 
 
 
 
 | 738 | void OnAttendeeConnected([in] IDispatch *pAttendee); | 
 
 
 
 
 | 739 |  | 
 
 
 
 
 | 740 | [id(DISPID_RDPSRAPI_EVENT_ON_ATTENDEE_DISCONNECTED)] | 
 
 
 
 
 | 741 | void OnAttendeeDisconnected([in] IDispatch *pDisconnectInfo); | 
 
 
 
 
 | 742 |  | 
 
 
 
 
 | 743 | [id(DISPID_RDPSRAPI_EVENT_ON_ATTENDEE_UPDATE)] | 
 
 
 
 
 | 744 | void OnAttendeeUpdate([in] IDispatch *pAttendee); | 
 
 
 
 
 | 745 |  | 
 
 
 
 
 | 746 | [id(DISPID_RDPSRAPI_EVENT_ON_VIEWER_CONNECTED)] | 
 
 
 
 
 | 747 | void OnConnectionEstablished(void); | 
 
 
 
 
 | 748 |  | 
 
 
 
 
 | 749 | [id(DISPID_RDPSRAPI_EVENT_ON_VIEWER_CONNECTFAILED)] | 
 
 
 
 
 | 750 | void OnConnectionFailed(void); | 
 
 
 
 
 | 751 |  | 
 
 
 
 
 | 752 | [id(DISPID_RDPSRAPI_EVENT_ON_VIEWER_DISCONNECTED)] | 
 
 
 
 
 | 753 | void OnConnectionTerminated([in] long discReason, [in] long ExtendedInfo); | 
 
 
 
 
 | 754 |  | 
 
 
 
 
 | 755 | [id(DISPID_RDPSRAPI_EVENT_ON_VIEWER_AUTHENTICATED)] | 
 
 
 
 
 | 756 | void OnConnectionAuthenticated(void); | 
 
 
 
 
 | 757 |  | 
 
 
 
 
 | 758 | [id(DISPID_RDPSRAPI_EVENT_ON_ERROR)] | 
 
 
 
 
 | 759 | void OnError([in] VARIANT ErrorInfo); | 
 
 
 
 
 | 760 |  | 
 
 
 
 
 | 761 | [id(DISPID_RDPSRAPI_EVENT_ON_APPLICATION_OPEN)] | 
 
 
 
 
 | 762 | void OnApplicationOpen([in] IDispatch *pApplication); | 
 
 
 
 
 | 763 |  | 
 
 
 
 
 | 764 | [id(DISPID_RDPSRAPI_EVENT_ON_APPLICATION_CLOSE)] | 
 
 
 
 
 | 765 | void OnApplicationClose([in] IDispatch *pApplication); | 
 
 
 
 
 | 766 |  | 
 
 
 
 
 | 767 | [id(DISPID_RDPSRAPI_EVENT_ON_APPLICATION_UPDATE)] | 
 
 
 
 
 | 768 | void OnApplicationUpdate([in] IDispatch *pApplication); | 
 
 
 
 
 | 769 |  | 
 
 
 
 
 | 770 | [id(DISPID_RDPSRAPI_EVENT_ON_WINDOW_OPEN)] | 
 
 
 
 
 | 771 | void OnWindowOpen([in] IDispatch *pWindow); | 
 
 
 
 
 | 772 |  | 
 
 
 
 
 | 773 | [id(DISPID_RDPSRAPI_EVENT_ON_WINDOW_CLOSE)] | 
 
 
 
 
 | 774 | void OnWindowClose([in] IDispatch *pWindow); | 
 
 
 
 
 | 775 |  | 
 
 
 
 
 | 776 | [id(DISPID_RDPSRAPI_EVENT_ON_WINDOW_UPDATE)] | 
 
 
 
 
 | 777 | void OnWindowUpdate([in] IDispatch *pWindow); | 
 
 
 
 
 | 778 |  | 
 
 
 
 
 | 779 | [id(DISPID_RDPSRAPI_EVENT_ON_CTRLLEVEL_CHANGE_REQUEST)] | 
 
 
 
 
 | 780 | void OnControlLevelChangeRequest([in] IDispatch *pAttendee, [in] CTRL_LEVEL RequestedLevel); | 
 
 
 
 
 | 781 |  | 
 
 
 
 
 | 782 | [id(DISPID_RDPSRAPI_EVENT_ON_GRAPHICS_STREAM_PAUSED)] | 
 
 
 
 
 | 783 | void OnGraphicsStreamPaused(void); | 
 
 
 
 
 | 784 |  | 
 
 
 
 
 | 785 | [id(DISPID_RDPSRAPI_EVENT_ON_GRAPHICS_STREAM_RESUMED)] | 
 
 
 
 
 | 786 | void OnGraphicsStreamResumed(void); | 
 
 
 
 
 | 787 |  | 
 
 
 
 
 | 788 | [id(DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_DATARECEIVED)] | 
 
 
 
 
 | 789 | void OnChannelDataReceived([in] IUnknown *pChannel, [in] long lAttendeeId, [in] BSTR bstrData); | 
 
 
 
 
 | 790 |  | 
 
 
 
 
 | 791 | [id(DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_SENDCOMPLETED)] | 
 
 
 
 
 | 792 | void OnChannelDataSent([in] IUnknown *pChannel, [in] long lAttendeeId, [in] long BytesSent); | 
 
 
 
 
 | 793 |  | 
 
 
 
 
 | 794 | [id(DISPID_RDPSRAPI_EVENT_ON_SHARED_RECT_CHANGED)] | 
 
 
 
 
 | 795 | void OnSharedRectChanged([in] long left, [in] long top, [in] long right, [in] long bottom); | 
 
 
 
 
 | 796 |  | 
 
 
 
 
 | 797 | [id(DISPID_RDPSRAPI_EVENT_ON_FOCUSRELEASED)] | 
 
 
 
 
 | 798 | void OnFocusReleased([in] int iDirection); | 
 
 
 
 
 | 799 |  | 
 
 
 
 
 | 800 | [id(DISPID_RDPSRAPI_EVENT_ON_SHARED_DESKTOP_SETTINGS_CHANGED)] | 
 
 
 
 
 | 801 | void OnSharedDesktopSettingsChanged([in] long width, [in] long height, [in] long colordepth); | 
 
 
 
 
 | 802 |  | 
 
 
 
 
 | 803 | [id(DISPID_RDPAPI_EVENT_ON_BOUNDING_RECT_CHANGED)] | 
 
 
 
 
 | 804 | void OnViewingSizeChanged([in] long left, [in] long top, [in] long right, [in] long bottom); | 
 
 
 
 
 | 805 |  | 
 
 
 
 
 | 806 | [id(DISPID_RDPSRAPI_EVENT_ON_CTRLLEVEL_CHANGE_RESPONSE)] | 
 
 
 
 
 | 807 | void OnControlLevelChangeResponse([in] IDispatch *pAttendee, [in] CTRL_LEVEL RequestedLevel, [in] long ReasonCode); | 
 
 
 
 
 | 808 |  | 
 
 
 
 
 | 809 | [id(DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_JOIN)] | 
 
 
 
 
 | 810 | void OnChannelBound([in] IUnknown *pChannel, [in] long lAttendeeId); | 
 
 
 
 
 | 811 |  | 
 
 
 
 
 | 812 | }; | 
 
 
 
 
 | 813 |  | 
 
 
 
 
 | 814 | [hidden] | 
 
 
 
 
 | 815 | typedef struct __ReferenceRemainingTypes__ | 
 
 
 
 
 | 816 | { | 
 
 
 
 
 | 817 | CTRL_LEVEL __ctrlLevel__; | 
 
 
 
 
 | 818 | ATTENDEE_DISCONNECT_REASON __attendeeDisconnectReason__; | 
 
 
 
 
 | 819 | CHANNEL_PRIORITY __channelPriority__; | 
 
 
 
 
 | 820 | CHANNEL_FLAGS __channelFlags__; | 
 
 
 
 
 | 821 | CHANNEL_ACCESS_ENUM __channelAccessEnum__; | 
 
 
 
 
 | 822 | RDPENCOMAPI_ATTENDEE_FLAGS __rdpencomapiAttendeeFlags__; | 
 
 
 
 
 | 823 | RDPSRAPI_WND_FLAGS __rdpsrapiWndFlags__; | 
 
 
 
 
 | 824 | RDPSRAPI_APP_FLAGS __rdpsrapiAppFlags__; | 
 
 
 
 
 | 825 | } __ReferenceRemainingTypes__; | 
 
 
 
 
 | 826 |  | 
 
 
 
 
 | 827 | interface IRDPViewerRenderingSurface; | 
 
 
 
 
 | 828 | interface IRDPViewerInputSink; | 
 
 
 
 
 | 829 | interface IRDPSRAPIAudioStream; | 
 
 
 
 
 | 830 | interface IRDPSRAPIPerfCounterLoggingManager; | 
 
 
 
 
 | 831 |  | 
 
 
 
 
 | 832 | [uuid(32be5ed2-5c86-480f-a914-0ff8885a1b3f)] | 
 
 
 
 
 | 833 | coclass RDPViewer | 
 
 
 
 
 | 834 | { | 
 
 
 
 
 | 835 | [default] interface IRDPSRAPIViewer; | 
 
 
 
 
 | 836 | [default, source] dispinterface _IRDPSessionEvents; | 
 
 
 
 
 | 837 | }; | 
 
 
 
 
 | 838 |  | 
 
 
 
 
 | 839 | [uuid(dd7594ff-ea2a-4c06-8fdf-132de48b6510), noncreatable] | 
 
 
 
 
 | 840 | coclass RDPSRAPISessionProperties | 
 
 
 
 
 | 841 | { | 
 
 
 
 
 | 842 | [default] interface IRDPSRAPISessionProperties; | 
 
 
 
 
 | 843 | }; | 
 
 
 
 
 | 844 |  | 
 
 
 
 
 | 845 | [uuid(53d9c9db-75ab-4271-948a-4c4eb36a8f2b), noncreatable] | 
 
 
 
 
 | 846 | coclass RDPSRAPIInvitationManager | 
 
 
 
 
 | 847 | { | 
 
 
 
 
 | 848 | [default] interface IRDPSRAPIInvitationManager; | 
 
 
 
 
 | 849 | }; | 
 
 
 
 
 | 850 |  | 
 
 
 
 
 | 851 | [uuid(49174dc6-0731-4b5e-8ee1-83a63d3868fa), noncreatable] | 
 
 
 
 
 | 852 | coclass RDPSRAPIInvitation | 
 
 
 
 
 | 853 | { | 
 
 
 
 
 | 854 | [default] interface IRDPSRAPIInvitation; | 
 
 
 
 
 | 855 | }; | 
 
 
 
 
 | 856 |  | 
 
 
 
 
 | 857 | [uuid(d7b13a01-f7d4-42a6-8595-12fc8c24e851), noncreatable] | 
 
 
 
 
 | 858 | coclass RDPSRAPIAttendeeManager | 
 
 
 
 
 | 859 | { | 
 
 
 
 
 | 860 | [default] interface IRDPSRAPIAttendeeManager; | 
 
 
 
 
 | 861 | }; | 
 
 
 
 
 | 862 |  | 
 
 
 
 
 | 863 | [uuid(74f93bb5-755f-488e-8a29-2390108aef55), noncreatable] | 
 
 
 
 
 | 864 | coclass RDPSRAPIAttendee | 
 
 
 
 
 | 865 | { | 
 
 
 
 
 | 866 | [default] interface IRDPSRAPIAttendee; | 
 
 
 
 
 | 867 | }; | 
 
 
 
 
 | 868 |  | 
 
 
 
 
 | 869 | [uuid(b47d7250-5bdb-405d-b487-caad9c56f4f8), noncreatable] | 
 
 
 
 
 | 870 | coclass RDPSRAPIAttendeeDisconnectInfo | 
 
 
 
 
 | 871 | { | 
 
 
 
 
 | 872 | [default] interface IRDPSRAPIAttendeeDisconnectInfo; | 
 
 
 
 
 | 873 | }; | 
 
 
 
 
 | 874 |  | 
 
 
 
 
 | 875 | [uuid(e35ace89-c7e8-427e-a4f9-b9da072826bd), noncreatable] | 
 
 
 
 
 | 876 | coclass RDPSRAPIApplicationFilter | 
 
 
 
 
 | 877 | { | 
 
 
 
 
 | 878 | [default] interface IRDPSRAPIApplicationFilter; | 
 
 
 
 
 | 879 | }; | 
 
 
 
 
 | 880 |  | 
 
 
 
 
 | 881 | [uuid(9e31c815-7433-4876-97fb-ed59fe2baa22), noncreatable] | 
 
 
 
 
 | 882 | coclass RDPSRAPIApplicationList | 
 
 
 
 
 | 883 | { | 
 
 
 
 
 | 884 | [default] interface IRDPSRAPIApplicationList; | 
 
 
 
 
 | 885 | }; | 
 
 
 
 
 | 886 |  | 
 
 
 
 
 | 887 | [uuid(c116a484-4b25-4b9f-8a54-b934b06e57fa), noncreatable] | 
 
 
 
 
 | 888 | coclass RDPSRAPIApplication | 
 
 
 
 
 | 889 | { | 
 
 
 
 
 | 890 | [default] interface IRDPSRAPIApplication; | 
 
 
 
 
 | 891 | }; | 
 
 
 
 
 | 892 |  | 
 
 
 
 
 | 893 | [uuid(9c21e2b8-5dd4-42cc-81ba-1c099852e6fa), noncreatable] | 
 
 
 
 
 | 894 | coclass RDPSRAPIWindowList | 
 
 
 
 
 | 895 | { | 
 
 
 
 
 | 896 | [default] interface IRDPSRAPIWindowList; | 
 
 
 
 
 | 897 | }; | 
 
 
 
 
 | 898 |  | 
 
 
 
 
 | 899 | [uuid(03cf46db-ce45-4d36-86ed-ed28b74398bf), noncreatable] | 
 
 
 
 
 | 900 | coclass RDPSRAPIWindow | 
 
 
 
 
 | 901 | { | 
 
 
 
 
 | 902 | [default] interface IRDPSRAPIWindow; | 
 
 
 
 
 | 903 | }; | 
 
 
 
 
 | 904 |  | 
 
 
 
 
 | 905 | [uuid(be49db3f-ebb6-4278-8ce0-d5455833eaee), noncreatable] | 
 
 
 
 
 | 906 | coclass RDPSRAPITcpConnectionInfo | 
 
 
 
 
 | 907 | { | 
 
 
 
 
 | 908 | [default] interface IRDPSRAPITcpConnectionInfo; | 
 
 
 
 
 | 909 | }; | 
 
 
 
 
 | 910 |  | 
 
 
 
 
 | 911 | [uuid(9b78f0e6-3e05-4a5b-b2e8-e743a8956b65)] | 
 
 
 
 
 | 912 | coclass RDPSession | 
 
 
 
 
 | 913 | { | 
 
 
 
 
 | 914 | interface IRDPSRAPISharingSession; | 
 
 
 
 
 | 915 | [default] interface IRDPSRAPISharingSession2; | 
 
 
 
 
 | 916 | [default, source] dispinterface _IRDPSessionEvents; | 
 
 
 
 
 | 917 | }; | 
 
 
 
 
 | 918 |  | 
 
 
 
 
 | 919 | [uuid(a4f66bcc-538e-4101-951d-30847adb5101), noncreatable] | 
 
 
 
 
 | 920 | coclass RDPSRAPIFrameBuffer | 
 
 
 
 
 | 921 | { | 
 
 
 
 
 | 922 | [default] interface IRDPSRAPIFrameBuffer; | 
 
 
 
 
 | 923 | }; | 
 
 
 
 
 | 924 |  | 
 
 
 
 
 | 925 | [uuid(8d4a1c69-f17f-4549-a699-761c6e6b5c0a), noncreatable] | 
 
 
 
 
 | 926 | coclass RDPTransportStreamBuffer | 
 
 
 
 
 | 927 | { | 
 
 
 
 
 | 928 | [default] interface IRDPSRAPITransportStreamBuffer; | 
 
 
 
 
 | 929 | }; | 
 
 
 
 
 | 930 |  | 
 
 
 
 
 | 931 | [uuid(31e3ab20-5350-483f-9dc6-6748665efdeb), noncreatable] | 
 
 
 
 
 | 932 | coclass RDPTransportStreamEvents | 
 
 
 
 
 | 933 | { | 
 
 
 
 
 | 934 | [default] interface IRDPSRAPITransportStreamEvents; | 
 
 
 
 
 | 935 | }; | 
 
 
 
 
 | 936 | } | 
 
 
 
 
 | 937 |  | 
 
 
 
 
 | 938 | cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */") |