source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/rdpencomapi.idl

Last change on this file was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 33.6 KB
RevLine 
[1166]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
7import "oaidl.idl";
8import "ocidl.idl";
9
10cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
11
12const int DISPID_RDPSRAPI_METHOD_OPEN = 100;
13const int DISPID_RDPSRAPI_METHOD_CLOSE = 101;
14const int DISPID_RDPSRAPI_METHOD_SETSHAREDRECT = 102;
15const int DISPID_RDPSRAPI_METHOD_GETSHAREDRECT = 103;
16const int DISPID_RDPSRAPI_METHOD_VIEWERCONNECT = 104;
17const int DISPID_RDPSRAPI_METHOD_VIEWERDISCONNECT = 105;
18const int DISPID_RDPSRAPI_METHOD_TERMINATE_CONNECTION = 106;
19const int DISPID_RDPSRAPI_METHOD_CREATE_INVITATION = 107;
20const int DISPID_RDPSRAPI_METHOD_REQUEST_CONTROL = 108;
21const int DISPID_RDPSRAPI_METHOD_VIRTUAL_CHANNEL_CREATE = 109;
22const int DISPID_RDPSRAPI_METHOD_VIRTUAL_CHANNEL_SEND_DATA = 110;
23const int DISPID_RDPSRAPI_METHOD_VIRTUAL_CHANNEL_SET_ACCESS = 111;
24const int DISPID_RDPSRAPI_METHOD_PAUSE = 112;
25const int DISPID_RDPSRAPI_METHOD_RESUME = 113;
26const int DISPID_RDPSRAPI_METHOD_SHOW_WINDOW = 114;
27const int DISPID_RDPSRAPI_METHOD_REQUEST_COLOR_DEPTH_CHANGE = 115;
28const int DISPID_RDPSRAPI_METHOD_STARTREVCONNECTLISTENER = 116;
29const int DISPID_RDPSRAPI_METHOD_CONNECTTOCLIENT = 117;
30const int DISPID_RDPSRAPI_METHOD_SET_RENDERING_SURFACE = 118;
31const int DISPID_RDPSRAPI_METHOD_SEND_MOUSE_BUTTON_EVENT = 119;
32const int DISPID_RDPSRAPI_METHOD_SEND_MOUSE_MOVE_EVENT = 120;
33const int DISPID_RDPSRAPI_METHOD_SEND_MOUSE_WHEEL_EVENT = 121;
34const int DISPID_RDPSRAPI_METHOD_SEND_KEYBOARD_EVENT = 122;
35const int DISPID_RDPSRAPI_METHOD_SEND_SYNC_EVENT = 123;
36const int DISPID_RDPSRAPI_METHOD_BEGIN_TOUCH_FRAME = 124;
37const int DISPID_RDPSRAPI_METHOD_ADD_TOUCH_INPUT = 125;
38const int DISPID_RDPSRAPI_METHOD_END_TOUCH_FRAME = 126;
39const int DISPID_RDPSRAPI_METHOD_CONNECTUSINGTRANSPORTSTREAM = 127;
40const int DISPID_RDPSRAPI_METHOD_SENDCONTROLLEVELCHANGERESPONSE = 148;
41const int DISPID_RDPSRAPI_METHOD_GETFRAMEBUFFERBITS = 149;
42
43const int DISPID_RDPSRAPI_PROP_DISPIDVALUE = 200;
44const int DISPID_RDPSRAPI_PROP_ID = 201;
45const int DISPID_RDPSRAPI_PROP_SESSION_PROPERTIES = 202;
46const int DISPID_RDPSRAPI_PROP_ATTENDEES = 203;
47const int DISPID_RDPSRAPI_PROP_INVITATIONS = 204;
48const int DISPID_RDPSRAPI_PROP_INVITATION = 205;
49const int DISPID_RDPSRAPI_PROP_CHANNELMANAGER = 206;
50const int DISPID_RDPSRAPI_PROP_VIRTUAL_CHANNEL_GETNAME = 207;
51const int DISPID_RDPSRAPI_PROP_VIRTUAL_CHANNEL_GETFLAGS = 208;
52const int DISPID_RDPSRAPI_PROP_VIRTUAL_CHANNEL_GETPRIORITY = 209;
53const int DISPID_RDPSRAPI_PROP_WINDOWID = 210;
54const int DISPID_RDPSRAPI_PROP_APPLICATION = 211;
55const int DISPID_RDPSRAPI_PROP_WINDOWSHARED = 212;
56const int DISPID_RDPSRAPI_PROP_WINDOWNAME = 213;
57const int DISPID_RDPSRAPI_PROP_APPNAME = 214;
58const int DISPID_RDPSRAPI_PROP_APPLICATION_FILTER = 215;
59const int DISPID_RDPSRAPI_PROP_WINDOW_LIST = 216;
60const int DISPID_RDPSRAPI_PROP_APPLICATION_LIST = 217;
61const int DISPID_RDPSRAPI_PROP_APPFILTER_ENABLED = 218;
62const int DISPID_RDPSRAPI_PROP_APPFILTERENABLED = 219;
63const int DISPID_RDPSRAPI_PROP_SHARED = 220;
64const int DISPID_RDPSRAPI_PROP_INVITATIONITEM = 221;
65const int DISPID_RDPSRAPI_PROP_DBG_CLX_CMDLINE = 222;
66const int DISPID_RDPSRAPI_PROP_APPFLAGS = 223;
67const int DISPID_RDPSRAPI_PROP_WNDFLAGS = 224;
68const int DISPID_RDPSRAPI_PROP_PROTOCOL_TYPE = 225;
69const int DISPID_RDPSRAPI_PROP_LOCAL_PORT = 226;
70const int DISPID_RDPSRAPI_PROP_LOCAL_IP = 227;
71const int DISPID_RDPSRAPI_PROP_PEER_PORT = 228;
72const int DISPID_RDPSRAPI_PROP_PEER_IP = 229;
73const int DISPID_RDPSRAPI_PROP_ATTENDEE_FLAGS = 230;
74const int DISPID_RDPSRAPI_PROP_CONINFO = 231;
75const int DISPID_RDPSRAPI_PROP_CONNECTION_STRING = 232;
76const int DISPID_RDPSRAPI_PROP_GROUP_NAME = 233;
77const int DISPID_RDPSRAPI_PROP_PASSWORD = 234;
78const int DISPID_RDPSRAPI_PROP_ATTENDEELIMIT = 235;
79const int DISPID_RDPSRAPI_PROP_REVOKED = 236;
80const int DISPID_RDPSRAPI_PROP_DISCONNECTED_STRING = 237;
81const int DISPID_RDPSRAPI_PROP_USESMARTSIZING = 238;
82const int DISPID_RDPSRAPI_PROP_SESSION_COLORDEPTH = 239;
83const int DISPID_RDPSRAPI_PROP_REASON = 240;
84const int DISPID_RDPSRAPI_PROP_CODE = 241;
85const int DISPID_RDPSRAPI_PROP_CTRL_LEVEL = 242;
86const int DISPID_RDPSRAPI_PROP_REMOTENAME = 243;
87const int DISPID_RDPSRAPI_PROP_COUNT = 244;
88const int DISPID_RDPSRAPI_PROP_FRAMEBUFFER_HEIGHT = 251;
89const int DISPID_RDPSRAPI_PROP_FRAMEBUFFER_WIDTH = 252;
90const int DISPID_RDPSRAPI_PROP_FRAMEBUFFER_BPP = 253;
91const int DISPID_RDPSRAPI_PROP_FRAMEBUFFER = 254;
92
93const int DISPID_RDPSRAPI_EVENT_ON_ATTENDEE_CONNECTED = 301;
94const int DISPID_RDPSRAPI_EVENT_ON_ATTENDEE_DISCONNECTED = 302;
95const int DISPID_RDPSRAPI_EVENT_ON_ATTENDEE_UPDATE = 303;
96const int DISPID_RDPSRAPI_EVENT_ON_ERROR = 304;
97const int DISPID_RDPSRAPI_EVENT_ON_VIEWER_CONNECTED = 305;
98const int DISPID_RDPSRAPI_EVENT_ON_VIEWER_DISCONNECTED = 306;
99const int DISPID_RDPSRAPI_EVENT_ON_VIEWER_AUTHENTICATED = 307;
100const int DISPID_RDPSRAPI_EVENT_ON_VIEWER_CONNECTFAILED = 308;
101const int DISPID_RDPSRAPI_EVENT_ON_CTRLLEVEL_CHANGE_REQUEST = 309;
102const int DISPID_RDPSRAPI_EVENT_ON_GRAPHICS_STREAM_PAUSED = 310;
103const int DISPID_RDPSRAPI_EVENT_ON_GRAPHICS_STREAM_RESUMED = 311;
104const int DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_JOIN = 312;
105const int DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_LEAVE = 313;
106const int DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_DATARECEIVED = 314;
107const int DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_SENDCOMPLETED = 315;
108const int DISPID_RDPSRAPI_EVENT_ON_APPLICATION_OPEN = 316;
109const int DISPID_RDPSRAPI_EVENT_ON_APPLICATION_CLOSE = 317;
110const int DISPID_RDPSRAPI_EVENT_ON_APPLICATION_UPDATE = 318;
111const int DISPID_RDPSRAPI_EVENT_ON_WINDOW_OPEN = 319;
112const int DISPID_RDPSRAPI_EVENT_ON_WINDOW_CLOSE = 320;
113const int DISPID_RDPSRAPI_EVENT_ON_WINDOW_UPDATE = 321;
114const int DISPID_RDPSRAPI_EVENT_ON_APPFILTER_UPDATE = 322;
115const int DISPID_RDPSRAPI_EVENT_ON_SHARED_RECT_CHANGED = 323;
116const int DISPID_RDPSRAPI_EVENT_ON_FOCUSRELEASED = 324;
117const int DISPID_RDPSRAPI_EVENT_ON_SHARED_DESKTOP_SETTINGS_CHANGED = 325;
118const int DISPID_RDPSRAPI_EVENT_ON_CTRLLEVEL_CHANGE_RESPONSE = 338;
119
120const int DISPID_RDPAPI_EVENT_ON_BOUNDING_RECT_CHANGED = 340;
121
122const int DISPID_RDPSRAPI_METHOD_STREAM_ALLOCBUFFER = 421;
123const int DISPID_RDPSRAPI_METHOD_STREAM_FREEBUFFER = 422;
124const int DISPID_RDPSRAPI_METHOD_STREAMSENDDATA = 423;
125const int DISPID_RDPSRAPI_METHOD_STREAMREADDATA = 424;
126const int DISPID_RDPSRAPI_METHOD_STREAMOPEN = 425;
127const int DISPID_RDPSRAPI_METHOD_STREAMCLOSE = 426;
128
129const int DISPID_RDPSRAPI_PROP_STREAMBUFFER_STORAGE = 555;
130const int DISPID_RDPSRAPI_PROP_STREAMBUFFER_PAYLOADSIZE = 558;
131const int DISPID_RDPSRAPI_PROP_STREAMBUFFER_PAYLOADOFFSET = 559;
132const int DISPID_RDPSRAPI_PROP_STREAMBUFFER_CONTEXT = 560;
133const int DISPID_RDPSRAPI_PROP_STREAMBUFFER_FLAGS = 561;
134const int DISPID_RDPSRAPI_PROP_STREAMBUFFER_STORESIZE = 562;
135
136const int DISPID_RDPSRAPI_EVENT_ON_STREAM_SENDCOMPLETED = 632;
137const int DISPID_RDPSRAPI_EVENT_ON_STREAM_DATARECEIVED = 633;
138const int DISPID_RDPSRAPI_EVENT_ON_STREAM_CLOSED = 634;
139
140const int DISPID_RDPSRAPI_EVENT_VIEW_MOUSE_BUTTON_RECEIVED = 700;
141const int DISPID_RDPSRAPI_EVENT_VIEW_MOUSE_MOVE_RECEIVED = 701;
142const int DISPID_RDPSRAPI_EVENT_VIEW_MOUSE_WHEEL_RECEIVED = 702;
143
144typedef 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
155typedef 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
163typedef enum {
164 CHANNEL_PRIORITY_LO,
165 CHANNEL_PRIORITY_MED,
166 CHANNEL_PRIORITY_HI
167} CHANNEL_PRIORITY;
168
169typedef enum {
170 CHANNEL_FLAGS_LEGACY = 0x01,
171 CHANNEL_FLAGS_UNCOMPRESSED = 0x02,
172 CHANNEL_FLAGS_DYNAMIC = 0x04
173} CHANNEL_FLAGS;
174
175typedef enum {
176 CHANNEL_ACCESS_ENUM_NONE,
177 CHANNEL_ACCESS_ENUM_SENDRECEIVE
178} CHANNEL_ACCESS_ENUM;
179
180typedef enum {
181 ATTENDEE_FLAGS_LOCAL = 1
182} RDPENCOMAPI_ATTENDEE_FLAGS;
183
184typedef enum {
185 WND_FLAG_PRIVILEGED = 1
186} RDPSRAPI_WND_FLAGS;
187
188typedef enum {
189 APP_FLAG_PRIVILEGED = 1
190} RDPSRAPI_APP_FLAGS;
191
192typedef 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
201typedef enum {
202 RDPSRAPI_KBD_CODE_SCANCODE = 0,
203 RDPSRAPI_KBD_CODE_UNICODE = 1
204} RDPSRAPI_KBD_CODE_TYPE;
205
206typedef 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)]
214interface 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)]
224interface IRDPSRAPIPerfCounterLogger : IUnknown
225{
226 HRESULT LogValue([in] __int64 lValue);
227}
228
229[object, uuid(9a512c86-ac6e-4a8e-b1a4-fcef363f6e64), pointer_default(unique)]
230interface 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)]
236interface 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)]
246interface IRDPSRAPIClipboardUseEvents : IUnknown
247{
248 HRESULT OnPasteFromClipboard([in] UINT clipboardFormat, [in] IDispatch* pAttendee, [out, retval] VARIANT_BOOL *pRetVal);
249}
250
251interface IRDPSRAPIApplication;
252
253[object, uuid(beafe0f9-c77b-4933-ba9f-a24cddcc27cf), dual, pointer_default(unique)]
254interface 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)]
279interface 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)]
289interface 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)]
311interface 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)]
321interface 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)]
337interface 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)]
347interface 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)]
372interface 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)]
388interface 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)]
407interface 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)]
435interface 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)]
445interface 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)]
458interface 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)]
477interface 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)]
490interface 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)]
536interface 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)]
543interface 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)]
571interface 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)]
587interface 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)]
621interface 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)]
634interface 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)]
656interface 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)]
702interface 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)]
715library 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
938cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */")
Note: See TracBrowser for help on using the repository browser.