zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

rdpencomapi.h (217990B) - Raw


      1 /*** Autogenerated by WIDL 10.4 from include/rdpencomapi.idl - Do not edit ***/
      2 
      3 #ifdef _WIN32
      4 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      5 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      6 #endif
      7 #include <rpc.h>
      8 #include <rpcndr.h>
      9 #endif
     10 
     11 #ifndef COM_NO_WINDOWS_H
     12 #include <windows.h>
     13 #include <ole2.h>
     14 #endif
     15 
     16 #ifndef __rdpencomapi_h__
     17 #define __rdpencomapi_h__
     18 
     19 /* Forward declarations */
     20 
     21 #ifndef __IRDPSRAPIDebug_FWD_DEFINED__
     22 #define __IRDPSRAPIDebug_FWD_DEFINED__
     23 typedef interface IRDPSRAPIDebug IRDPSRAPIDebug;
     24 #ifdef __cplusplus
     25 interface IRDPSRAPIDebug;
     26 #endif /* __cplusplus */
     27 #endif
     28 
     29 #ifndef __IRDPSRAPIPerfCounterLogger_FWD_DEFINED__
     30 #define __IRDPSRAPIPerfCounterLogger_FWD_DEFINED__
     31 typedef interface IRDPSRAPIPerfCounterLogger IRDPSRAPIPerfCounterLogger;
     32 #ifdef __cplusplus
     33 interface IRDPSRAPIPerfCounterLogger;
     34 #endif /* __cplusplus */
     35 #endif
     36 
     37 #ifndef __IRDPSRAPIPerfCounterLoggingManager_FWD_DEFINED__
     38 #define __IRDPSRAPIPerfCounterLoggingManager_FWD_DEFINED__
     39 typedef interface IRDPSRAPIPerfCounterLoggingManager IRDPSRAPIPerfCounterLoggingManager;
     40 #ifdef __cplusplus
     41 interface IRDPSRAPIPerfCounterLoggingManager;
     42 #endif /* __cplusplus */
     43 #endif
     44 
     45 #ifndef __IRDPSRAPIAudioStream_FWD_DEFINED__
     46 #define __IRDPSRAPIAudioStream_FWD_DEFINED__
     47 typedef interface IRDPSRAPIAudioStream IRDPSRAPIAudioStream;
     48 #ifdef __cplusplus
     49 interface IRDPSRAPIAudioStream;
     50 #endif /* __cplusplus */
     51 #endif
     52 
     53 #ifndef __IRDPSRAPIClipboardUseEvents_FWD_DEFINED__
     54 #define __IRDPSRAPIClipboardUseEvents_FWD_DEFINED__
     55 typedef interface IRDPSRAPIClipboardUseEvents IRDPSRAPIClipboardUseEvents;
     56 #ifdef __cplusplus
     57 interface IRDPSRAPIClipboardUseEvents;
     58 #endif /* __cplusplus */
     59 #endif
     60 
     61 #ifndef __IRDPSRAPIWindow_FWD_DEFINED__
     62 #define __IRDPSRAPIWindow_FWD_DEFINED__
     63 typedef interface IRDPSRAPIWindow IRDPSRAPIWindow;
     64 #ifdef __cplusplus
     65 interface IRDPSRAPIWindow;
     66 #endif /* __cplusplus */
     67 #endif
     68 
     69 #ifndef __IRDPSRAPIWindowList_FWD_DEFINED__
     70 #define __IRDPSRAPIWindowList_FWD_DEFINED__
     71 typedef interface IRDPSRAPIWindowList IRDPSRAPIWindowList;
     72 #ifdef __cplusplus
     73 interface IRDPSRAPIWindowList;
     74 #endif /* __cplusplus */
     75 #endif
     76 
     77 #ifndef __IRDPSRAPIApplication_FWD_DEFINED__
     78 #define __IRDPSRAPIApplication_FWD_DEFINED__
     79 typedef interface IRDPSRAPIApplication IRDPSRAPIApplication;
     80 #ifdef __cplusplus
     81 interface IRDPSRAPIApplication;
     82 #endif /* __cplusplus */
     83 #endif
     84 
     85 #ifndef __IRDPSRAPIApplicationList_FWD_DEFINED__
     86 #define __IRDPSRAPIApplicationList_FWD_DEFINED__
     87 typedef interface IRDPSRAPIApplicationList IRDPSRAPIApplicationList;
     88 #ifdef __cplusplus
     89 interface IRDPSRAPIApplicationList;
     90 #endif /* __cplusplus */
     91 #endif
     92 
     93 #ifndef __IRDPSRAPIApplicationFilter_FWD_DEFINED__
     94 #define __IRDPSRAPIApplicationFilter_FWD_DEFINED__
     95 typedef interface IRDPSRAPIApplicationFilter IRDPSRAPIApplicationFilter;
     96 #ifdef __cplusplus
     97 interface IRDPSRAPIApplicationFilter;
     98 #endif /* __cplusplus */
     99 #endif
    100 
    101 #ifndef __IRDPSRAPISessionProperties_FWD_DEFINED__
    102 #define __IRDPSRAPISessionProperties_FWD_DEFINED__
    103 typedef interface IRDPSRAPISessionProperties IRDPSRAPISessionProperties;
    104 #ifdef __cplusplus
    105 interface IRDPSRAPISessionProperties;
    106 #endif /* __cplusplus */
    107 #endif
    108 
    109 #ifndef __IRDPSRAPIInvitation_FWD_DEFINED__
    110 #define __IRDPSRAPIInvitation_FWD_DEFINED__
    111 typedef interface IRDPSRAPIInvitation IRDPSRAPIInvitation;
    112 #ifdef __cplusplus
    113 interface IRDPSRAPIInvitation;
    114 #endif /* __cplusplus */
    115 #endif
    116 
    117 #ifndef __IRDPSRAPIInvitationManager_FWD_DEFINED__
    118 #define __IRDPSRAPIInvitationManager_FWD_DEFINED__
    119 typedef interface IRDPSRAPIInvitationManager IRDPSRAPIInvitationManager;
    120 #ifdef __cplusplus
    121 interface IRDPSRAPIInvitationManager;
    122 #endif /* __cplusplus */
    123 #endif
    124 
    125 #ifndef __IRDPSRAPITcpConnectionInfo_FWD_DEFINED__
    126 #define __IRDPSRAPITcpConnectionInfo_FWD_DEFINED__
    127 typedef interface IRDPSRAPITcpConnectionInfo IRDPSRAPITcpConnectionInfo;
    128 #ifdef __cplusplus
    129 interface IRDPSRAPITcpConnectionInfo;
    130 #endif /* __cplusplus */
    131 #endif
    132 
    133 #ifndef __IRDPSRAPIAttendee_FWD_DEFINED__
    134 #define __IRDPSRAPIAttendee_FWD_DEFINED__
    135 typedef interface IRDPSRAPIAttendee IRDPSRAPIAttendee;
    136 #ifdef __cplusplus
    137 interface IRDPSRAPIAttendee;
    138 #endif /* __cplusplus */
    139 #endif
    140 
    141 #ifndef __IRDPSRAPIAttendeeManager_FWD_DEFINED__
    142 #define __IRDPSRAPIAttendeeManager_FWD_DEFINED__
    143 typedef interface IRDPSRAPIAttendeeManager IRDPSRAPIAttendeeManager;
    144 #ifdef __cplusplus
    145 interface IRDPSRAPIAttendeeManager;
    146 #endif /* __cplusplus */
    147 #endif
    148 
    149 #ifndef __IRDPSRAPIAttendeeDisconnectInfo_FWD_DEFINED__
    150 #define __IRDPSRAPIAttendeeDisconnectInfo_FWD_DEFINED__
    151 typedef interface IRDPSRAPIAttendeeDisconnectInfo IRDPSRAPIAttendeeDisconnectInfo;
    152 #ifdef __cplusplus
    153 interface IRDPSRAPIAttendeeDisconnectInfo;
    154 #endif /* __cplusplus */
    155 #endif
    156 
    157 #ifndef __IRDPSRAPIVirtualChannel_FWD_DEFINED__
    158 #define __IRDPSRAPIVirtualChannel_FWD_DEFINED__
    159 typedef interface IRDPSRAPIVirtualChannel IRDPSRAPIVirtualChannel;
    160 #ifdef __cplusplus
    161 interface IRDPSRAPIVirtualChannel;
    162 #endif /* __cplusplus */
    163 #endif
    164 
    165 #ifndef __IRDPSRAPIVirtualChannelManager_FWD_DEFINED__
    166 #define __IRDPSRAPIVirtualChannelManager_FWD_DEFINED__
    167 typedef interface IRDPSRAPIVirtualChannelManager IRDPSRAPIVirtualChannelManager;
    168 #ifdef __cplusplus
    169 interface IRDPSRAPIVirtualChannelManager;
    170 #endif /* __cplusplus */
    171 #endif
    172 
    173 #ifndef __IRDPSRAPIViewer_FWD_DEFINED__
    174 #define __IRDPSRAPIViewer_FWD_DEFINED__
    175 typedef interface IRDPSRAPIViewer IRDPSRAPIViewer;
    176 #ifdef __cplusplus
    177 interface IRDPSRAPIViewer;
    178 #endif /* __cplusplus */
    179 #endif
    180 
    181 #ifndef __IRDPViewerRenderingSurface_FWD_DEFINED__
    182 #define __IRDPViewerRenderingSurface_FWD_DEFINED__
    183 typedef interface IRDPViewerRenderingSurface IRDPViewerRenderingSurface;
    184 #ifdef __cplusplus
    185 interface IRDPViewerRenderingSurface;
    186 #endif /* __cplusplus */
    187 #endif
    188 
    189 #ifndef __IRDPViewerInputSink_FWD_DEFINED__
    190 #define __IRDPViewerInputSink_FWD_DEFINED__
    191 typedef interface IRDPViewerInputSink IRDPViewerInputSink;
    192 #ifdef __cplusplus
    193 interface IRDPViewerInputSink;
    194 #endif /* __cplusplus */
    195 #endif
    196 
    197 #ifndef __IRDPSRAPIFrameBuffer_FWD_DEFINED__
    198 #define __IRDPSRAPIFrameBuffer_FWD_DEFINED__
    199 typedef interface IRDPSRAPIFrameBuffer IRDPSRAPIFrameBuffer;
    200 #ifdef __cplusplus
    201 interface IRDPSRAPIFrameBuffer;
    202 #endif /* __cplusplus */
    203 #endif
    204 
    205 #ifndef __IRDPSRAPITransportStreamBuffer_FWD_DEFINED__
    206 #define __IRDPSRAPITransportStreamBuffer_FWD_DEFINED__
    207 typedef interface IRDPSRAPITransportStreamBuffer IRDPSRAPITransportStreamBuffer;
    208 #ifdef __cplusplus
    209 interface IRDPSRAPITransportStreamBuffer;
    210 #endif /* __cplusplus */
    211 #endif
    212 
    213 #ifndef __IRDPSRAPITransportStreamEvents_FWD_DEFINED__
    214 #define __IRDPSRAPITransportStreamEvents_FWD_DEFINED__
    215 typedef interface IRDPSRAPITransportStreamEvents IRDPSRAPITransportStreamEvents;
    216 #ifdef __cplusplus
    217 interface IRDPSRAPITransportStreamEvents;
    218 #endif /* __cplusplus */
    219 #endif
    220 
    221 #ifndef __IRDPSRAPITransportStream_FWD_DEFINED__
    222 #define __IRDPSRAPITransportStream_FWD_DEFINED__
    223 typedef interface IRDPSRAPITransportStream IRDPSRAPITransportStream;
    224 #ifdef __cplusplus
    225 interface IRDPSRAPITransportStream;
    226 #endif /* __cplusplus */
    227 #endif
    228 
    229 #ifndef __IRDPSRAPISharingSession_FWD_DEFINED__
    230 #define __IRDPSRAPISharingSession_FWD_DEFINED__
    231 typedef interface IRDPSRAPISharingSession IRDPSRAPISharingSession;
    232 #ifdef __cplusplus
    233 interface IRDPSRAPISharingSession;
    234 #endif /* __cplusplus */
    235 #endif
    236 
    237 #ifndef __IRDPSRAPISharingSession2_FWD_DEFINED__
    238 #define __IRDPSRAPISharingSession2_FWD_DEFINED__
    239 typedef interface IRDPSRAPISharingSession2 IRDPSRAPISharingSession2;
    240 #ifdef __cplusplus
    241 interface IRDPSRAPISharingSession2;
    242 #endif /* __cplusplus */
    243 #endif
    244 
    245 #ifndef ___IRDPSessionEvents_FWD_DEFINED__
    246 #define ___IRDPSessionEvents_FWD_DEFINED__
    247 typedef interface _IRDPSessionEvents _IRDPSessionEvents;
    248 #ifdef __cplusplus
    249 interface _IRDPSessionEvents;
    250 #endif /* __cplusplus */
    251 #endif
    252 
    253 #ifndef __RDPViewer_FWD_DEFINED__
    254 #define __RDPViewer_FWD_DEFINED__
    255 #ifdef __cplusplus
    256 typedef class RDPViewer RDPViewer;
    257 #else
    258 typedef struct RDPViewer RDPViewer;
    259 #endif /* defined __cplusplus */
    260 #endif /* defined __RDPViewer_FWD_DEFINED__ */
    261 
    262 #ifndef __RDPSRAPISessionProperties_FWD_DEFINED__
    263 #define __RDPSRAPISessionProperties_FWD_DEFINED__
    264 #ifdef __cplusplus
    265 typedef class RDPSRAPISessionProperties RDPSRAPISessionProperties;
    266 #else
    267 typedef struct RDPSRAPISessionProperties RDPSRAPISessionProperties;
    268 #endif /* defined __cplusplus */
    269 #endif /* defined __RDPSRAPISessionProperties_FWD_DEFINED__ */
    270 
    271 #ifndef __RDPSRAPIInvitationManager_FWD_DEFINED__
    272 #define __RDPSRAPIInvitationManager_FWD_DEFINED__
    273 #ifdef __cplusplus
    274 typedef class RDPSRAPIInvitationManager RDPSRAPIInvitationManager;
    275 #else
    276 typedef struct RDPSRAPIInvitationManager RDPSRAPIInvitationManager;
    277 #endif /* defined __cplusplus */
    278 #endif /* defined __RDPSRAPIInvitationManager_FWD_DEFINED__ */
    279 
    280 #ifndef __RDPSRAPIInvitation_FWD_DEFINED__
    281 #define __RDPSRAPIInvitation_FWD_DEFINED__
    282 #ifdef __cplusplus
    283 typedef class RDPSRAPIInvitation RDPSRAPIInvitation;
    284 #else
    285 typedef struct RDPSRAPIInvitation RDPSRAPIInvitation;
    286 #endif /* defined __cplusplus */
    287 #endif /* defined __RDPSRAPIInvitation_FWD_DEFINED__ */
    288 
    289 #ifndef __RDPSRAPIAttendeeManager_FWD_DEFINED__
    290 #define __RDPSRAPIAttendeeManager_FWD_DEFINED__
    291 #ifdef __cplusplus
    292 typedef class RDPSRAPIAttendeeManager RDPSRAPIAttendeeManager;
    293 #else
    294 typedef struct RDPSRAPIAttendeeManager RDPSRAPIAttendeeManager;
    295 #endif /* defined __cplusplus */
    296 #endif /* defined __RDPSRAPIAttendeeManager_FWD_DEFINED__ */
    297 
    298 #ifndef __RDPSRAPIAttendee_FWD_DEFINED__
    299 #define __RDPSRAPIAttendee_FWD_DEFINED__
    300 #ifdef __cplusplus
    301 typedef class RDPSRAPIAttendee RDPSRAPIAttendee;
    302 #else
    303 typedef struct RDPSRAPIAttendee RDPSRAPIAttendee;
    304 #endif /* defined __cplusplus */
    305 #endif /* defined __RDPSRAPIAttendee_FWD_DEFINED__ */
    306 
    307 #ifndef __RDPSRAPIAttendeeDisconnectInfo_FWD_DEFINED__
    308 #define __RDPSRAPIAttendeeDisconnectInfo_FWD_DEFINED__
    309 #ifdef __cplusplus
    310 typedef class RDPSRAPIAttendeeDisconnectInfo RDPSRAPIAttendeeDisconnectInfo;
    311 #else
    312 typedef struct RDPSRAPIAttendeeDisconnectInfo RDPSRAPIAttendeeDisconnectInfo;
    313 #endif /* defined __cplusplus */
    314 #endif /* defined __RDPSRAPIAttendeeDisconnectInfo_FWD_DEFINED__ */
    315 
    316 #ifndef __RDPSRAPIApplicationFilter_FWD_DEFINED__
    317 #define __RDPSRAPIApplicationFilter_FWD_DEFINED__
    318 #ifdef __cplusplus
    319 typedef class RDPSRAPIApplicationFilter RDPSRAPIApplicationFilter;
    320 #else
    321 typedef struct RDPSRAPIApplicationFilter RDPSRAPIApplicationFilter;
    322 #endif /* defined __cplusplus */
    323 #endif /* defined __RDPSRAPIApplicationFilter_FWD_DEFINED__ */
    324 
    325 #ifndef __RDPSRAPIApplicationList_FWD_DEFINED__
    326 #define __RDPSRAPIApplicationList_FWD_DEFINED__
    327 #ifdef __cplusplus
    328 typedef class RDPSRAPIApplicationList RDPSRAPIApplicationList;
    329 #else
    330 typedef struct RDPSRAPIApplicationList RDPSRAPIApplicationList;
    331 #endif /* defined __cplusplus */
    332 #endif /* defined __RDPSRAPIApplicationList_FWD_DEFINED__ */
    333 
    334 #ifndef __RDPSRAPIApplication_FWD_DEFINED__
    335 #define __RDPSRAPIApplication_FWD_DEFINED__
    336 #ifdef __cplusplus
    337 typedef class RDPSRAPIApplication RDPSRAPIApplication;
    338 #else
    339 typedef struct RDPSRAPIApplication RDPSRAPIApplication;
    340 #endif /* defined __cplusplus */
    341 #endif /* defined __RDPSRAPIApplication_FWD_DEFINED__ */
    342 
    343 #ifndef __RDPSRAPIWindowList_FWD_DEFINED__
    344 #define __RDPSRAPIWindowList_FWD_DEFINED__
    345 #ifdef __cplusplus
    346 typedef class RDPSRAPIWindowList RDPSRAPIWindowList;
    347 #else
    348 typedef struct RDPSRAPIWindowList RDPSRAPIWindowList;
    349 #endif /* defined __cplusplus */
    350 #endif /* defined __RDPSRAPIWindowList_FWD_DEFINED__ */
    351 
    352 #ifndef __RDPSRAPIWindow_FWD_DEFINED__
    353 #define __RDPSRAPIWindow_FWD_DEFINED__
    354 #ifdef __cplusplus
    355 typedef class RDPSRAPIWindow RDPSRAPIWindow;
    356 #else
    357 typedef struct RDPSRAPIWindow RDPSRAPIWindow;
    358 #endif /* defined __cplusplus */
    359 #endif /* defined __RDPSRAPIWindow_FWD_DEFINED__ */
    360 
    361 #ifndef __RDPSRAPITcpConnectionInfo_FWD_DEFINED__
    362 #define __RDPSRAPITcpConnectionInfo_FWD_DEFINED__
    363 #ifdef __cplusplus
    364 typedef class RDPSRAPITcpConnectionInfo RDPSRAPITcpConnectionInfo;
    365 #else
    366 typedef struct RDPSRAPITcpConnectionInfo RDPSRAPITcpConnectionInfo;
    367 #endif /* defined __cplusplus */
    368 #endif /* defined __RDPSRAPITcpConnectionInfo_FWD_DEFINED__ */
    369 
    370 #ifndef __RDPSession_FWD_DEFINED__
    371 #define __RDPSession_FWD_DEFINED__
    372 #ifdef __cplusplus
    373 typedef class RDPSession RDPSession;
    374 #else
    375 typedef struct RDPSession RDPSession;
    376 #endif /* defined __cplusplus */
    377 #endif /* defined __RDPSession_FWD_DEFINED__ */
    378 
    379 #ifndef __RDPSRAPIFrameBuffer_FWD_DEFINED__
    380 #define __RDPSRAPIFrameBuffer_FWD_DEFINED__
    381 #ifdef __cplusplus
    382 typedef class RDPSRAPIFrameBuffer RDPSRAPIFrameBuffer;
    383 #else
    384 typedef struct RDPSRAPIFrameBuffer RDPSRAPIFrameBuffer;
    385 #endif /* defined __cplusplus */
    386 #endif /* defined __RDPSRAPIFrameBuffer_FWD_DEFINED__ */
    387 
    388 #ifndef __RDPTransportStreamBuffer_FWD_DEFINED__
    389 #define __RDPTransportStreamBuffer_FWD_DEFINED__
    390 #ifdef __cplusplus
    391 typedef class RDPTransportStreamBuffer RDPTransportStreamBuffer;
    392 #else
    393 typedef struct RDPTransportStreamBuffer RDPTransportStreamBuffer;
    394 #endif /* defined __cplusplus */
    395 #endif /* defined __RDPTransportStreamBuffer_FWD_DEFINED__ */
    396 
    397 #ifndef __RDPTransportStreamEvents_FWD_DEFINED__
    398 #define __RDPTransportStreamEvents_FWD_DEFINED__
    399 #ifdef __cplusplus
    400 typedef class RDPTransportStreamEvents RDPTransportStreamEvents;
    401 #else
    402 typedef struct RDPTransportStreamEvents RDPTransportStreamEvents;
    403 #endif /* defined __cplusplus */
    404 #endif /* defined __RDPTransportStreamEvents_FWD_DEFINED__ */
    405 
    406 /* Headers for imported files */
    407 
    408 #include <oaidl.h>
    409 #include <ocidl.h>
    410 
    411 #ifdef __cplusplus
    412 extern "C" {
    413 #endif
    414 
    415 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
    416 #define DISPID_RDPSRAPI_METHOD_OPEN (100)
    417 
    418 #define DISPID_RDPSRAPI_METHOD_CLOSE (101)
    419 
    420 #define DISPID_RDPSRAPI_METHOD_SETSHAREDRECT (102)
    421 
    422 #define DISPID_RDPSRAPI_METHOD_GETSHAREDRECT (103)
    423 
    424 #define DISPID_RDPSRAPI_METHOD_VIEWERCONNECT (104)
    425 
    426 #define DISPID_RDPSRAPI_METHOD_VIEWERDISCONNECT (105)
    427 
    428 #define DISPID_RDPSRAPI_METHOD_TERMINATE_CONNECTION (106)
    429 
    430 #define DISPID_RDPSRAPI_METHOD_CREATE_INVITATION (107)
    431 
    432 #define DISPID_RDPSRAPI_METHOD_REQUEST_CONTROL (108)
    433 
    434 #define DISPID_RDPSRAPI_METHOD_VIRTUAL_CHANNEL_CREATE (109)
    435 
    436 #define DISPID_RDPSRAPI_METHOD_VIRTUAL_CHANNEL_SEND_DATA (110)
    437 
    438 #define DISPID_RDPSRAPI_METHOD_VIRTUAL_CHANNEL_SET_ACCESS (111)
    439 
    440 #define DISPID_RDPSRAPI_METHOD_PAUSE (112)
    441 
    442 #define DISPID_RDPSRAPI_METHOD_RESUME (113)
    443 
    444 #define DISPID_RDPSRAPI_METHOD_SHOW_WINDOW (114)
    445 
    446 #define DISPID_RDPSRAPI_METHOD_REQUEST_COLOR_DEPTH_CHANGE (115)
    447 
    448 #define DISPID_RDPSRAPI_METHOD_STARTREVCONNECTLISTENER (116)
    449 
    450 #define DISPID_RDPSRAPI_METHOD_CONNECTTOCLIENT (117)
    451 
    452 #define DISPID_RDPSRAPI_METHOD_SET_RENDERING_SURFACE (118)
    453 
    454 #define DISPID_RDPSRAPI_METHOD_SEND_MOUSE_BUTTON_EVENT (119)
    455 
    456 #define DISPID_RDPSRAPI_METHOD_SEND_MOUSE_MOVE_EVENT (120)
    457 
    458 #define DISPID_RDPSRAPI_METHOD_SEND_MOUSE_WHEEL_EVENT (121)
    459 
    460 #define DISPID_RDPSRAPI_METHOD_SEND_KEYBOARD_EVENT (122)
    461 
    462 #define DISPID_RDPSRAPI_METHOD_SEND_SYNC_EVENT (123)
    463 
    464 #define DISPID_RDPSRAPI_METHOD_BEGIN_TOUCH_FRAME (124)
    465 
    466 #define DISPID_RDPSRAPI_METHOD_ADD_TOUCH_INPUT (125)
    467 
    468 #define DISPID_RDPSRAPI_METHOD_END_TOUCH_FRAME (126)
    469 
    470 #define DISPID_RDPSRAPI_METHOD_CONNECTUSINGTRANSPORTSTREAM (127)
    471 
    472 #define DISPID_RDPSRAPI_METHOD_SENDCONTROLLEVELCHANGERESPONSE (148)
    473 
    474 #define DISPID_RDPSRAPI_METHOD_GETFRAMEBUFFERBITS (149)
    475 
    476 #define DISPID_RDPSRAPI_PROP_DISPIDVALUE (200)
    477 
    478 #define DISPID_RDPSRAPI_PROP_ID (201)
    479 
    480 #define DISPID_RDPSRAPI_PROP_SESSION_PROPERTIES (202)
    481 
    482 #define DISPID_RDPSRAPI_PROP_ATTENDEES (203)
    483 
    484 #define DISPID_RDPSRAPI_PROP_INVITATIONS (204)
    485 
    486 #define DISPID_RDPSRAPI_PROP_INVITATION (205)
    487 
    488 #define DISPID_RDPSRAPI_PROP_CHANNELMANAGER (206)
    489 
    490 #define DISPID_RDPSRAPI_PROP_VIRTUAL_CHANNEL_GETNAME (207)
    491 
    492 #define DISPID_RDPSRAPI_PROP_VIRTUAL_CHANNEL_GETFLAGS (208)
    493 
    494 #define DISPID_RDPSRAPI_PROP_VIRTUAL_CHANNEL_GETPRIORITY (209)
    495 
    496 #define DISPID_RDPSRAPI_PROP_WINDOWID (210)
    497 
    498 #define DISPID_RDPSRAPI_PROP_APPLICATION (211)
    499 
    500 #define DISPID_RDPSRAPI_PROP_WINDOWSHARED (212)
    501 
    502 #define DISPID_RDPSRAPI_PROP_WINDOWNAME (213)
    503 
    504 #define DISPID_RDPSRAPI_PROP_APPNAME (214)
    505 
    506 #define DISPID_RDPSRAPI_PROP_APPLICATION_FILTER (215)
    507 
    508 #define DISPID_RDPSRAPI_PROP_WINDOW_LIST (216)
    509 
    510 #define DISPID_RDPSRAPI_PROP_APPLICATION_LIST (217)
    511 
    512 #define DISPID_RDPSRAPI_PROP_APPFILTER_ENABLED (218)
    513 
    514 #define DISPID_RDPSRAPI_PROP_APPFILTERENABLED (219)
    515 
    516 #define DISPID_RDPSRAPI_PROP_SHARED (220)
    517 
    518 #define DISPID_RDPSRAPI_PROP_INVITATIONITEM (221)
    519 
    520 #define DISPID_RDPSRAPI_PROP_DBG_CLX_CMDLINE (222)
    521 
    522 #define DISPID_RDPSRAPI_PROP_APPFLAGS (223)
    523 
    524 #define DISPID_RDPSRAPI_PROP_WNDFLAGS (224)
    525 
    526 #define DISPID_RDPSRAPI_PROP_PROTOCOL_TYPE (225)
    527 
    528 #define DISPID_RDPSRAPI_PROP_LOCAL_PORT (226)
    529 
    530 #define DISPID_RDPSRAPI_PROP_LOCAL_IP (227)
    531 
    532 #define DISPID_RDPSRAPI_PROP_PEER_PORT (228)
    533 
    534 #define DISPID_RDPSRAPI_PROP_PEER_IP (229)
    535 
    536 #define DISPID_RDPSRAPI_PROP_ATTENDEE_FLAGS (230)
    537 
    538 #define DISPID_RDPSRAPI_PROP_CONINFO (231)
    539 
    540 #define DISPID_RDPSRAPI_PROP_CONNECTION_STRING (232)
    541 
    542 #define DISPID_RDPSRAPI_PROP_GROUP_NAME (233)
    543 
    544 #define DISPID_RDPSRAPI_PROP_PASSWORD (234)
    545 
    546 #define DISPID_RDPSRAPI_PROP_ATTENDEELIMIT (235)
    547 
    548 #define DISPID_RDPSRAPI_PROP_REVOKED (236)
    549 
    550 #define DISPID_RDPSRAPI_PROP_DISCONNECTED_STRING (237)
    551 
    552 #define DISPID_RDPSRAPI_PROP_USESMARTSIZING (238)
    553 
    554 #define DISPID_RDPSRAPI_PROP_SESSION_COLORDEPTH (239)
    555 
    556 #define DISPID_RDPSRAPI_PROP_REASON (240)
    557 
    558 #define DISPID_RDPSRAPI_PROP_CODE (241)
    559 
    560 #define DISPID_RDPSRAPI_PROP_CTRL_LEVEL (242)
    561 
    562 #define DISPID_RDPSRAPI_PROP_REMOTENAME (243)
    563 
    564 #define DISPID_RDPSRAPI_PROP_COUNT (244)
    565 
    566 #define DISPID_RDPSRAPI_PROP_FRAMEBUFFER_HEIGHT (251)
    567 
    568 #define DISPID_RDPSRAPI_PROP_FRAMEBUFFER_WIDTH (252)
    569 
    570 #define DISPID_RDPSRAPI_PROP_FRAMEBUFFER_BPP (253)
    571 
    572 #define DISPID_RDPSRAPI_PROP_FRAMEBUFFER (254)
    573 
    574 #define DISPID_RDPSRAPI_EVENT_ON_ATTENDEE_CONNECTED (301)
    575 
    576 #define DISPID_RDPSRAPI_EVENT_ON_ATTENDEE_DISCONNECTED (302)
    577 
    578 #define DISPID_RDPSRAPI_EVENT_ON_ATTENDEE_UPDATE (303)
    579 
    580 #define DISPID_RDPSRAPI_EVENT_ON_ERROR (304)
    581 
    582 #define DISPID_RDPSRAPI_EVENT_ON_VIEWER_CONNECTED (305)
    583 
    584 #define DISPID_RDPSRAPI_EVENT_ON_VIEWER_DISCONNECTED (306)
    585 
    586 #define DISPID_RDPSRAPI_EVENT_ON_VIEWER_AUTHENTICATED (307)
    587 
    588 #define DISPID_RDPSRAPI_EVENT_ON_VIEWER_CONNECTFAILED (308)
    589 
    590 #define DISPID_RDPSRAPI_EVENT_ON_CTRLLEVEL_CHANGE_REQUEST (309)
    591 
    592 #define DISPID_RDPSRAPI_EVENT_ON_GRAPHICS_STREAM_PAUSED (310)
    593 
    594 #define DISPID_RDPSRAPI_EVENT_ON_GRAPHICS_STREAM_RESUMED (311)
    595 
    596 #define DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_JOIN (312)
    597 
    598 #define DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_LEAVE (313)
    599 
    600 #define DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_DATARECEIVED (314)
    601 
    602 #define DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_SENDCOMPLETED (315)
    603 
    604 #define DISPID_RDPSRAPI_EVENT_ON_APPLICATION_OPEN (316)
    605 
    606 #define DISPID_RDPSRAPI_EVENT_ON_APPLICATION_CLOSE (317)
    607 
    608 #define DISPID_RDPSRAPI_EVENT_ON_APPLICATION_UPDATE (318)
    609 
    610 #define DISPID_RDPSRAPI_EVENT_ON_WINDOW_OPEN (319)
    611 
    612 #define DISPID_RDPSRAPI_EVENT_ON_WINDOW_CLOSE (320)
    613 
    614 #define DISPID_RDPSRAPI_EVENT_ON_WINDOW_UPDATE (321)
    615 
    616 #define DISPID_RDPSRAPI_EVENT_ON_APPFILTER_UPDATE (322)
    617 
    618 #define DISPID_RDPSRAPI_EVENT_ON_SHARED_RECT_CHANGED (323)
    619 
    620 #define DISPID_RDPSRAPI_EVENT_ON_FOCUSRELEASED (324)
    621 
    622 #define DISPID_RDPSRAPI_EVENT_ON_SHARED_DESKTOP_SETTINGS_CHANGED (325)
    623 
    624 #define DISPID_RDPSRAPI_EVENT_ON_CTRLLEVEL_CHANGE_RESPONSE (338)
    625 
    626 #define DISPID_RDPAPI_EVENT_ON_BOUNDING_RECT_CHANGED (340)
    627 
    628 #define DISPID_RDPSRAPI_METHOD_STREAM_ALLOCBUFFER (421)
    629 
    630 #define DISPID_RDPSRAPI_METHOD_STREAM_FREEBUFFER (422)
    631 
    632 #define DISPID_RDPSRAPI_METHOD_STREAMSENDDATA (423)
    633 
    634 #define DISPID_RDPSRAPI_METHOD_STREAMREADDATA (424)
    635 
    636 #define DISPID_RDPSRAPI_METHOD_STREAMOPEN (425)
    637 
    638 #define DISPID_RDPSRAPI_METHOD_STREAMCLOSE (426)
    639 
    640 #define DISPID_RDPSRAPI_PROP_STREAMBUFFER_STORAGE (555)
    641 
    642 #define DISPID_RDPSRAPI_PROP_STREAMBUFFER_PAYLOADSIZE (558)
    643 
    644 #define DISPID_RDPSRAPI_PROP_STREAMBUFFER_PAYLOADOFFSET (559)
    645 
    646 #define DISPID_RDPSRAPI_PROP_STREAMBUFFER_CONTEXT (560)
    647 
    648 #define DISPID_RDPSRAPI_PROP_STREAMBUFFER_FLAGS (561)
    649 
    650 #define DISPID_RDPSRAPI_PROP_STREAMBUFFER_STORESIZE (562)
    651 
    652 #define DISPID_RDPSRAPI_EVENT_ON_STREAM_SENDCOMPLETED (632)
    653 
    654 #define DISPID_RDPSRAPI_EVENT_ON_STREAM_DATARECEIVED (633)
    655 
    656 #define DISPID_RDPSRAPI_EVENT_ON_STREAM_CLOSED (634)
    657 
    658 #define DISPID_RDPSRAPI_EVENT_VIEW_MOUSE_BUTTON_RECEIVED (700)
    659 
    660 #define DISPID_RDPSRAPI_EVENT_VIEW_MOUSE_MOVE_RECEIVED (701)
    661 
    662 #define DISPID_RDPSRAPI_EVENT_VIEW_MOUSE_WHEEL_RECEIVED (702)
    663 
    664 typedef enum __WIDL_rdpencomapi_generated_name_00000020 {
    665     CTRL_LEVEL_MIN = 0,
    666     CTRL_LEVEL_INVALID = 0,
    667     CTRL_LEVEL_NONE = 1,
    668     CTRL_LEVEL_VIEW = 2,
    669     CTRL_LEVEL_INTERACTIVE = 3,
    670     CTRL_LEVEL_REQCTRL_VIEW = 4,
    671     CTRL_LEVEL_REQCTRL_INTERACTIVE = 5,
    672     CTRL_LEVEL_MAX = 5
    673 } CTRL_LEVEL;
    674 typedef enum __WIDL_rdpencomapi_generated_name_00000021 {
    675     ATTENDEE_DISCONNECT_REASON_MIN = 0,
    676     ATTENDEE_DISCONNECT_REASON_APP = 0,
    677     ATTENDEE_DISCONNECT_REASON_ERR = 1,
    678     ATTENDEE_DISCONNECT_REASON_CLI = 2,
    679     ATTENDEE_DISCONNECT_REASON_MAX = 2
    680 } ATTENDEE_DISCONNECT_REASON;
    681 typedef enum __WIDL_rdpencomapi_generated_name_00000022 {
    682     CHANNEL_PRIORITY_LO = 0,
    683     CHANNEL_PRIORITY_MED = 1,
    684     CHANNEL_PRIORITY_HI = 2
    685 } CHANNEL_PRIORITY;
    686 typedef enum __WIDL_rdpencomapi_generated_name_00000023 {
    687     CHANNEL_FLAGS_LEGACY = 0x1,
    688     CHANNEL_FLAGS_UNCOMPRESSED = 0x2,
    689     CHANNEL_FLAGS_DYNAMIC = 0x4
    690 } CHANNEL_FLAGS;
    691 typedef enum __WIDL_rdpencomapi_generated_name_00000024 {
    692     CHANNEL_ACCESS_ENUM_NONE = 0,
    693     CHANNEL_ACCESS_ENUM_SENDRECEIVE = 1
    694 } CHANNEL_ACCESS_ENUM;
    695 typedef enum __WIDL_rdpencomapi_generated_name_00000025 {
    696     ATTENDEE_FLAGS_LOCAL = 1
    697 } RDPENCOMAPI_ATTENDEE_FLAGS;
    698 typedef enum __WIDL_rdpencomapi_generated_name_00000026 {
    699     WND_FLAG_PRIVILEGED = 1
    700 } RDPSRAPI_WND_FLAGS;
    701 typedef enum __WIDL_rdpencomapi_generated_name_00000027 {
    702     APP_FLAG_PRIVILEGED = 1
    703 } RDPSRAPI_APP_FLAGS;
    704 typedef enum __WIDL_rdpencomapi_generated_name_00000028 {
    705     RDPSRAPI_MOUSE_BUTTON_BUTTON1 = 0,
    706     RDPSRAPI_MOUSE_BUTTON_BUTTON2 = 1,
    707     RDPSRAPI_MOUSE_BUTTON_BUTTON3 = 2,
    708     RDPSRAPI_MOUSE_BUTTON_XBUTTON1 = 3,
    709     RDPSRAPI_MOUSE_BUTTON_XBUTTON2 = 4,
    710     RDPSRAPI_MOUSE_BUTTON_XBUTTON3 = 5
    711 } RDPSRAPI_MOUSE_BUTTON_TYPE;
    712 typedef enum __WIDL_rdpencomapi_generated_name_00000029 {
    713     RDPSRAPI_KBD_CODE_SCANCODE = 0,
    714     RDPSRAPI_KBD_CODE_UNICODE = 1
    715 } RDPSRAPI_KBD_CODE_TYPE;
    716 typedef enum __WIDL_rdpencomapi_generated_name_0000002A {
    717     RDPSRAPI_KBD_SYNC_FLAG_SCROLL_LOCK = 1,
    718     RDPSRAPI_KBD_SYNC_FLAG_NUM_LOCK = 2,
    719     RDPSRAPI_KBD_SYNC_FLAG_CAPS_LOCK = 4,
    720     RDPSRAPI_KBD_SYNC_FLAG_KANA_LOCK = 8
    721 } RDPSRAPI_KBD_SYNC_FLAG;
    722 /*****************************************************************************
    723  * IRDPSRAPIDebug interface
    724  */
    725 #ifndef __IRDPSRAPIDebug_INTERFACE_DEFINED__
    726 #define __IRDPSRAPIDebug_INTERFACE_DEFINED__
    727 
    728 DEFINE_GUID(IID_IRDPSRAPIDebug, 0xaa1e42b5, 0x496d, 0x4ca4, 0xa6,0x90, 0x34,0x8d,0xcb,0x2e,0xc4,0xad);
    729 #if defined(__cplusplus) && !defined(CINTERFACE)
    730 MIDL_INTERFACE("aa1e42b5-496d-4ca4-a690-348dcb2ec4ad")
    731 IRDPSRAPIDebug : public IUnknown
    732 {
    733     virtual HRESULT STDMETHODCALLTYPE put_CLXCmdLine(
    734         BSTR CLXCmdLine) = 0;
    735 
    736     virtual HRESULT STDMETHODCALLTYPE get_CLXCmdLine(
    737         BSTR *pCLXCmdLine) = 0;
    738 
    739 };
    740 #ifdef __CRT_UUID_DECL
    741 __CRT_UUID_DECL(IRDPSRAPIDebug, 0xaa1e42b5, 0x496d, 0x4ca4, 0xa6,0x90, 0x34,0x8d,0xcb,0x2e,0xc4,0xad)
    742 #endif
    743 #else
    744 typedef struct IRDPSRAPIDebugVtbl {
    745     BEGIN_INTERFACE
    746 
    747     /*** IUnknown methods ***/
    748     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    749         IRDPSRAPIDebug *This,
    750         REFIID riid,
    751         void **ppvObject);
    752 
    753     ULONG (STDMETHODCALLTYPE *AddRef)(
    754         IRDPSRAPIDebug *This);
    755 
    756     ULONG (STDMETHODCALLTYPE *Release)(
    757         IRDPSRAPIDebug *This);
    758 
    759     /*** IRDPSRAPIDebug methods ***/
    760     HRESULT (STDMETHODCALLTYPE *put_CLXCmdLine)(
    761         IRDPSRAPIDebug *This,
    762         BSTR CLXCmdLine);
    763 
    764     HRESULT (STDMETHODCALLTYPE *get_CLXCmdLine)(
    765         IRDPSRAPIDebug *This,
    766         BSTR *pCLXCmdLine);
    767 
    768     END_INTERFACE
    769 } IRDPSRAPIDebugVtbl;
    770 
    771 interface IRDPSRAPIDebug {
    772     CONST_VTBL IRDPSRAPIDebugVtbl* lpVtbl;
    773 };
    774 
    775 #ifdef COBJMACROS
    776 #ifndef WIDL_C_INLINE_WRAPPERS
    777 /*** IUnknown methods ***/
    778 #define IRDPSRAPIDebug_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    779 #define IRDPSRAPIDebug_AddRef(This) (This)->lpVtbl->AddRef(This)
    780 #define IRDPSRAPIDebug_Release(This) (This)->lpVtbl->Release(This)
    781 /*** IRDPSRAPIDebug methods ***/
    782 #define IRDPSRAPIDebug_put_CLXCmdLine(This,CLXCmdLine) (This)->lpVtbl->put_CLXCmdLine(This,CLXCmdLine)
    783 #define IRDPSRAPIDebug_get_CLXCmdLine(This,pCLXCmdLine) (This)->lpVtbl->get_CLXCmdLine(This,pCLXCmdLine)
    784 #else
    785 /*** IUnknown methods ***/
    786 static inline HRESULT IRDPSRAPIDebug_QueryInterface(IRDPSRAPIDebug* This,REFIID riid,void **ppvObject) {
    787     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    788 }
    789 static inline ULONG IRDPSRAPIDebug_AddRef(IRDPSRAPIDebug* This) {
    790     return This->lpVtbl->AddRef(This);
    791 }
    792 static inline ULONG IRDPSRAPIDebug_Release(IRDPSRAPIDebug* This) {
    793     return This->lpVtbl->Release(This);
    794 }
    795 /*** IRDPSRAPIDebug methods ***/
    796 static inline HRESULT IRDPSRAPIDebug_put_CLXCmdLine(IRDPSRAPIDebug* This,BSTR CLXCmdLine) {
    797     return This->lpVtbl->put_CLXCmdLine(This,CLXCmdLine);
    798 }
    799 static inline HRESULT IRDPSRAPIDebug_get_CLXCmdLine(IRDPSRAPIDebug* This,BSTR *pCLXCmdLine) {
    800     return This->lpVtbl->get_CLXCmdLine(This,pCLXCmdLine);
    801 }
    802 #endif
    803 #endif
    804 
    805 #endif
    806 
    807 
    808 #endif  /* __IRDPSRAPIDebug_INTERFACE_DEFINED__ */
    809 
    810 /*****************************************************************************
    811  * IRDPSRAPIPerfCounterLogger interface
    812  */
    813 #ifndef __IRDPSRAPIPerfCounterLogger_INTERFACE_DEFINED__
    814 #define __IRDPSRAPIPerfCounterLogger_INTERFACE_DEFINED__
    815 
    816 DEFINE_GUID(IID_IRDPSRAPIPerfCounterLogger, 0x071c2533, 0x0fa4, 0x4e8f, 0xae,0x83, 0x9c,0x10,0xb4,0x30,0x5a,0xb5);
    817 #if defined(__cplusplus) && !defined(CINTERFACE)
    818 MIDL_INTERFACE("071c2533-0fa4-4e8f-ae83-9c10b4305ab5")
    819 IRDPSRAPIPerfCounterLogger : public IUnknown
    820 {
    821     virtual HRESULT STDMETHODCALLTYPE LogValue(
    822         INT64 lValue) = 0;
    823 
    824 };
    825 #ifdef __CRT_UUID_DECL
    826 __CRT_UUID_DECL(IRDPSRAPIPerfCounterLogger, 0x071c2533, 0x0fa4, 0x4e8f, 0xae,0x83, 0x9c,0x10,0xb4,0x30,0x5a,0xb5)
    827 #endif
    828 #else
    829 typedef struct IRDPSRAPIPerfCounterLoggerVtbl {
    830     BEGIN_INTERFACE
    831 
    832     /*** IUnknown methods ***/
    833     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    834         IRDPSRAPIPerfCounterLogger *This,
    835         REFIID riid,
    836         void **ppvObject);
    837 
    838     ULONG (STDMETHODCALLTYPE *AddRef)(
    839         IRDPSRAPIPerfCounterLogger *This);
    840 
    841     ULONG (STDMETHODCALLTYPE *Release)(
    842         IRDPSRAPIPerfCounterLogger *This);
    843 
    844     /*** IRDPSRAPIPerfCounterLogger methods ***/
    845     HRESULT (STDMETHODCALLTYPE *LogValue)(
    846         IRDPSRAPIPerfCounterLogger *This,
    847         INT64 lValue);
    848 
    849     END_INTERFACE
    850 } IRDPSRAPIPerfCounterLoggerVtbl;
    851 
    852 interface IRDPSRAPIPerfCounterLogger {
    853     CONST_VTBL IRDPSRAPIPerfCounterLoggerVtbl* lpVtbl;
    854 };
    855 
    856 #ifdef COBJMACROS
    857 #ifndef WIDL_C_INLINE_WRAPPERS
    858 /*** IUnknown methods ***/
    859 #define IRDPSRAPIPerfCounterLogger_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    860 #define IRDPSRAPIPerfCounterLogger_AddRef(This) (This)->lpVtbl->AddRef(This)
    861 #define IRDPSRAPIPerfCounterLogger_Release(This) (This)->lpVtbl->Release(This)
    862 /*** IRDPSRAPIPerfCounterLogger methods ***/
    863 #define IRDPSRAPIPerfCounterLogger_LogValue(This,lValue) (This)->lpVtbl->LogValue(This,lValue)
    864 #else
    865 /*** IUnknown methods ***/
    866 static inline HRESULT IRDPSRAPIPerfCounterLogger_QueryInterface(IRDPSRAPIPerfCounterLogger* This,REFIID riid,void **ppvObject) {
    867     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    868 }
    869 static inline ULONG IRDPSRAPIPerfCounterLogger_AddRef(IRDPSRAPIPerfCounterLogger* This) {
    870     return This->lpVtbl->AddRef(This);
    871 }
    872 static inline ULONG IRDPSRAPIPerfCounterLogger_Release(IRDPSRAPIPerfCounterLogger* This) {
    873     return This->lpVtbl->Release(This);
    874 }
    875 /*** IRDPSRAPIPerfCounterLogger methods ***/
    876 static inline HRESULT IRDPSRAPIPerfCounterLogger_LogValue(IRDPSRAPIPerfCounterLogger* This,INT64 lValue) {
    877     return This->lpVtbl->LogValue(This,lValue);
    878 }
    879 #endif
    880 #endif
    881 
    882 #endif
    883 
    884 
    885 #endif  /* __IRDPSRAPIPerfCounterLogger_INTERFACE_DEFINED__ */
    886 
    887 /*****************************************************************************
    888  * IRDPSRAPIPerfCounterLoggingManager interface
    889  */
    890 #ifndef __IRDPSRAPIPerfCounterLoggingManager_INTERFACE_DEFINED__
    891 #define __IRDPSRAPIPerfCounterLoggingManager_INTERFACE_DEFINED__
    892 
    893 DEFINE_GUID(IID_IRDPSRAPIPerfCounterLoggingManager, 0x9a512c86, 0xac6e, 0x4a8e, 0xb1,0xa4, 0xfc,0xef,0x36,0x3f,0x6e,0x64);
    894 #if defined(__cplusplus) && !defined(CINTERFACE)
    895 MIDL_INTERFACE("9a512c86-ac6e-4a8e-b1a4-fcef363f6e64")
    896 IRDPSRAPIPerfCounterLoggingManager : public IUnknown
    897 {
    898     virtual HRESULT STDMETHODCALLTYPE CreateLogger(
    899         BSTR bstrCounterName,
    900         IRDPSRAPIPerfCounterLogger **ppLogger) = 0;
    901 
    902 };
    903 #ifdef __CRT_UUID_DECL
    904 __CRT_UUID_DECL(IRDPSRAPIPerfCounterLoggingManager, 0x9a512c86, 0xac6e, 0x4a8e, 0xb1,0xa4, 0xfc,0xef,0x36,0x3f,0x6e,0x64)
    905 #endif
    906 #else
    907 typedef struct IRDPSRAPIPerfCounterLoggingManagerVtbl {
    908     BEGIN_INTERFACE
    909 
    910     /*** IUnknown methods ***/
    911     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    912         IRDPSRAPIPerfCounterLoggingManager *This,
    913         REFIID riid,
    914         void **ppvObject);
    915 
    916     ULONG (STDMETHODCALLTYPE *AddRef)(
    917         IRDPSRAPIPerfCounterLoggingManager *This);
    918 
    919     ULONG (STDMETHODCALLTYPE *Release)(
    920         IRDPSRAPIPerfCounterLoggingManager *This);
    921 
    922     /*** IRDPSRAPIPerfCounterLoggingManager methods ***/
    923     HRESULT (STDMETHODCALLTYPE *CreateLogger)(
    924         IRDPSRAPIPerfCounterLoggingManager *This,
    925         BSTR bstrCounterName,
    926         IRDPSRAPIPerfCounterLogger **ppLogger);
    927 
    928     END_INTERFACE
    929 } IRDPSRAPIPerfCounterLoggingManagerVtbl;
    930 
    931 interface IRDPSRAPIPerfCounterLoggingManager {
    932     CONST_VTBL IRDPSRAPIPerfCounterLoggingManagerVtbl* lpVtbl;
    933 };
    934 
    935 #ifdef COBJMACROS
    936 #ifndef WIDL_C_INLINE_WRAPPERS
    937 /*** IUnknown methods ***/
    938 #define IRDPSRAPIPerfCounterLoggingManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    939 #define IRDPSRAPIPerfCounterLoggingManager_AddRef(This) (This)->lpVtbl->AddRef(This)
    940 #define IRDPSRAPIPerfCounterLoggingManager_Release(This) (This)->lpVtbl->Release(This)
    941 /*** IRDPSRAPIPerfCounterLoggingManager methods ***/
    942 #define IRDPSRAPIPerfCounterLoggingManager_CreateLogger(This,bstrCounterName,ppLogger) (This)->lpVtbl->CreateLogger(This,bstrCounterName,ppLogger)
    943 #else
    944 /*** IUnknown methods ***/
    945 static inline HRESULT IRDPSRAPIPerfCounterLoggingManager_QueryInterface(IRDPSRAPIPerfCounterLoggingManager* This,REFIID riid,void **ppvObject) {
    946     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    947 }
    948 static inline ULONG IRDPSRAPIPerfCounterLoggingManager_AddRef(IRDPSRAPIPerfCounterLoggingManager* This) {
    949     return This->lpVtbl->AddRef(This);
    950 }
    951 static inline ULONG IRDPSRAPIPerfCounterLoggingManager_Release(IRDPSRAPIPerfCounterLoggingManager* This) {
    952     return This->lpVtbl->Release(This);
    953 }
    954 /*** IRDPSRAPIPerfCounterLoggingManager methods ***/
    955 static inline HRESULT IRDPSRAPIPerfCounterLoggingManager_CreateLogger(IRDPSRAPIPerfCounterLoggingManager* This,BSTR bstrCounterName,IRDPSRAPIPerfCounterLogger **ppLogger) {
    956     return This->lpVtbl->CreateLogger(This,bstrCounterName,ppLogger);
    957 }
    958 #endif
    959 #endif
    960 
    961 #endif
    962 
    963 
    964 #endif  /* __IRDPSRAPIPerfCounterLoggingManager_INTERFACE_DEFINED__ */
    965 
    966 /*****************************************************************************
    967  * IRDPSRAPIAudioStream interface
    968  */
    969 #ifndef __IRDPSRAPIAudioStream_INTERFACE_DEFINED__
    970 #define __IRDPSRAPIAudioStream_INTERFACE_DEFINED__
    971 
    972 DEFINE_GUID(IID_IRDPSRAPIAudioStream, 0xe3e30ef9, 0x89c6, 0x4541, 0xba,0x3b, 0x19,0x33,0x6a,0xc6,0xd3,0x1c);
    973 #if defined(__cplusplus) && !defined(CINTERFACE)
    974 MIDL_INTERFACE("e3e30ef9-89c6-4541-ba3b-19336ac6d31c")
    975 IRDPSRAPIAudioStream : public IUnknown
    976 {
    977     virtual HRESULT STDMETHODCALLTYPE Initialize(
    978         INT64 *pnPeriodInHundredNsIntervals) = 0;
    979 
    980     virtual HRESULT STDMETHODCALLTYPE Start(
    981         ) = 0;
    982 
    983     virtual HRESULT STDMETHODCALLTYPE Stop(
    984         ) = 0;
    985 
    986     virtual HRESULT STDMETHODCALLTYPE GetBuffer(
    987         BYTE **ppbData,
    988         UINT32 *pcbData,
    989         UINT64 *pTimestamp) = 0;
    990 
    991     virtual HRESULT STDMETHODCALLTYPE FreeBuffer(
    992         ) = 0;
    993 
    994 };
    995 #ifdef __CRT_UUID_DECL
    996 __CRT_UUID_DECL(IRDPSRAPIAudioStream, 0xe3e30ef9, 0x89c6, 0x4541, 0xba,0x3b, 0x19,0x33,0x6a,0xc6,0xd3,0x1c)
    997 #endif
    998 #else
    999 typedef struct IRDPSRAPIAudioStreamVtbl {
   1000     BEGIN_INTERFACE
   1001 
   1002     /*** IUnknown methods ***/
   1003     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1004         IRDPSRAPIAudioStream *This,
   1005         REFIID riid,
   1006         void **ppvObject);
   1007 
   1008     ULONG (STDMETHODCALLTYPE *AddRef)(
   1009         IRDPSRAPIAudioStream *This);
   1010 
   1011     ULONG (STDMETHODCALLTYPE *Release)(
   1012         IRDPSRAPIAudioStream *This);
   1013 
   1014     /*** IRDPSRAPIAudioStream methods ***/
   1015     HRESULT (STDMETHODCALLTYPE *Initialize)(
   1016         IRDPSRAPIAudioStream *This,
   1017         INT64 *pnPeriodInHundredNsIntervals);
   1018 
   1019     HRESULT (STDMETHODCALLTYPE *Start)(
   1020         IRDPSRAPIAudioStream *This);
   1021 
   1022     HRESULT (STDMETHODCALLTYPE *Stop)(
   1023         IRDPSRAPIAudioStream *This);
   1024 
   1025     HRESULT (STDMETHODCALLTYPE *GetBuffer)(
   1026         IRDPSRAPIAudioStream *This,
   1027         BYTE **ppbData,
   1028         UINT32 *pcbData,
   1029         UINT64 *pTimestamp);
   1030 
   1031     HRESULT (STDMETHODCALLTYPE *FreeBuffer)(
   1032         IRDPSRAPIAudioStream *This);
   1033 
   1034     END_INTERFACE
   1035 } IRDPSRAPIAudioStreamVtbl;
   1036 
   1037 interface IRDPSRAPIAudioStream {
   1038     CONST_VTBL IRDPSRAPIAudioStreamVtbl* lpVtbl;
   1039 };
   1040 
   1041 #ifdef COBJMACROS
   1042 #ifndef WIDL_C_INLINE_WRAPPERS
   1043 /*** IUnknown methods ***/
   1044 #define IRDPSRAPIAudioStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1045 #define IRDPSRAPIAudioStream_AddRef(This) (This)->lpVtbl->AddRef(This)
   1046 #define IRDPSRAPIAudioStream_Release(This) (This)->lpVtbl->Release(This)
   1047 /*** IRDPSRAPIAudioStream methods ***/
   1048 #define IRDPSRAPIAudioStream_Initialize(This,pnPeriodInHundredNsIntervals) (This)->lpVtbl->Initialize(This,pnPeriodInHundredNsIntervals)
   1049 #define IRDPSRAPIAudioStream_Start(This) (This)->lpVtbl->Start(This)
   1050 #define IRDPSRAPIAudioStream_Stop(This) (This)->lpVtbl->Stop(This)
   1051 #define IRDPSRAPIAudioStream_GetBuffer(This,ppbData,pcbData,pTimestamp) (This)->lpVtbl->GetBuffer(This,ppbData,pcbData,pTimestamp)
   1052 #define IRDPSRAPIAudioStream_FreeBuffer(This) (This)->lpVtbl->FreeBuffer(This)
   1053 #else
   1054 /*** IUnknown methods ***/
   1055 static inline HRESULT IRDPSRAPIAudioStream_QueryInterface(IRDPSRAPIAudioStream* This,REFIID riid,void **ppvObject) {
   1056     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1057 }
   1058 static inline ULONG IRDPSRAPIAudioStream_AddRef(IRDPSRAPIAudioStream* This) {
   1059     return This->lpVtbl->AddRef(This);
   1060 }
   1061 static inline ULONG IRDPSRAPIAudioStream_Release(IRDPSRAPIAudioStream* This) {
   1062     return This->lpVtbl->Release(This);
   1063 }
   1064 /*** IRDPSRAPIAudioStream methods ***/
   1065 static inline HRESULT IRDPSRAPIAudioStream_Initialize(IRDPSRAPIAudioStream* This,INT64 *pnPeriodInHundredNsIntervals) {
   1066     return This->lpVtbl->Initialize(This,pnPeriodInHundredNsIntervals);
   1067 }
   1068 static inline HRESULT IRDPSRAPIAudioStream_Start(IRDPSRAPIAudioStream* This) {
   1069     return This->lpVtbl->Start(This);
   1070 }
   1071 static inline HRESULT IRDPSRAPIAudioStream_Stop(IRDPSRAPIAudioStream* This) {
   1072     return This->lpVtbl->Stop(This);
   1073 }
   1074 static inline HRESULT IRDPSRAPIAudioStream_GetBuffer(IRDPSRAPIAudioStream* This,BYTE **ppbData,UINT32 *pcbData,UINT64 *pTimestamp) {
   1075     return This->lpVtbl->GetBuffer(This,ppbData,pcbData,pTimestamp);
   1076 }
   1077 static inline HRESULT IRDPSRAPIAudioStream_FreeBuffer(IRDPSRAPIAudioStream* This) {
   1078     return This->lpVtbl->FreeBuffer(This);
   1079 }
   1080 #endif
   1081 #endif
   1082 
   1083 #endif
   1084 
   1085 
   1086 #endif  /* __IRDPSRAPIAudioStream_INTERFACE_DEFINED__ */
   1087 
   1088 /*****************************************************************************
   1089  * IRDPSRAPIClipboardUseEvents interface
   1090  */
   1091 #ifndef __IRDPSRAPIClipboardUseEvents_INTERFACE_DEFINED__
   1092 #define __IRDPSRAPIClipboardUseEvents_INTERFACE_DEFINED__
   1093 
   1094 DEFINE_GUID(IID_IRDPSRAPIClipboardUseEvents, 0xd559f59a, 0x7a27, 0x4138, 0x87,0x63, 0x24,0x7c,0xe5,0xf6,0x59,0xa8);
   1095 #if defined(__cplusplus) && !defined(CINTERFACE)
   1096 MIDL_INTERFACE("d559f59a-7a27-4138-8763-247ce5f659a8")
   1097 IRDPSRAPIClipboardUseEvents : public IUnknown
   1098 {
   1099     virtual HRESULT STDMETHODCALLTYPE OnPasteFromClipboard(
   1100         UINT clipboardFormat,
   1101         IDispatch *pAttendee,
   1102         VARIANT_BOOL *pRetVal) = 0;
   1103 
   1104 };
   1105 #ifdef __CRT_UUID_DECL
   1106 __CRT_UUID_DECL(IRDPSRAPIClipboardUseEvents, 0xd559f59a, 0x7a27, 0x4138, 0x87,0x63, 0x24,0x7c,0xe5,0xf6,0x59,0xa8)
   1107 #endif
   1108 #else
   1109 typedef struct IRDPSRAPIClipboardUseEventsVtbl {
   1110     BEGIN_INTERFACE
   1111 
   1112     /*** IUnknown methods ***/
   1113     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1114         IRDPSRAPIClipboardUseEvents *This,
   1115         REFIID riid,
   1116         void **ppvObject);
   1117 
   1118     ULONG (STDMETHODCALLTYPE *AddRef)(
   1119         IRDPSRAPIClipboardUseEvents *This);
   1120 
   1121     ULONG (STDMETHODCALLTYPE *Release)(
   1122         IRDPSRAPIClipboardUseEvents *This);
   1123 
   1124     /*** IRDPSRAPIClipboardUseEvents methods ***/
   1125     HRESULT (STDMETHODCALLTYPE *OnPasteFromClipboard)(
   1126         IRDPSRAPIClipboardUseEvents *This,
   1127         UINT clipboardFormat,
   1128         IDispatch *pAttendee,
   1129         VARIANT_BOOL *pRetVal);
   1130 
   1131     END_INTERFACE
   1132 } IRDPSRAPIClipboardUseEventsVtbl;
   1133 
   1134 interface IRDPSRAPIClipboardUseEvents {
   1135     CONST_VTBL IRDPSRAPIClipboardUseEventsVtbl* lpVtbl;
   1136 };
   1137 
   1138 #ifdef COBJMACROS
   1139 #ifndef WIDL_C_INLINE_WRAPPERS
   1140 /*** IUnknown methods ***/
   1141 #define IRDPSRAPIClipboardUseEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1142 #define IRDPSRAPIClipboardUseEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
   1143 #define IRDPSRAPIClipboardUseEvents_Release(This) (This)->lpVtbl->Release(This)
   1144 /*** IRDPSRAPIClipboardUseEvents methods ***/
   1145 #define IRDPSRAPIClipboardUseEvents_OnPasteFromClipboard(This,clipboardFormat,pAttendee,pRetVal) (This)->lpVtbl->OnPasteFromClipboard(This,clipboardFormat,pAttendee,pRetVal)
   1146 #else
   1147 /*** IUnknown methods ***/
   1148 static inline HRESULT IRDPSRAPIClipboardUseEvents_QueryInterface(IRDPSRAPIClipboardUseEvents* This,REFIID riid,void **ppvObject) {
   1149     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1150 }
   1151 static inline ULONG IRDPSRAPIClipboardUseEvents_AddRef(IRDPSRAPIClipboardUseEvents* This) {
   1152     return This->lpVtbl->AddRef(This);
   1153 }
   1154 static inline ULONG IRDPSRAPIClipboardUseEvents_Release(IRDPSRAPIClipboardUseEvents* This) {
   1155     return This->lpVtbl->Release(This);
   1156 }
   1157 /*** IRDPSRAPIClipboardUseEvents methods ***/
   1158 static inline HRESULT IRDPSRAPIClipboardUseEvents_OnPasteFromClipboard(IRDPSRAPIClipboardUseEvents* This,UINT clipboardFormat,IDispatch *pAttendee,VARIANT_BOOL *pRetVal) {
   1159     return This->lpVtbl->OnPasteFromClipboard(This,clipboardFormat,pAttendee,pRetVal);
   1160 }
   1161 #endif
   1162 #endif
   1163 
   1164 #endif
   1165 
   1166 
   1167 #endif  /* __IRDPSRAPIClipboardUseEvents_INTERFACE_DEFINED__ */
   1168 
   1169 #ifndef __IRDPSRAPIApplication_FWD_DEFINED__
   1170 #define __IRDPSRAPIApplication_FWD_DEFINED__
   1171 typedef interface IRDPSRAPIApplication IRDPSRAPIApplication;
   1172 #ifdef __cplusplus
   1173 interface IRDPSRAPIApplication;
   1174 #endif /* __cplusplus */
   1175 #endif
   1176 
   1177 /*****************************************************************************
   1178  * IRDPSRAPIWindow interface
   1179  */
   1180 #ifndef __IRDPSRAPIWindow_INTERFACE_DEFINED__
   1181 #define __IRDPSRAPIWindow_INTERFACE_DEFINED__
   1182 
   1183 DEFINE_GUID(IID_IRDPSRAPIWindow, 0xbeafe0f9, 0xc77b, 0x4933, 0xba,0x9f, 0xa2,0x4c,0xdd,0xcc,0x27,0xcf);
   1184 #if defined(__cplusplus) && !defined(CINTERFACE)
   1185 MIDL_INTERFACE("beafe0f9-c77b-4933-ba9f-a24cddcc27cf")
   1186 IRDPSRAPIWindow : public IDispatch
   1187 {
   1188     virtual HRESULT STDMETHODCALLTYPE get_Id(
   1189         LONG *pRetVal) = 0;
   1190 
   1191     virtual HRESULT STDMETHODCALLTYPE get_Application(
   1192         IRDPSRAPIApplication **pApplication) = 0;
   1193 
   1194     virtual HRESULT STDMETHODCALLTYPE get_Shared(
   1195         VARIANT_BOOL *pRetVal) = 0;
   1196 
   1197     virtual HRESULT STDMETHODCALLTYPE put_Shared(
   1198         VARIANT_BOOL NewVal) = 0;
   1199 
   1200     virtual HRESULT STDMETHODCALLTYPE get_Name(
   1201         BSTR *pRetVal) = 0;
   1202 
   1203     virtual HRESULT STDMETHODCALLTYPE Show(
   1204         ) = 0;
   1205 
   1206     virtual HRESULT STDMETHODCALLTYPE get_Flags(
   1207         ULONG *pdwFlags) = 0;
   1208 
   1209 };
   1210 #ifdef __CRT_UUID_DECL
   1211 __CRT_UUID_DECL(IRDPSRAPIWindow, 0xbeafe0f9, 0xc77b, 0x4933, 0xba,0x9f, 0xa2,0x4c,0xdd,0xcc,0x27,0xcf)
   1212 #endif
   1213 #else
   1214 typedef struct IRDPSRAPIWindowVtbl {
   1215     BEGIN_INTERFACE
   1216 
   1217     /*** IUnknown methods ***/
   1218     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1219         IRDPSRAPIWindow *This,
   1220         REFIID riid,
   1221         void **ppvObject);
   1222 
   1223     ULONG (STDMETHODCALLTYPE *AddRef)(
   1224         IRDPSRAPIWindow *This);
   1225 
   1226     ULONG (STDMETHODCALLTYPE *Release)(
   1227         IRDPSRAPIWindow *This);
   1228 
   1229     /*** IDispatch methods ***/
   1230     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   1231         IRDPSRAPIWindow *This,
   1232         UINT *pctinfo);
   1233 
   1234     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   1235         IRDPSRAPIWindow *This,
   1236         UINT iTInfo,
   1237         LCID lcid,
   1238         ITypeInfo **ppTInfo);
   1239 
   1240     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   1241         IRDPSRAPIWindow *This,
   1242         REFIID riid,
   1243         LPOLESTR *rgszNames,
   1244         UINT cNames,
   1245         LCID lcid,
   1246         DISPID *rgDispId);
   1247 
   1248     HRESULT (STDMETHODCALLTYPE *Invoke)(
   1249         IRDPSRAPIWindow *This,
   1250         DISPID dispIdMember,
   1251         REFIID riid,
   1252         LCID lcid,
   1253         WORD wFlags,
   1254         DISPPARAMS *pDispParams,
   1255         VARIANT *pVarResult,
   1256         EXCEPINFO *pExcepInfo,
   1257         UINT *puArgErr);
   1258 
   1259     /*** IRDPSRAPIWindow methods ***/
   1260     HRESULT (STDMETHODCALLTYPE *get_Id)(
   1261         IRDPSRAPIWindow *This,
   1262         LONG *pRetVal);
   1263 
   1264     HRESULT (STDMETHODCALLTYPE *get_Application)(
   1265         IRDPSRAPIWindow *This,
   1266         IRDPSRAPIApplication **pApplication);
   1267 
   1268     HRESULT (STDMETHODCALLTYPE *get_Shared)(
   1269         IRDPSRAPIWindow *This,
   1270         VARIANT_BOOL *pRetVal);
   1271 
   1272     HRESULT (STDMETHODCALLTYPE *put_Shared)(
   1273         IRDPSRAPIWindow *This,
   1274         VARIANT_BOOL NewVal);
   1275 
   1276     HRESULT (STDMETHODCALLTYPE *get_Name)(
   1277         IRDPSRAPIWindow *This,
   1278         BSTR *pRetVal);
   1279 
   1280     HRESULT (STDMETHODCALLTYPE *Show)(
   1281         IRDPSRAPIWindow *This);
   1282 
   1283     HRESULT (STDMETHODCALLTYPE *get_Flags)(
   1284         IRDPSRAPIWindow *This,
   1285         ULONG *pdwFlags);
   1286 
   1287     END_INTERFACE
   1288 } IRDPSRAPIWindowVtbl;
   1289 
   1290 interface IRDPSRAPIWindow {
   1291     CONST_VTBL IRDPSRAPIWindowVtbl* lpVtbl;
   1292 };
   1293 
   1294 #ifdef COBJMACROS
   1295 #ifndef WIDL_C_INLINE_WRAPPERS
   1296 /*** IUnknown methods ***/
   1297 #define IRDPSRAPIWindow_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1298 #define IRDPSRAPIWindow_AddRef(This) (This)->lpVtbl->AddRef(This)
   1299 #define IRDPSRAPIWindow_Release(This) (This)->lpVtbl->Release(This)
   1300 /*** IDispatch methods ***/
   1301 #define IRDPSRAPIWindow_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1302 #define IRDPSRAPIWindow_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1303 #define IRDPSRAPIWindow_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1304 #define IRDPSRAPIWindow_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1305 /*** IRDPSRAPIWindow methods ***/
   1306 #define IRDPSRAPIWindow_get_Id(This,pRetVal) (This)->lpVtbl->get_Id(This,pRetVal)
   1307 #define IRDPSRAPIWindow_get_Application(This,pApplication) (This)->lpVtbl->get_Application(This,pApplication)
   1308 #define IRDPSRAPIWindow_get_Shared(This,pRetVal) (This)->lpVtbl->get_Shared(This,pRetVal)
   1309 #define IRDPSRAPIWindow_put_Shared(This,NewVal) (This)->lpVtbl->put_Shared(This,NewVal)
   1310 #define IRDPSRAPIWindow_get_Name(This,pRetVal) (This)->lpVtbl->get_Name(This,pRetVal)
   1311 #define IRDPSRAPIWindow_Show(This) (This)->lpVtbl->Show(This)
   1312 #define IRDPSRAPIWindow_get_Flags(This,pdwFlags) (This)->lpVtbl->get_Flags(This,pdwFlags)
   1313 #else
   1314 /*** IUnknown methods ***/
   1315 static inline HRESULT IRDPSRAPIWindow_QueryInterface(IRDPSRAPIWindow* This,REFIID riid,void **ppvObject) {
   1316     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1317 }
   1318 static inline ULONG IRDPSRAPIWindow_AddRef(IRDPSRAPIWindow* This) {
   1319     return This->lpVtbl->AddRef(This);
   1320 }
   1321 static inline ULONG IRDPSRAPIWindow_Release(IRDPSRAPIWindow* This) {
   1322     return This->lpVtbl->Release(This);
   1323 }
   1324 /*** IDispatch methods ***/
   1325 static inline HRESULT IRDPSRAPIWindow_GetTypeInfoCount(IRDPSRAPIWindow* This,UINT *pctinfo) {
   1326     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   1327 }
   1328 static inline HRESULT IRDPSRAPIWindow_GetTypeInfo(IRDPSRAPIWindow* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   1329     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   1330 }
   1331 static inline HRESULT IRDPSRAPIWindow_GetIDsOfNames(IRDPSRAPIWindow* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   1332     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   1333 }
   1334 static inline HRESULT IRDPSRAPIWindow_Invoke(IRDPSRAPIWindow* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   1335     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   1336 }
   1337 /*** IRDPSRAPIWindow methods ***/
   1338 static inline HRESULT IRDPSRAPIWindow_get_Id(IRDPSRAPIWindow* This,LONG *pRetVal) {
   1339     return This->lpVtbl->get_Id(This,pRetVal);
   1340 }
   1341 static inline HRESULT IRDPSRAPIWindow_get_Application(IRDPSRAPIWindow* This,IRDPSRAPIApplication **pApplication) {
   1342     return This->lpVtbl->get_Application(This,pApplication);
   1343 }
   1344 static inline HRESULT IRDPSRAPIWindow_get_Shared(IRDPSRAPIWindow* This,VARIANT_BOOL *pRetVal) {
   1345     return This->lpVtbl->get_Shared(This,pRetVal);
   1346 }
   1347 static inline HRESULT IRDPSRAPIWindow_put_Shared(IRDPSRAPIWindow* This,VARIANT_BOOL NewVal) {
   1348     return This->lpVtbl->put_Shared(This,NewVal);
   1349 }
   1350 static inline HRESULT IRDPSRAPIWindow_get_Name(IRDPSRAPIWindow* This,BSTR *pRetVal) {
   1351     return This->lpVtbl->get_Name(This,pRetVal);
   1352 }
   1353 static inline HRESULT IRDPSRAPIWindow_Show(IRDPSRAPIWindow* This) {
   1354     return This->lpVtbl->Show(This);
   1355 }
   1356 static inline HRESULT IRDPSRAPIWindow_get_Flags(IRDPSRAPIWindow* This,ULONG *pdwFlags) {
   1357     return This->lpVtbl->get_Flags(This,pdwFlags);
   1358 }
   1359 #endif
   1360 #endif
   1361 
   1362 #endif
   1363 
   1364 
   1365 #endif  /* __IRDPSRAPIWindow_INTERFACE_DEFINED__ */
   1366 
   1367 /*****************************************************************************
   1368  * IRDPSRAPIWindowList interface
   1369  */
   1370 #ifndef __IRDPSRAPIWindowList_INTERFACE_DEFINED__
   1371 #define __IRDPSRAPIWindowList_INTERFACE_DEFINED__
   1372 
   1373 DEFINE_GUID(IID_IRDPSRAPIWindowList, 0x8a05ce44, 0x715a, 0x4116, 0xa1,0x89, 0xa1,0x18,0xf3,0x0a,0x07,0xbd);
   1374 #if defined(__cplusplus) && !defined(CINTERFACE)
   1375 MIDL_INTERFACE("8a05ce44-715a-4116-a189-a118f30a07bd")
   1376 IRDPSRAPIWindowList : public IDispatch
   1377 {
   1378     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
   1379         IUnknown **retval) = 0;
   1380 
   1381     virtual HRESULT STDMETHODCALLTYPE get_Item(
   1382         LONG item,
   1383         IRDPSRAPIWindow **pWindow) = 0;
   1384 
   1385 };
   1386 #ifdef __CRT_UUID_DECL
   1387 __CRT_UUID_DECL(IRDPSRAPIWindowList, 0x8a05ce44, 0x715a, 0x4116, 0xa1,0x89, 0xa1,0x18,0xf3,0x0a,0x07,0xbd)
   1388 #endif
   1389 #else
   1390 typedef struct IRDPSRAPIWindowListVtbl {
   1391     BEGIN_INTERFACE
   1392 
   1393     /*** IUnknown methods ***/
   1394     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1395         IRDPSRAPIWindowList *This,
   1396         REFIID riid,
   1397         void **ppvObject);
   1398 
   1399     ULONG (STDMETHODCALLTYPE *AddRef)(
   1400         IRDPSRAPIWindowList *This);
   1401 
   1402     ULONG (STDMETHODCALLTYPE *Release)(
   1403         IRDPSRAPIWindowList *This);
   1404 
   1405     /*** IDispatch methods ***/
   1406     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   1407         IRDPSRAPIWindowList *This,
   1408         UINT *pctinfo);
   1409 
   1410     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   1411         IRDPSRAPIWindowList *This,
   1412         UINT iTInfo,
   1413         LCID lcid,
   1414         ITypeInfo **ppTInfo);
   1415 
   1416     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   1417         IRDPSRAPIWindowList *This,
   1418         REFIID riid,
   1419         LPOLESTR *rgszNames,
   1420         UINT cNames,
   1421         LCID lcid,
   1422         DISPID *rgDispId);
   1423 
   1424     HRESULT (STDMETHODCALLTYPE *Invoke)(
   1425         IRDPSRAPIWindowList *This,
   1426         DISPID dispIdMember,
   1427         REFIID riid,
   1428         LCID lcid,
   1429         WORD wFlags,
   1430         DISPPARAMS *pDispParams,
   1431         VARIANT *pVarResult,
   1432         EXCEPINFO *pExcepInfo,
   1433         UINT *puArgErr);
   1434 
   1435     /*** IRDPSRAPIWindowList methods ***/
   1436     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
   1437         IRDPSRAPIWindowList *This,
   1438         IUnknown **retval);
   1439 
   1440     HRESULT (STDMETHODCALLTYPE *get_Item)(
   1441         IRDPSRAPIWindowList *This,
   1442         LONG item,
   1443         IRDPSRAPIWindow **pWindow);
   1444 
   1445     END_INTERFACE
   1446 } IRDPSRAPIWindowListVtbl;
   1447 
   1448 interface IRDPSRAPIWindowList {
   1449     CONST_VTBL IRDPSRAPIWindowListVtbl* lpVtbl;
   1450 };
   1451 
   1452 #ifdef COBJMACROS
   1453 #ifndef WIDL_C_INLINE_WRAPPERS
   1454 /*** IUnknown methods ***/
   1455 #define IRDPSRAPIWindowList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1456 #define IRDPSRAPIWindowList_AddRef(This) (This)->lpVtbl->AddRef(This)
   1457 #define IRDPSRAPIWindowList_Release(This) (This)->lpVtbl->Release(This)
   1458 /*** IDispatch methods ***/
   1459 #define IRDPSRAPIWindowList_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1460 #define IRDPSRAPIWindowList_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1461 #define IRDPSRAPIWindowList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1462 #define IRDPSRAPIWindowList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1463 /*** IRDPSRAPIWindowList methods ***/
   1464 #define IRDPSRAPIWindowList_get__NewEnum(This,retval) (This)->lpVtbl->get__NewEnum(This,retval)
   1465 #define IRDPSRAPIWindowList_get_Item(This,item,pWindow) (This)->lpVtbl->get_Item(This,item,pWindow)
   1466 #else
   1467 /*** IUnknown methods ***/
   1468 static inline HRESULT IRDPSRAPIWindowList_QueryInterface(IRDPSRAPIWindowList* This,REFIID riid,void **ppvObject) {
   1469     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1470 }
   1471 static inline ULONG IRDPSRAPIWindowList_AddRef(IRDPSRAPIWindowList* This) {
   1472     return This->lpVtbl->AddRef(This);
   1473 }
   1474 static inline ULONG IRDPSRAPIWindowList_Release(IRDPSRAPIWindowList* This) {
   1475     return This->lpVtbl->Release(This);
   1476 }
   1477 /*** IDispatch methods ***/
   1478 static inline HRESULT IRDPSRAPIWindowList_GetTypeInfoCount(IRDPSRAPIWindowList* This,UINT *pctinfo) {
   1479     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   1480 }
   1481 static inline HRESULT IRDPSRAPIWindowList_GetTypeInfo(IRDPSRAPIWindowList* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   1482     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   1483 }
   1484 static inline HRESULT IRDPSRAPIWindowList_GetIDsOfNames(IRDPSRAPIWindowList* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   1485     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   1486 }
   1487 static inline HRESULT IRDPSRAPIWindowList_Invoke(IRDPSRAPIWindowList* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   1488     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   1489 }
   1490 /*** IRDPSRAPIWindowList methods ***/
   1491 static inline HRESULT IRDPSRAPIWindowList_get__NewEnum(IRDPSRAPIWindowList* This,IUnknown **retval) {
   1492     return This->lpVtbl->get__NewEnum(This,retval);
   1493 }
   1494 static inline HRESULT IRDPSRAPIWindowList_get_Item(IRDPSRAPIWindowList* This,LONG item,IRDPSRAPIWindow **pWindow) {
   1495     return This->lpVtbl->get_Item(This,item,pWindow);
   1496 }
   1497 #endif
   1498 #endif
   1499 
   1500 #endif
   1501 
   1502 
   1503 #endif  /* __IRDPSRAPIWindowList_INTERFACE_DEFINED__ */
   1504 
   1505 /*****************************************************************************
   1506  * IRDPSRAPIApplication interface
   1507  */
   1508 #ifndef __IRDPSRAPIApplication_INTERFACE_DEFINED__
   1509 #define __IRDPSRAPIApplication_INTERFACE_DEFINED__
   1510 
   1511 DEFINE_GUID(IID_IRDPSRAPIApplication, 0x41e7a09d, 0xeb7a, 0x436e, 0x93,0x5d, 0x78,0x0c,0xa2,0x62,0x83,0x24);
   1512 #if defined(__cplusplus) && !defined(CINTERFACE)
   1513 MIDL_INTERFACE("41e7a09d-eb7a-436e-935d-780ca2628324")
   1514 IRDPSRAPIApplication : public IDispatch
   1515 {
   1516     virtual HRESULT STDMETHODCALLTYPE get_Windows(
   1517         IRDPSRAPIWindowList **pWindowList) = 0;
   1518 
   1519     virtual HRESULT STDMETHODCALLTYPE get_Id(
   1520         LONG *pRetVal) = 0;
   1521 
   1522     virtual HRESULT STDMETHODCALLTYPE get_Shared(
   1523         VARIANT_BOOL *pRetVal) = 0;
   1524 
   1525     virtual HRESULT STDMETHODCALLTYPE put_Shared(
   1526         VARIANT_BOOL NewVal) = 0;
   1527 
   1528     virtual HRESULT STDMETHODCALLTYPE get_Name(
   1529         BSTR *pRetVal) = 0;
   1530 
   1531     virtual HRESULT STDMETHODCALLTYPE get_Flags(
   1532         ULONG *pdwFlags) = 0;
   1533 
   1534 };
   1535 #ifdef __CRT_UUID_DECL
   1536 __CRT_UUID_DECL(IRDPSRAPIApplication, 0x41e7a09d, 0xeb7a, 0x436e, 0x93,0x5d, 0x78,0x0c,0xa2,0x62,0x83,0x24)
   1537 #endif
   1538 #else
   1539 typedef struct IRDPSRAPIApplicationVtbl {
   1540     BEGIN_INTERFACE
   1541 
   1542     /*** IUnknown methods ***/
   1543     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1544         IRDPSRAPIApplication *This,
   1545         REFIID riid,
   1546         void **ppvObject);
   1547 
   1548     ULONG (STDMETHODCALLTYPE *AddRef)(
   1549         IRDPSRAPIApplication *This);
   1550 
   1551     ULONG (STDMETHODCALLTYPE *Release)(
   1552         IRDPSRAPIApplication *This);
   1553 
   1554     /*** IDispatch methods ***/
   1555     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   1556         IRDPSRAPIApplication *This,
   1557         UINT *pctinfo);
   1558 
   1559     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   1560         IRDPSRAPIApplication *This,
   1561         UINT iTInfo,
   1562         LCID lcid,
   1563         ITypeInfo **ppTInfo);
   1564 
   1565     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   1566         IRDPSRAPIApplication *This,
   1567         REFIID riid,
   1568         LPOLESTR *rgszNames,
   1569         UINT cNames,
   1570         LCID lcid,
   1571         DISPID *rgDispId);
   1572 
   1573     HRESULT (STDMETHODCALLTYPE *Invoke)(
   1574         IRDPSRAPIApplication *This,
   1575         DISPID dispIdMember,
   1576         REFIID riid,
   1577         LCID lcid,
   1578         WORD wFlags,
   1579         DISPPARAMS *pDispParams,
   1580         VARIANT *pVarResult,
   1581         EXCEPINFO *pExcepInfo,
   1582         UINT *puArgErr);
   1583 
   1584     /*** IRDPSRAPIApplication methods ***/
   1585     HRESULT (STDMETHODCALLTYPE *get_Windows)(
   1586         IRDPSRAPIApplication *This,
   1587         IRDPSRAPIWindowList **pWindowList);
   1588 
   1589     HRESULT (STDMETHODCALLTYPE *get_Id)(
   1590         IRDPSRAPIApplication *This,
   1591         LONG *pRetVal);
   1592 
   1593     HRESULT (STDMETHODCALLTYPE *get_Shared)(
   1594         IRDPSRAPIApplication *This,
   1595         VARIANT_BOOL *pRetVal);
   1596 
   1597     HRESULT (STDMETHODCALLTYPE *put_Shared)(
   1598         IRDPSRAPIApplication *This,
   1599         VARIANT_BOOL NewVal);
   1600 
   1601     HRESULT (STDMETHODCALLTYPE *get_Name)(
   1602         IRDPSRAPIApplication *This,
   1603         BSTR *pRetVal);
   1604 
   1605     HRESULT (STDMETHODCALLTYPE *get_Flags)(
   1606         IRDPSRAPIApplication *This,
   1607         ULONG *pdwFlags);
   1608 
   1609     END_INTERFACE
   1610 } IRDPSRAPIApplicationVtbl;
   1611 
   1612 interface IRDPSRAPIApplication {
   1613     CONST_VTBL IRDPSRAPIApplicationVtbl* lpVtbl;
   1614 };
   1615 
   1616 #ifdef COBJMACROS
   1617 #ifndef WIDL_C_INLINE_WRAPPERS
   1618 /*** IUnknown methods ***/
   1619 #define IRDPSRAPIApplication_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1620 #define IRDPSRAPIApplication_AddRef(This) (This)->lpVtbl->AddRef(This)
   1621 #define IRDPSRAPIApplication_Release(This) (This)->lpVtbl->Release(This)
   1622 /*** IDispatch methods ***/
   1623 #define IRDPSRAPIApplication_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1624 #define IRDPSRAPIApplication_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1625 #define IRDPSRAPIApplication_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1626 #define IRDPSRAPIApplication_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1627 /*** IRDPSRAPIApplication methods ***/
   1628 #define IRDPSRAPIApplication_get_Windows(This,pWindowList) (This)->lpVtbl->get_Windows(This,pWindowList)
   1629 #define IRDPSRAPIApplication_get_Id(This,pRetVal) (This)->lpVtbl->get_Id(This,pRetVal)
   1630 #define IRDPSRAPIApplication_get_Shared(This,pRetVal) (This)->lpVtbl->get_Shared(This,pRetVal)
   1631 #define IRDPSRAPIApplication_put_Shared(This,NewVal) (This)->lpVtbl->put_Shared(This,NewVal)
   1632 #define IRDPSRAPIApplication_get_Name(This,pRetVal) (This)->lpVtbl->get_Name(This,pRetVal)
   1633 #define IRDPSRAPIApplication_get_Flags(This,pdwFlags) (This)->lpVtbl->get_Flags(This,pdwFlags)
   1634 #else
   1635 /*** IUnknown methods ***/
   1636 static inline HRESULT IRDPSRAPIApplication_QueryInterface(IRDPSRAPIApplication* This,REFIID riid,void **ppvObject) {
   1637     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1638 }
   1639 static inline ULONG IRDPSRAPIApplication_AddRef(IRDPSRAPIApplication* This) {
   1640     return This->lpVtbl->AddRef(This);
   1641 }
   1642 static inline ULONG IRDPSRAPIApplication_Release(IRDPSRAPIApplication* This) {
   1643     return This->lpVtbl->Release(This);
   1644 }
   1645 /*** IDispatch methods ***/
   1646 static inline HRESULT IRDPSRAPIApplication_GetTypeInfoCount(IRDPSRAPIApplication* This,UINT *pctinfo) {
   1647     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   1648 }
   1649 static inline HRESULT IRDPSRAPIApplication_GetTypeInfo(IRDPSRAPIApplication* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   1650     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   1651 }
   1652 static inline HRESULT IRDPSRAPIApplication_GetIDsOfNames(IRDPSRAPIApplication* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   1653     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   1654 }
   1655 static inline HRESULT IRDPSRAPIApplication_Invoke(IRDPSRAPIApplication* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   1656     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   1657 }
   1658 /*** IRDPSRAPIApplication methods ***/
   1659 static inline HRESULT IRDPSRAPIApplication_get_Windows(IRDPSRAPIApplication* This,IRDPSRAPIWindowList **pWindowList) {
   1660     return This->lpVtbl->get_Windows(This,pWindowList);
   1661 }
   1662 static inline HRESULT IRDPSRAPIApplication_get_Id(IRDPSRAPIApplication* This,LONG *pRetVal) {
   1663     return This->lpVtbl->get_Id(This,pRetVal);
   1664 }
   1665 static inline HRESULT IRDPSRAPIApplication_get_Shared(IRDPSRAPIApplication* This,VARIANT_BOOL *pRetVal) {
   1666     return This->lpVtbl->get_Shared(This,pRetVal);
   1667 }
   1668 static inline HRESULT IRDPSRAPIApplication_put_Shared(IRDPSRAPIApplication* This,VARIANT_BOOL NewVal) {
   1669     return This->lpVtbl->put_Shared(This,NewVal);
   1670 }
   1671 static inline HRESULT IRDPSRAPIApplication_get_Name(IRDPSRAPIApplication* This,BSTR *pRetVal) {
   1672     return This->lpVtbl->get_Name(This,pRetVal);
   1673 }
   1674 static inline HRESULT IRDPSRAPIApplication_get_Flags(IRDPSRAPIApplication* This,ULONG *pdwFlags) {
   1675     return This->lpVtbl->get_Flags(This,pdwFlags);
   1676 }
   1677 #endif
   1678 #endif
   1679 
   1680 #endif
   1681 
   1682 
   1683 #endif  /* __IRDPSRAPIApplication_INTERFACE_DEFINED__ */
   1684 
   1685 /*****************************************************************************
   1686  * IRDPSRAPIApplicationList interface
   1687  */
   1688 #ifndef __IRDPSRAPIApplicationList_INTERFACE_DEFINED__
   1689 #define __IRDPSRAPIApplicationList_INTERFACE_DEFINED__
   1690 
   1691 DEFINE_GUID(IID_IRDPSRAPIApplicationList, 0xd4b4aeb3, 0x22dc, 0x4837, 0xb3,0xb6, 0x42,0xea,0x25,0x17,0x84,0x9a);
   1692 #if defined(__cplusplus) && !defined(CINTERFACE)
   1693 MIDL_INTERFACE("d4b4aeb3-22dc-4837-b3b6-42ea2517849a")
   1694 IRDPSRAPIApplicationList : public IDispatch
   1695 {
   1696     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
   1697         IUnknown **retval) = 0;
   1698 
   1699     virtual HRESULT STDMETHODCALLTYPE get_Item(
   1700         LONG item,
   1701         IRDPSRAPIApplication **pApplication) = 0;
   1702 
   1703 };
   1704 #ifdef __CRT_UUID_DECL
   1705 __CRT_UUID_DECL(IRDPSRAPIApplicationList, 0xd4b4aeb3, 0x22dc, 0x4837, 0xb3,0xb6, 0x42,0xea,0x25,0x17,0x84,0x9a)
   1706 #endif
   1707 #else
   1708 typedef struct IRDPSRAPIApplicationListVtbl {
   1709     BEGIN_INTERFACE
   1710 
   1711     /*** IUnknown methods ***/
   1712     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1713         IRDPSRAPIApplicationList *This,
   1714         REFIID riid,
   1715         void **ppvObject);
   1716 
   1717     ULONG (STDMETHODCALLTYPE *AddRef)(
   1718         IRDPSRAPIApplicationList *This);
   1719 
   1720     ULONG (STDMETHODCALLTYPE *Release)(
   1721         IRDPSRAPIApplicationList *This);
   1722 
   1723     /*** IDispatch methods ***/
   1724     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   1725         IRDPSRAPIApplicationList *This,
   1726         UINT *pctinfo);
   1727 
   1728     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   1729         IRDPSRAPIApplicationList *This,
   1730         UINT iTInfo,
   1731         LCID lcid,
   1732         ITypeInfo **ppTInfo);
   1733 
   1734     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   1735         IRDPSRAPIApplicationList *This,
   1736         REFIID riid,
   1737         LPOLESTR *rgszNames,
   1738         UINT cNames,
   1739         LCID lcid,
   1740         DISPID *rgDispId);
   1741 
   1742     HRESULT (STDMETHODCALLTYPE *Invoke)(
   1743         IRDPSRAPIApplicationList *This,
   1744         DISPID dispIdMember,
   1745         REFIID riid,
   1746         LCID lcid,
   1747         WORD wFlags,
   1748         DISPPARAMS *pDispParams,
   1749         VARIANT *pVarResult,
   1750         EXCEPINFO *pExcepInfo,
   1751         UINT *puArgErr);
   1752 
   1753     /*** IRDPSRAPIApplicationList methods ***/
   1754     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
   1755         IRDPSRAPIApplicationList *This,
   1756         IUnknown **retval);
   1757 
   1758     HRESULT (STDMETHODCALLTYPE *get_Item)(
   1759         IRDPSRAPIApplicationList *This,
   1760         LONG item,
   1761         IRDPSRAPIApplication **pApplication);
   1762 
   1763     END_INTERFACE
   1764 } IRDPSRAPIApplicationListVtbl;
   1765 
   1766 interface IRDPSRAPIApplicationList {
   1767     CONST_VTBL IRDPSRAPIApplicationListVtbl* lpVtbl;
   1768 };
   1769 
   1770 #ifdef COBJMACROS
   1771 #ifndef WIDL_C_INLINE_WRAPPERS
   1772 /*** IUnknown methods ***/
   1773 #define IRDPSRAPIApplicationList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1774 #define IRDPSRAPIApplicationList_AddRef(This) (This)->lpVtbl->AddRef(This)
   1775 #define IRDPSRAPIApplicationList_Release(This) (This)->lpVtbl->Release(This)
   1776 /*** IDispatch methods ***/
   1777 #define IRDPSRAPIApplicationList_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1778 #define IRDPSRAPIApplicationList_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1779 #define IRDPSRAPIApplicationList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1780 #define IRDPSRAPIApplicationList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1781 /*** IRDPSRAPIApplicationList methods ***/
   1782 #define IRDPSRAPIApplicationList_get__NewEnum(This,retval) (This)->lpVtbl->get__NewEnum(This,retval)
   1783 #define IRDPSRAPIApplicationList_get_Item(This,item,pApplication) (This)->lpVtbl->get_Item(This,item,pApplication)
   1784 #else
   1785 /*** IUnknown methods ***/
   1786 static inline HRESULT IRDPSRAPIApplicationList_QueryInterface(IRDPSRAPIApplicationList* This,REFIID riid,void **ppvObject) {
   1787     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1788 }
   1789 static inline ULONG IRDPSRAPIApplicationList_AddRef(IRDPSRAPIApplicationList* This) {
   1790     return This->lpVtbl->AddRef(This);
   1791 }
   1792 static inline ULONG IRDPSRAPIApplicationList_Release(IRDPSRAPIApplicationList* This) {
   1793     return This->lpVtbl->Release(This);
   1794 }
   1795 /*** IDispatch methods ***/
   1796 static inline HRESULT IRDPSRAPIApplicationList_GetTypeInfoCount(IRDPSRAPIApplicationList* This,UINT *pctinfo) {
   1797     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   1798 }
   1799 static inline HRESULT IRDPSRAPIApplicationList_GetTypeInfo(IRDPSRAPIApplicationList* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   1800     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   1801 }
   1802 static inline HRESULT IRDPSRAPIApplicationList_GetIDsOfNames(IRDPSRAPIApplicationList* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   1803     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   1804 }
   1805 static inline HRESULT IRDPSRAPIApplicationList_Invoke(IRDPSRAPIApplicationList* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   1806     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   1807 }
   1808 /*** IRDPSRAPIApplicationList methods ***/
   1809 static inline HRESULT IRDPSRAPIApplicationList_get__NewEnum(IRDPSRAPIApplicationList* This,IUnknown **retval) {
   1810     return This->lpVtbl->get__NewEnum(This,retval);
   1811 }
   1812 static inline HRESULT IRDPSRAPIApplicationList_get_Item(IRDPSRAPIApplicationList* This,LONG item,IRDPSRAPIApplication **pApplication) {
   1813     return This->lpVtbl->get_Item(This,item,pApplication);
   1814 }
   1815 #endif
   1816 #endif
   1817 
   1818 #endif
   1819 
   1820 
   1821 #endif  /* __IRDPSRAPIApplicationList_INTERFACE_DEFINED__ */
   1822 
   1823 /*****************************************************************************
   1824  * IRDPSRAPIApplicationFilter interface
   1825  */
   1826 #ifndef __IRDPSRAPIApplicationFilter_INTERFACE_DEFINED__
   1827 #define __IRDPSRAPIApplicationFilter_INTERFACE_DEFINED__
   1828 
   1829 DEFINE_GUID(IID_IRDPSRAPIApplicationFilter, 0xd20f10ca, 0x6637, 0x4f06, 0xb1,0xd5, 0x27,0x7e,0xa7,0xe5,0x16,0x0d);
   1830 #if defined(__cplusplus) && !defined(CINTERFACE)
   1831 MIDL_INTERFACE("d20f10ca-6637-4f06-b1d5-277ea7e5160d")
   1832 IRDPSRAPIApplicationFilter : public IDispatch
   1833 {
   1834     virtual HRESULT STDMETHODCALLTYPE get_Applications(
   1835         IRDPSRAPIApplicationList **pApplications) = 0;
   1836 
   1837     virtual HRESULT STDMETHODCALLTYPE get_Windows(
   1838         IRDPSRAPIWindowList **pWindows) = 0;
   1839 
   1840     virtual HRESULT STDMETHODCALLTYPE get_Enabled(
   1841         VARIANT_BOOL *pRetVal) = 0;
   1842 
   1843     virtual HRESULT STDMETHODCALLTYPE put_Enabled(
   1844         VARIANT_BOOL NewVal) = 0;
   1845 
   1846 };
   1847 #ifdef __CRT_UUID_DECL
   1848 __CRT_UUID_DECL(IRDPSRAPIApplicationFilter, 0xd20f10ca, 0x6637, 0x4f06, 0xb1,0xd5, 0x27,0x7e,0xa7,0xe5,0x16,0x0d)
   1849 #endif
   1850 #else
   1851 typedef struct IRDPSRAPIApplicationFilterVtbl {
   1852     BEGIN_INTERFACE
   1853 
   1854     /*** IUnknown methods ***/
   1855     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1856         IRDPSRAPIApplicationFilter *This,
   1857         REFIID riid,
   1858         void **ppvObject);
   1859 
   1860     ULONG (STDMETHODCALLTYPE *AddRef)(
   1861         IRDPSRAPIApplicationFilter *This);
   1862 
   1863     ULONG (STDMETHODCALLTYPE *Release)(
   1864         IRDPSRAPIApplicationFilter *This);
   1865 
   1866     /*** IDispatch methods ***/
   1867     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   1868         IRDPSRAPIApplicationFilter *This,
   1869         UINT *pctinfo);
   1870 
   1871     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   1872         IRDPSRAPIApplicationFilter *This,
   1873         UINT iTInfo,
   1874         LCID lcid,
   1875         ITypeInfo **ppTInfo);
   1876 
   1877     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   1878         IRDPSRAPIApplicationFilter *This,
   1879         REFIID riid,
   1880         LPOLESTR *rgszNames,
   1881         UINT cNames,
   1882         LCID lcid,
   1883         DISPID *rgDispId);
   1884 
   1885     HRESULT (STDMETHODCALLTYPE *Invoke)(
   1886         IRDPSRAPIApplicationFilter *This,
   1887         DISPID dispIdMember,
   1888         REFIID riid,
   1889         LCID lcid,
   1890         WORD wFlags,
   1891         DISPPARAMS *pDispParams,
   1892         VARIANT *pVarResult,
   1893         EXCEPINFO *pExcepInfo,
   1894         UINT *puArgErr);
   1895 
   1896     /*** IRDPSRAPIApplicationFilter methods ***/
   1897     HRESULT (STDMETHODCALLTYPE *get_Applications)(
   1898         IRDPSRAPIApplicationFilter *This,
   1899         IRDPSRAPIApplicationList **pApplications);
   1900 
   1901     HRESULT (STDMETHODCALLTYPE *get_Windows)(
   1902         IRDPSRAPIApplicationFilter *This,
   1903         IRDPSRAPIWindowList **pWindows);
   1904 
   1905     HRESULT (STDMETHODCALLTYPE *get_Enabled)(
   1906         IRDPSRAPIApplicationFilter *This,
   1907         VARIANT_BOOL *pRetVal);
   1908 
   1909     HRESULT (STDMETHODCALLTYPE *put_Enabled)(
   1910         IRDPSRAPIApplicationFilter *This,
   1911         VARIANT_BOOL NewVal);
   1912 
   1913     END_INTERFACE
   1914 } IRDPSRAPIApplicationFilterVtbl;
   1915 
   1916 interface IRDPSRAPIApplicationFilter {
   1917     CONST_VTBL IRDPSRAPIApplicationFilterVtbl* lpVtbl;
   1918 };
   1919 
   1920 #ifdef COBJMACROS
   1921 #ifndef WIDL_C_INLINE_WRAPPERS
   1922 /*** IUnknown methods ***/
   1923 #define IRDPSRAPIApplicationFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1924 #define IRDPSRAPIApplicationFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
   1925 #define IRDPSRAPIApplicationFilter_Release(This) (This)->lpVtbl->Release(This)
   1926 /*** IDispatch methods ***/
   1927 #define IRDPSRAPIApplicationFilter_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1928 #define IRDPSRAPIApplicationFilter_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1929 #define IRDPSRAPIApplicationFilter_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1930 #define IRDPSRAPIApplicationFilter_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1931 /*** IRDPSRAPIApplicationFilter methods ***/
   1932 #define IRDPSRAPIApplicationFilter_get_Applications(This,pApplications) (This)->lpVtbl->get_Applications(This,pApplications)
   1933 #define IRDPSRAPIApplicationFilter_get_Windows(This,pWindows) (This)->lpVtbl->get_Windows(This,pWindows)
   1934 #define IRDPSRAPIApplicationFilter_get_Enabled(This,pRetVal) (This)->lpVtbl->get_Enabled(This,pRetVal)
   1935 #define IRDPSRAPIApplicationFilter_put_Enabled(This,NewVal) (This)->lpVtbl->put_Enabled(This,NewVal)
   1936 #else
   1937 /*** IUnknown methods ***/
   1938 static inline HRESULT IRDPSRAPIApplicationFilter_QueryInterface(IRDPSRAPIApplicationFilter* This,REFIID riid,void **ppvObject) {
   1939     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1940 }
   1941 static inline ULONG IRDPSRAPIApplicationFilter_AddRef(IRDPSRAPIApplicationFilter* This) {
   1942     return This->lpVtbl->AddRef(This);
   1943 }
   1944 static inline ULONG IRDPSRAPIApplicationFilter_Release(IRDPSRAPIApplicationFilter* This) {
   1945     return This->lpVtbl->Release(This);
   1946 }
   1947 /*** IDispatch methods ***/
   1948 static inline HRESULT IRDPSRAPIApplicationFilter_GetTypeInfoCount(IRDPSRAPIApplicationFilter* This,UINT *pctinfo) {
   1949     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   1950 }
   1951 static inline HRESULT IRDPSRAPIApplicationFilter_GetTypeInfo(IRDPSRAPIApplicationFilter* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   1952     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   1953 }
   1954 static inline HRESULT IRDPSRAPIApplicationFilter_GetIDsOfNames(IRDPSRAPIApplicationFilter* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   1955     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   1956 }
   1957 static inline HRESULT IRDPSRAPIApplicationFilter_Invoke(IRDPSRAPIApplicationFilter* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   1958     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   1959 }
   1960 /*** IRDPSRAPIApplicationFilter methods ***/
   1961 static inline HRESULT IRDPSRAPIApplicationFilter_get_Applications(IRDPSRAPIApplicationFilter* This,IRDPSRAPIApplicationList **pApplications) {
   1962     return This->lpVtbl->get_Applications(This,pApplications);
   1963 }
   1964 static inline HRESULT IRDPSRAPIApplicationFilter_get_Windows(IRDPSRAPIApplicationFilter* This,IRDPSRAPIWindowList **pWindows) {
   1965     return This->lpVtbl->get_Windows(This,pWindows);
   1966 }
   1967 static inline HRESULT IRDPSRAPIApplicationFilter_get_Enabled(IRDPSRAPIApplicationFilter* This,VARIANT_BOOL *pRetVal) {
   1968     return This->lpVtbl->get_Enabled(This,pRetVal);
   1969 }
   1970 static inline HRESULT IRDPSRAPIApplicationFilter_put_Enabled(IRDPSRAPIApplicationFilter* This,VARIANT_BOOL NewVal) {
   1971     return This->lpVtbl->put_Enabled(This,NewVal);
   1972 }
   1973 #endif
   1974 #endif
   1975 
   1976 #endif
   1977 
   1978 
   1979 #endif  /* __IRDPSRAPIApplicationFilter_INTERFACE_DEFINED__ */
   1980 
   1981 /*****************************************************************************
   1982  * IRDPSRAPISessionProperties interface
   1983  */
   1984 #ifndef __IRDPSRAPISessionProperties_INTERFACE_DEFINED__
   1985 #define __IRDPSRAPISessionProperties_INTERFACE_DEFINED__
   1986 
   1987 DEFINE_GUID(IID_IRDPSRAPISessionProperties, 0x339b24f2, 0x9bc0, 0x4f16, 0x9a,0xac, 0xf1,0x65,0x43,0x3d,0x13,0xd4);
   1988 #if defined(__cplusplus) && !defined(CINTERFACE)
   1989 MIDL_INTERFACE("339b24f2-9bc0-4f16-9aac-f165433d13d4")
   1990 IRDPSRAPISessionProperties : public IDispatch
   1991 {
   1992     virtual HRESULT STDMETHODCALLTYPE get_Property(
   1993         BSTR PropertyName,
   1994         VARIANT *pVal) = 0;
   1995 
   1996     virtual HRESULT STDMETHODCALLTYPE put_Property(
   1997         BSTR PropertyName,
   1998         VARIANT newVal) = 0;
   1999 
   2000 };
   2001 #ifdef __CRT_UUID_DECL
   2002 __CRT_UUID_DECL(IRDPSRAPISessionProperties, 0x339b24f2, 0x9bc0, 0x4f16, 0x9a,0xac, 0xf1,0x65,0x43,0x3d,0x13,0xd4)
   2003 #endif
   2004 #else
   2005 typedef struct IRDPSRAPISessionPropertiesVtbl {
   2006     BEGIN_INTERFACE
   2007 
   2008     /*** IUnknown methods ***/
   2009     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2010         IRDPSRAPISessionProperties *This,
   2011         REFIID riid,
   2012         void **ppvObject);
   2013 
   2014     ULONG (STDMETHODCALLTYPE *AddRef)(
   2015         IRDPSRAPISessionProperties *This);
   2016 
   2017     ULONG (STDMETHODCALLTYPE *Release)(
   2018         IRDPSRAPISessionProperties *This);
   2019 
   2020     /*** IDispatch methods ***/
   2021     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   2022         IRDPSRAPISessionProperties *This,
   2023         UINT *pctinfo);
   2024 
   2025     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   2026         IRDPSRAPISessionProperties *This,
   2027         UINT iTInfo,
   2028         LCID lcid,
   2029         ITypeInfo **ppTInfo);
   2030 
   2031     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   2032         IRDPSRAPISessionProperties *This,
   2033         REFIID riid,
   2034         LPOLESTR *rgszNames,
   2035         UINT cNames,
   2036         LCID lcid,
   2037         DISPID *rgDispId);
   2038 
   2039     HRESULT (STDMETHODCALLTYPE *Invoke)(
   2040         IRDPSRAPISessionProperties *This,
   2041         DISPID dispIdMember,
   2042         REFIID riid,
   2043         LCID lcid,
   2044         WORD wFlags,
   2045         DISPPARAMS *pDispParams,
   2046         VARIANT *pVarResult,
   2047         EXCEPINFO *pExcepInfo,
   2048         UINT *puArgErr);
   2049 
   2050     /*** IRDPSRAPISessionProperties methods ***/
   2051     HRESULT (STDMETHODCALLTYPE *get_Property)(
   2052         IRDPSRAPISessionProperties *This,
   2053         BSTR PropertyName,
   2054         VARIANT *pVal);
   2055 
   2056     HRESULT (STDMETHODCALLTYPE *put_Property)(
   2057         IRDPSRAPISessionProperties *This,
   2058         BSTR PropertyName,
   2059         VARIANT newVal);
   2060 
   2061     END_INTERFACE
   2062 } IRDPSRAPISessionPropertiesVtbl;
   2063 
   2064 interface IRDPSRAPISessionProperties {
   2065     CONST_VTBL IRDPSRAPISessionPropertiesVtbl* lpVtbl;
   2066 };
   2067 
   2068 #ifdef COBJMACROS
   2069 #ifndef WIDL_C_INLINE_WRAPPERS
   2070 /*** IUnknown methods ***/
   2071 #define IRDPSRAPISessionProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2072 #define IRDPSRAPISessionProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
   2073 #define IRDPSRAPISessionProperties_Release(This) (This)->lpVtbl->Release(This)
   2074 /*** IDispatch methods ***/
   2075 #define IRDPSRAPISessionProperties_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2076 #define IRDPSRAPISessionProperties_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2077 #define IRDPSRAPISessionProperties_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2078 #define IRDPSRAPISessionProperties_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2079 /*** IRDPSRAPISessionProperties methods ***/
   2080 #define IRDPSRAPISessionProperties_get_Property(This,PropertyName,pVal) (This)->lpVtbl->get_Property(This,PropertyName,pVal)
   2081 #define IRDPSRAPISessionProperties_put_Property(This,PropertyName,newVal) (This)->lpVtbl->put_Property(This,PropertyName,newVal)
   2082 #else
   2083 /*** IUnknown methods ***/
   2084 static inline HRESULT IRDPSRAPISessionProperties_QueryInterface(IRDPSRAPISessionProperties* This,REFIID riid,void **ppvObject) {
   2085     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2086 }
   2087 static inline ULONG IRDPSRAPISessionProperties_AddRef(IRDPSRAPISessionProperties* This) {
   2088     return This->lpVtbl->AddRef(This);
   2089 }
   2090 static inline ULONG IRDPSRAPISessionProperties_Release(IRDPSRAPISessionProperties* This) {
   2091     return This->lpVtbl->Release(This);
   2092 }
   2093 /*** IDispatch methods ***/
   2094 static inline HRESULT IRDPSRAPISessionProperties_GetTypeInfoCount(IRDPSRAPISessionProperties* This,UINT *pctinfo) {
   2095     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   2096 }
   2097 static inline HRESULT IRDPSRAPISessionProperties_GetTypeInfo(IRDPSRAPISessionProperties* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   2098     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   2099 }
   2100 static inline HRESULT IRDPSRAPISessionProperties_GetIDsOfNames(IRDPSRAPISessionProperties* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   2101     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   2102 }
   2103 static inline HRESULT IRDPSRAPISessionProperties_Invoke(IRDPSRAPISessionProperties* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   2104     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   2105 }
   2106 /*** IRDPSRAPISessionProperties methods ***/
   2107 static inline HRESULT IRDPSRAPISessionProperties_get_Property(IRDPSRAPISessionProperties* This,BSTR PropertyName,VARIANT *pVal) {
   2108     return This->lpVtbl->get_Property(This,PropertyName,pVal);
   2109 }
   2110 static inline HRESULT IRDPSRAPISessionProperties_put_Property(IRDPSRAPISessionProperties* This,BSTR PropertyName,VARIANT newVal) {
   2111     return This->lpVtbl->put_Property(This,PropertyName,newVal);
   2112 }
   2113 #endif
   2114 #endif
   2115 
   2116 #endif
   2117 
   2118 
   2119 #endif  /* __IRDPSRAPISessionProperties_INTERFACE_DEFINED__ */
   2120 
   2121 /*****************************************************************************
   2122  * IRDPSRAPIInvitation interface
   2123  */
   2124 #ifndef __IRDPSRAPIInvitation_INTERFACE_DEFINED__
   2125 #define __IRDPSRAPIInvitation_INTERFACE_DEFINED__
   2126 
   2127 DEFINE_GUID(IID_IRDPSRAPIInvitation, 0x4fac1d43, 0xfc51, 0x45bb, 0xb1,0xb4, 0x2b,0x53,0xaa,0x56,0x2f,0xa3);
   2128 #if defined(__cplusplus) && !defined(CINTERFACE)
   2129 MIDL_INTERFACE("4fac1d43-fc51-45bb-b1b4-2b53aa562fa3")
   2130 IRDPSRAPIInvitation : public IDispatch
   2131 {
   2132     virtual HRESULT STDMETHODCALLTYPE get_ConnectionString(
   2133         BSTR *pbstrVal) = 0;
   2134 
   2135     virtual HRESULT STDMETHODCALLTYPE get_GroupName(
   2136         BSTR *pbstrVal) = 0;
   2137 
   2138     virtual HRESULT STDMETHODCALLTYPE get_Password(
   2139         BSTR *pbstrVal) = 0;
   2140 
   2141     virtual HRESULT STDMETHODCALLTYPE get_AttendeeLimit(
   2142         LONG *pRetVal) = 0;
   2143 
   2144     virtual HRESULT STDMETHODCALLTYPE put_AttendeeLimit(
   2145         LONG NewVal) = 0;
   2146 
   2147     virtual HRESULT STDMETHODCALLTYPE get_Revoked(
   2148         VARIANT_BOOL *pRetVal) = 0;
   2149 
   2150     virtual HRESULT STDMETHODCALLTYPE put_Revoked(
   2151         VARIANT_BOOL NewVal) = 0;
   2152 
   2153 };
   2154 #ifdef __CRT_UUID_DECL
   2155 __CRT_UUID_DECL(IRDPSRAPIInvitation, 0x4fac1d43, 0xfc51, 0x45bb, 0xb1,0xb4, 0x2b,0x53,0xaa,0x56,0x2f,0xa3)
   2156 #endif
   2157 #else
   2158 typedef struct IRDPSRAPIInvitationVtbl {
   2159     BEGIN_INTERFACE
   2160 
   2161     /*** IUnknown methods ***/
   2162     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2163         IRDPSRAPIInvitation *This,
   2164         REFIID riid,
   2165         void **ppvObject);
   2166 
   2167     ULONG (STDMETHODCALLTYPE *AddRef)(
   2168         IRDPSRAPIInvitation *This);
   2169 
   2170     ULONG (STDMETHODCALLTYPE *Release)(
   2171         IRDPSRAPIInvitation *This);
   2172 
   2173     /*** IDispatch methods ***/
   2174     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   2175         IRDPSRAPIInvitation *This,
   2176         UINT *pctinfo);
   2177 
   2178     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   2179         IRDPSRAPIInvitation *This,
   2180         UINT iTInfo,
   2181         LCID lcid,
   2182         ITypeInfo **ppTInfo);
   2183 
   2184     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   2185         IRDPSRAPIInvitation *This,
   2186         REFIID riid,
   2187         LPOLESTR *rgszNames,
   2188         UINT cNames,
   2189         LCID lcid,
   2190         DISPID *rgDispId);
   2191 
   2192     HRESULT (STDMETHODCALLTYPE *Invoke)(
   2193         IRDPSRAPIInvitation *This,
   2194         DISPID dispIdMember,
   2195         REFIID riid,
   2196         LCID lcid,
   2197         WORD wFlags,
   2198         DISPPARAMS *pDispParams,
   2199         VARIANT *pVarResult,
   2200         EXCEPINFO *pExcepInfo,
   2201         UINT *puArgErr);
   2202 
   2203     /*** IRDPSRAPIInvitation methods ***/
   2204     HRESULT (STDMETHODCALLTYPE *get_ConnectionString)(
   2205         IRDPSRAPIInvitation *This,
   2206         BSTR *pbstrVal);
   2207 
   2208     HRESULT (STDMETHODCALLTYPE *get_GroupName)(
   2209         IRDPSRAPIInvitation *This,
   2210         BSTR *pbstrVal);
   2211 
   2212     HRESULT (STDMETHODCALLTYPE *get_Password)(
   2213         IRDPSRAPIInvitation *This,
   2214         BSTR *pbstrVal);
   2215 
   2216     HRESULT (STDMETHODCALLTYPE *get_AttendeeLimit)(
   2217         IRDPSRAPIInvitation *This,
   2218         LONG *pRetVal);
   2219 
   2220     HRESULT (STDMETHODCALLTYPE *put_AttendeeLimit)(
   2221         IRDPSRAPIInvitation *This,
   2222         LONG NewVal);
   2223 
   2224     HRESULT (STDMETHODCALLTYPE *get_Revoked)(
   2225         IRDPSRAPIInvitation *This,
   2226         VARIANT_BOOL *pRetVal);
   2227 
   2228     HRESULT (STDMETHODCALLTYPE *put_Revoked)(
   2229         IRDPSRAPIInvitation *This,
   2230         VARIANT_BOOL NewVal);
   2231 
   2232     END_INTERFACE
   2233 } IRDPSRAPIInvitationVtbl;
   2234 
   2235 interface IRDPSRAPIInvitation {
   2236     CONST_VTBL IRDPSRAPIInvitationVtbl* lpVtbl;
   2237 };
   2238 
   2239 #ifdef COBJMACROS
   2240 #ifndef WIDL_C_INLINE_WRAPPERS
   2241 /*** IUnknown methods ***/
   2242 #define IRDPSRAPIInvitation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2243 #define IRDPSRAPIInvitation_AddRef(This) (This)->lpVtbl->AddRef(This)
   2244 #define IRDPSRAPIInvitation_Release(This) (This)->lpVtbl->Release(This)
   2245 /*** IDispatch methods ***/
   2246 #define IRDPSRAPIInvitation_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2247 #define IRDPSRAPIInvitation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2248 #define IRDPSRAPIInvitation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2249 #define IRDPSRAPIInvitation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2250 /*** IRDPSRAPIInvitation methods ***/
   2251 #define IRDPSRAPIInvitation_get_ConnectionString(This,pbstrVal) (This)->lpVtbl->get_ConnectionString(This,pbstrVal)
   2252 #define IRDPSRAPIInvitation_get_GroupName(This,pbstrVal) (This)->lpVtbl->get_GroupName(This,pbstrVal)
   2253 #define IRDPSRAPIInvitation_get_Password(This,pbstrVal) (This)->lpVtbl->get_Password(This,pbstrVal)
   2254 #define IRDPSRAPIInvitation_get_AttendeeLimit(This,pRetVal) (This)->lpVtbl->get_AttendeeLimit(This,pRetVal)
   2255 #define IRDPSRAPIInvitation_put_AttendeeLimit(This,NewVal) (This)->lpVtbl->put_AttendeeLimit(This,NewVal)
   2256 #define IRDPSRAPIInvitation_get_Revoked(This,pRetVal) (This)->lpVtbl->get_Revoked(This,pRetVal)
   2257 #define IRDPSRAPIInvitation_put_Revoked(This,NewVal) (This)->lpVtbl->put_Revoked(This,NewVal)
   2258 #else
   2259 /*** IUnknown methods ***/
   2260 static inline HRESULT IRDPSRAPIInvitation_QueryInterface(IRDPSRAPIInvitation* This,REFIID riid,void **ppvObject) {
   2261     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2262 }
   2263 static inline ULONG IRDPSRAPIInvitation_AddRef(IRDPSRAPIInvitation* This) {
   2264     return This->lpVtbl->AddRef(This);
   2265 }
   2266 static inline ULONG IRDPSRAPIInvitation_Release(IRDPSRAPIInvitation* This) {
   2267     return This->lpVtbl->Release(This);
   2268 }
   2269 /*** IDispatch methods ***/
   2270 static inline HRESULT IRDPSRAPIInvitation_GetTypeInfoCount(IRDPSRAPIInvitation* This,UINT *pctinfo) {
   2271     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   2272 }
   2273 static inline HRESULT IRDPSRAPIInvitation_GetTypeInfo(IRDPSRAPIInvitation* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   2274     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   2275 }
   2276 static inline HRESULT IRDPSRAPIInvitation_GetIDsOfNames(IRDPSRAPIInvitation* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   2277     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   2278 }
   2279 static inline HRESULT IRDPSRAPIInvitation_Invoke(IRDPSRAPIInvitation* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   2280     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   2281 }
   2282 /*** IRDPSRAPIInvitation methods ***/
   2283 static inline HRESULT IRDPSRAPIInvitation_get_ConnectionString(IRDPSRAPIInvitation* This,BSTR *pbstrVal) {
   2284     return This->lpVtbl->get_ConnectionString(This,pbstrVal);
   2285 }
   2286 static inline HRESULT IRDPSRAPIInvitation_get_GroupName(IRDPSRAPIInvitation* This,BSTR *pbstrVal) {
   2287     return This->lpVtbl->get_GroupName(This,pbstrVal);
   2288 }
   2289 static inline HRESULT IRDPSRAPIInvitation_get_Password(IRDPSRAPIInvitation* This,BSTR *pbstrVal) {
   2290     return This->lpVtbl->get_Password(This,pbstrVal);
   2291 }
   2292 static inline HRESULT IRDPSRAPIInvitation_get_AttendeeLimit(IRDPSRAPIInvitation* This,LONG *pRetVal) {
   2293     return This->lpVtbl->get_AttendeeLimit(This,pRetVal);
   2294 }
   2295 static inline HRESULT IRDPSRAPIInvitation_put_AttendeeLimit(IRDPSRAPIInvitation* This,LONG NewVal) {
   2296     return This->lpVtbl->put_AttendeeLimit(This,NewVal);
   2297 }
   2298 static inline HRESULT IRDPSRAPIInvitation_get_Revoked(IRDPSRAPIInvitation* This,VARIANT_BOOL *pRetVal) {
   2299     return This->lpVtbl->get_Revoked(This,pRetVal);
   2300 }
   2301 static inline HRESULT IRDPSRAPIInvitation_put_Revoked(IRDPSRAPIInvitation* This,VARIANT_BOOL NewVal) {
   2302     return This->lpVtbl->put_Revoked(This,NewVal);
   2303 }
   2304 #endif
   2305 #endif
   2306 
   2307 #endif
   2308 
   2309 
   2310 #endif  /* __IRDPSRAPIInvitation_INTERFACE_DEFINED__ */
   2311 
   2312 /*****************************************************************************
   2313  * IRDPSRAPIInvitationManager interface
   2314  */
   2315 #ifndef __IRDPSRAPIInvitationManager_INTERFACE_DEFINED__
   2316 #define __IRDPSRAPIInvitationManager_INTERFACE_DEFINED__
   2317 
   2318 DEFINE_GUID(IID_IRDPSRAPIInvitationManager, 0x4722b049, 0x92c3, 0x4c2d, 0x8a,0x65, 0xf7,0x34,0x8f,0x64,0x4d,0xcf);
   2319 #if defined(__cplusplus) && !defined(CINTERFACE)
   2320 MIDL_INTERFACE("4722b049-92c3-4c2d-8a65-f7348f644dcf")
   2321 IRDPSRAPIInvitationManager : public IDispatch
   2322 {
   2323     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
   2324         IUnknown **retval) = 0;
   2325 
   2326     virtual HRESULT STDMETHODCALLTYPE get_Item(
   2327         VARIANT item,
   2328         IRDPSRAPIInvitation **ppInvitation) = 0;
   2329 
   2330     virtual HRESULT STDMETHODCALLTYPE get_Count(
   2331         LONG *pRetVal) = 0;
   2332 
   2333     virtual HRESULT STDMETHODCALLTYPE CreateInvitation(
   2334         BSTR bstrAuthString,
   2335         BSTR bstrGroupName,
   2336         BSTR bstrPassword,
   2337         LONG AttendeeLimit,
   2338         IRDPSRAPIInvitation **ppInvitation) = 0;
   2339 
   2340 };
   2341 #ifdef __CRT_UUID_DECL
   2342 __CRT_UUID_DECL(IRDPSRAPIInvitationManager, 0x4722b049, 0x92c3, 0x4c2d, 0x8a,0x65, 0xf7,0x34,0x8f,0x64,0x4d,0xcf)
   2343 #endif
   2344 #else
   2345 typedef struct IRDPSRAPIInvitationManagerVtbl {
   2346     BEGIN_INTERFACE
   2347 
   2348     /*** IUnknown methods ***/
   2349     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2350         IRDPSRAPIInvitationManager *This,
   2351         REFIID riid,
   2352         void **ppvObject);
   2353 
   2354     ULONG (STDMETHODCALLTYPE *AddRef)(
   2355         IRDPSRAPIInvitationManager *This);
   2356 
   2357     ULONG (STDMETHODCALLTYPE *Release)(
   2358         IRDPSRAPIInvitationManager *This);
   2359 
   2360     /*** IDispatch methods ***/
   2361     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   2362         IRDPSRAPIInvitationManager *This,
   2363         UINT *pctinfo);
   2364 
   2365     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   2366         IRDPSRAPIInvitationManager *This,
   2367         UINT iTInfo,
   2368         LCID lcid,
   2369         ITypeInfo **ppTInfo);
   2370 
   2371     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   2372         IRDPSRAPIInvitationManager *This,
   2373         REFIID riid,
   2374         LPOLESTR *rgszNames,
   2375         UINT cNames,
   2376         LCID lcid,
   2377         DISPID *rgDispId);
   2378 
   2379     HRESULT (STDMETHODCALLTYPE *Invoke)(
   2380         IRDPSRAPIInvitationManager *This,
   2381         DISPID dispIdMember,
   2382         REFIID riid,
   2383         LCID lcid,
   2384         WORD wFlags,
   2385         DISPPARAMS *pDispParams,
   2386         VARIANT *pVarResult,
   2387         EXCEPINFO *pExcepInfo,
   2388         UINT *puArgErr);
   2389 
   2390     /*** IRDPSRAPIInvitationManager methods ***/
   2391     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
   2392         IRDPSRAPIInvitationManager *This,
   2393         IUnknown **retval);
   2394 
   2395     HRESULT (STDMETHODCALLTYPE *get_Item)(
   2396         IRDPSRAPIInvitationManager *This,
   2397         VARIANT item,
   2398         IRDPSRAPIInvitation **ppInvitation);
   2399 
   2400     HRESULT (STDMETHODCALLTYPE *get_Count)(
   2401         IRDPSRAPIInvitationManager *This,
   2402         LONG *pRetVal);
   2403 
   2404     HRESULT (STDMETHODCALLTYPE *CreateInvitation)(
   2405         IRDPSRAPIInvitationManager *This,
   2406         BSTR bstrAuthString,
   2407         BSTR bstrGroupName,
   2408         BSTR bstrPassword,
   2409         LONG AttendeeLimit,
   2410         IRDPSRAPIInvitation **ppInvitation);
   2411 
   2412     END_INTERFACE
   2413 } IRDPSRAPIInvitationManagerVtbl;
   2414 
   2415 interface IRDPSRAPIInvitationManager {
   2416     CONST_VTBL IRDPSRAPIInvitationManagerVtbl* lpVtbl;
   2417 };
   2418 
   2419 #ifdef COBJMACROS
   2420 #ifndef WIDL_C_INLINE_WRAPPERS
   2421 /*** IUnknown methods ***/
   2422 #define IRDPSRAPIInvitationManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2423 #define IRDPSRAPIInvitationManager_AddRef(This) (This)->lpVtbl->AddRef(This)
   2424 #define IRDPSRAPIInvitationManager_Release(This) (This)->lpVtbl->Release(This)
   2425 /*** IDispatch methods ***/
   2426 #define IRDPSRAPIInvitationManager_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2427 #define IRDPSRAPIInvitationManager_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2428 #define IRDPSRAPIInvitationManager_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2429 #define IRDPSRAPIInvitationManager_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2430 /*** IRDPSRAPIInvitationManager methods ***/
   2431 #define IRDPSRAPIInvitationManager_get__NewEnum(This,retval) (This)->lpVtbl->get__NewEnum(This,retval)
   2432 #define IRDPSRAPIInvitationManager_get_Item(This,item,ppInvitation) (This)->lpVtbl->get_Item(This,item,ppInvitation)
   2433 #define IRDPSRAPIInvitationManager_get_Count(This,pRetVal) (This)->lpVtbl->get_Count(This,pRetVal)
   2434 #define IRDPSRAPIInvitationManager_CreateInvitation(This,bstrAuthString,bstrGroupName,bstrPassword,AttendeeLimit,ppInvitation) (This)->lpVtbl->CreateInvitation(This,bstrAuthString,bstrGroupName,bstrPassword,AttendeeLimit,ppInvitation)
   2435 #else
   2436 /*** IUnknown methods ***/
   2437 static inline HRESULT IRDPSRAPIInvitationManager_QueryInterface(IRDPSRAPIInvitationManager* This,REFIID riid,void **ppvObject) {
   2438     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2439 }
   2440 static inline ULONG IRDPSRAPIInvitationManager_AddRef(IRDPSRAPIInvitationManager* This) {
   2441     return This->lpVtbl->AddRef(This);
   2442 }
   2443 static inline ULONG IRDPSRAPIInvitationManager_Release(IRDPSRAPIInvitationManager* This) {
   2444     return This->lpVtbl->Release(This);
   2445 }
   2446 /*** IDispatch methods ***/
   2447 static inline HRESULT IRDPSRAPIInvitationManager_GetTypeInfoCount(IRDPSRAPIInvitationManager* This,UINT *pctinfo) {
   2448     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   2449 }
   2450 static inline HRESULT IRDPSRAPIInvitationManager_GetTypeInfo(IRDPSRAPIInvitationManager* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   2451     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   2452 }
   2453 static inline HRESULT IRDPSRAPIInvitationManager_GetIDsOfNames(IRDPSRAPIInvitationManager* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   2454     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   2455 }
   2456 static inline HRESULT IRDPSRAPIInvitationManager_Invoke(IRDPSRAPIInvitationManager* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   2457     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   2458 }
   2459 /*** IRDPSRAPIInvitationManager methods ***/
   2460 static inline HRESULT IRDPSRAPIInvitationManager_get__NewEnum(IRDPSRAPIInvitationManager* This,IUnknown **retval) {
   2461     return This->lpVtbl->get__NewEnum(This,retval);
   2462 }
   2463 static inline HRESULT IRDPSRAPIInvitationManager_get_Item(IRDPSRAPIInvitationManager* This,VARIANT item,IRDPSRAPIInvitation **ppInvitation) {
   2464     return This->lpVtbl->get_Item(This,item,ppInvitation);
   2465 }
   2466 static inline HRESULT IRDPSRAPIInvitationManager_get_Count(IRDPSRAPIInvitationManager* This,LONG *pRetVal) {
   2467     return This->lpVtbl->get_Count(This,pRetVal);
   2468 }
   2469 static inline HRESULT IRDPSRAPIInvitationManager_CreateInvitation(IRDPSRAPIInvitationManager* This,BSTR bstrAuthString,BSTR bstrGroupName,BSTR bstrPassword,LONG AttendeeLimit,IRDPSRAPIInvitation **ppInvitation) {
   2470     return This->lpVtbl->CreateInvitation(This,bstrAuthString,bstrGroupName,bstrPassword,AttendeeLimit,ppInvitation);
   2471 }
   2472 #endif
   2473 #endif
   2474 
   2475 #endif
   2476 
   2477 
   2478 #endif  /* __IRDPSRAPIInvitationManager_INTERFACE_DEFINED__ */
   2479 
   2480 /*****************************************************************************
   2481  * IRDPSRAPITcpConnectionInfo interface
   2482  */
   2483 #ifndef __IRDPSRAPITcpConnectionInfo_INTERFACE_DEFINED__
   2484 #define __IRDPSRAPITcpConnectionInfo_INTERFACE_DEFINED__
   2485 
   2486 DEFINE_GUID(IID_IRDPSRAPITcpConnectionInfo, 0xf74049a4, 0x3d06, 0x4028, 0x81,0x93, 0x0a,0x8c,0x29,0xbc,0x24,0x52);
   2487 #if defined(__cplusplus) && !defined(CINTERFACE)
   2488 MIDL_INTERFACE("f74049a4-3d06-4028-8193-0a8c29bc2452")
   2489 IRDPSRAPITcpConnectionInfo : public IDispatch
   2490 {
   2491     virtual HRESULT STDMETHODCALLTYPE get_Protocol(
   2492         LONG *plProtocol) = 0;
   2493 
   2494     virtual HRESULT STDMETHODCALLTYPE get_LocalPort(
   2495         LONG *plPort) = 0;
   2496 
   2497     virtual HRESULT STDMETHODCALLTYPE get_LocalIP(
   2498         BSTR *pbsrLocalIP) = 0;
   2499 
   2500     virtual HRESULT STDMETHODCALLTYPE get_PeerPort(
   2501         LONG *plPort) = 0;
   2502 
   2503     virtual HRESULT STDMETHODCALLTYPE get_PeerIP(
   2504         BSTR *pbstrIP) = 0;
   2505 
   2506 };
   2507 #ifdef __CRT_UUID_DECL
   2508 __CRT_UUID_DECL(IRDPSRAPITcpConnectionInfo, 0xf74049a4, 0x3d06, 0x4028, 0x81,0x93, 0x0a,0x8c,0x29,0xbc,0x24,0x52)
   2509 #endif
   2510 #else
   2511 typedef struct IRDPSRAPITcpConnectionInfoVtbl {
   2512     BEGIN_INTERFACE
   2513 
   2514     /*** IUnknown methods ***/
   2515     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2516         IRDPSRAPITcpConnectionInfo *This,
   2517         REFIID riid,
   2518         void **ppvObject);
   2519 
   2520     ULONG (STDMETHODCALLTYPE *AddRef)(
   2521         IRDPSRAPITcpConnectionInfo *This);
   2522 
   2523     ULONG (STDMETHODCALLTYPE *Release)(
   2524         IRDPSRAPITcpConnectionInfo *This);
   2525 
   2526     /*** IDispatch methods ***/
   2527     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   2528         IRDPSRAPITcpConnectionInfo *This,
   2529         UINT *pctinfo);
   2530 
   2531     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   2532         IRDPSRAPITcpConnectionInfo *This,
   2533         UINT iTInfo,
   2534         LCID lcid,
   2535         ITypeInfo **ppTInfo);
   2536 
   2537     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   2538         IRDPSRAPITcpConnectionInfo *This,
   2539         REFIID riid,
   2540         LPOLESTR *rgszNames,
   2541         UINT cNames,
   2542         LCID lcid,
   2543         DISPID *rgDispId);
   2544 
   2545     HRESULT (STDMETHODCALLTYPE *Invoke)(
   2546         IRDPSRAPITcpConnectionInfo *This,
   2547         DISPID dispIdMember,
   2548         REFIID riid,
   2549         LCID lcid,
   2550         WORD wFlags,
   2551         DISPPARAMS *pDispParams,
   2552         VARIANT *pVarResult,
   2553         EXCEPINFO *pExcepInfo,
   2554         UINT *puArgErr);
   2555 
   2556     /*** IRDPSRAPITcpConnectionInfo methods ***/
   2557     HRESULT (STDMETHODCALLTYPE *get_Protocol)(
   2558         IRDPSRAPITcpConnectionInfo *This,
   2559         LONG *plProtocol);
   2560 
   2561     HRESULT (STDMETHODCALLTYPE *get_LocalPort)(
   2562         IRDPSRAPITcpConnectionInfo *This,
   2563         LONG *plPort);
   2564 
   2565     HRESULT (STDMETHODCALLTYPE *get_LocalIP)(
   2566         IRDPSRAPITcpConnectionInfo *This,
   2567         BSTR *pbsrLocalIP);
   2568 
   2569     HRESULT (STDMETHODCALLTYPE *get_PeerPort)(
   2570         IRDPSRAPITcpConnectionInfo *This,
   2571         LONG *plPort);
   2572 
   2573     HRESULT (STDMETHODCALLTYPE *get_PeerIP)(
   2574         IRDPSRAPITcpConnectionInfo *This,
   2575         BSTR *pbstrIP);
   2576 
   2577     END_INTERFACE
   2578 } IRDPSRAPITcpConnectionInfoVtbl;
   2579 
   2580 interface IRDPSRAPITcpConnectionInfo {
   2581     CONST_VTBL IRDPSRAPITcpConnectionInfoVtbl* lpVtbl;
   2582 };
   2583 
   2584 #ifdef COBJMACROS
   2585 #ifndef WIDL_C_INLINE_WRAPPERS
   2586 /*** IUnknown methods ***/
   2587 #define IRDPSRAPITcpConnectionInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2588 #define IRDPSRAPITcpConnectionInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
   2589 #define IRDPSRAPITcpConnectionInfo_Release(This) (This)->lpVtbl->Release(This)
   2590 /*** IDispatch methods ***/
   2591 #define IRDPSRAPITcpConnectionInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2592 #define IRDPSRAPITcpConnectionInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2593 #define IRDPSRAPITcpConnectionInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2594 #define IRDPSRAPITcpConnectionInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2595 /*** IRDPSRAPITcpConnectionInfo methods ***/
   2596 #define IRDPSRAPITcpConnectionInfo_get_Protocol(This,plProtocol) (This)->lpVtbl->get_Protocol(This,plProtocol)
   2597 #define IRDPSRAPITcpConnectionInfo_get_LocalPort(This,plPort) (This)->lpVtbl->get_LocalPort(This,plPort)
   2598 #define IRDPSRAPITcpConnectionInfo_get_LocalIP(This,pbsrLocalIP) (This)->lpVtbl->get_LocalIP(This,pbsrLocalIP)
   2599 #define IRDPSRAPITcpConnectionInfo_get_PeerPort(This,plPort) (This)->lpVtbl->get_PeerPort(This,plPort)
   2600 #define IRDPSRAPITcpConnectionInfo_get_PeerIP(This,pbstrIP) (This)->lpVtbl->get_PeerIP(This,pbstrIP)
   2601 #else
   2602 /*** IUnknown methods ***/
   2603 static inline HRESULT IRDPSRAPITcpConnectionInfo_QueryInterface(IRDPSRAPITcpConnectionInfo* This,REFIID riid,void **ppvObject) {
   2604     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2605 }
   2606 static inline ULONG IRDPSRAPITcpConnectionInfo_AddRef(IRDPSRAPITcpConnectionInfo* This) {
   2607     return This->lpVtbl->AddRef(This);
   2608 }
   2609 static inline ULONG IRDPSRAPITcpConnectionInfo_Release(IRDPSRAPITcpConnectionInfo* This) {
   2610     return This->lpVtbl->Release(This);
   2611 }
   2612 /*** IDispatch methods ***/
   2613 static inline HRESULT IRDPSRAPITcpConnectionInfo_GetTypeInfoCount(IRDPSRAPITcpConnectionInfo* This,UINT *pctinfo) {
   2614     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   2615 }
   2616 static inline HRESULT IRDPSRAPITcpConnectionInfo_GetTypeInfo(IRDPSRAPITcpConnectionInfo* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   2617     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   2618 }
   2619 static inline HRESULT IRDPSRAPITcpConnectionInfo_GetIDsOfNames(IRDPSRAPITcpConnectionInfo* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   2620     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   2621 }
   2622 static inline HRESULT IRDPSRAPITcpConnectionInfo_Invoke(IRDPSRAPITcpConnectionInfo* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   2623     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   2624 }
   2625 /*** IRDPSRAPITcpConnectionInfo methods ***/
   2626 static inline HRESULT IRDPSRAPITcpConnectionInfo_get_Protocol(IRDPSRAPITcpConnectionInfo* This,LONG *plProtocol) {
   2627     return This->lpVtbl->get_Protocol(This,plProtocol);
   2628 }
   2629 static inline HRESULT IRDPSRAPITcpConnectionInfo_get_LocalPort(IRDPSRAPITcpConnectionInfo* This,LONG *plPort) {
   2630     return This->lpVtbl->get_LocalPort(This,plPort);
   2631 }
   2632 static inline HRESULT IRDPSRAPITcpConnectionInfo_get_LocalIP(IRDPSRAPITcpConnectionInfo* This,BSTR *pbsrLocalIP) {
   2633     return This->lpVtbl->get_LocalIP(This,pbsrLocalIP);
   2634 }
   2635 static inline HRESULT IRDPSRAPITcpConnectionInfo_get_PeerPort(IRDPSRAPITcpConnectionInfo* This,LONG *plPort) {
   2636     return This->lpVtbl->get_PeerPort(This,plPort);
   2637 }
   2638 static inline HRESULT IRDPSRAPITcpConnectionInfo_get_PeerIP(IRDPSRAPITcpConnectionInfo* This,BSTR *pbstrIP) {
   2639     return This->lpVtbl->get_PeerIP(This,pbstrIP);
   2640 }
   2641 #endif
   2642 #endif
   2643 
   2644 #endif
   2645 
   2646 
   2647 #endif  /* __IRDPSRAPITcpConnectionInfo_INTERFACE_DEFINED__ */
   2648 
   2649 /*****************************************************************************
   2650  * IRDPSRAPIAttendee interface
   2651  */
   2652 #ifndef __IRDPSRAPIAttendee_INTERFACE_DEFINED__
   2653 #define __IRDPSRAPIAttendee_INTERFACE_DEFINED__
   2654 
   2655 DEFINE_GUID(IID_IRDPSRAPIAttendee, 0xec0671b3, 0x1b78, 0x4b80, 0xa4,0x64, 0x91,0x32,0x24,0x75,0x43,0xe3);
   2656 #if defined(__cplusplus) && !defined(CINTERFACE)
   2657 MIDL_INTERFACE("ec0671b3-1b78-4b80-a464-9132247543e3")
   2658 IRDPSRAPIAttendee : public IDispatch
   2659 {
   2660     virtual HRESULT STDMETHODCALLTYPE get_Id(
   2661         LONG *pId) = 0;
   2662 
   2663     virtual HRESULT STDMETHODCALLTYPE get_RemoteName(
   2664         BSTR *pVal) = 0;
   2665 
   2666     virtual HRESULT STDMETHODCALLTYPE get_ControlLevel(
   2667         CTRL_LEVEL *pVal) = 0;
   2668 
   2669     virtual HRESULT STDMETHODCALLTYPE put_ControlLevel(
   2670         CTRL_LEVEL pNewVal) = 0;
   2671 
   2672     virtual HRESULT STDMETHODCALLTYPE get_Invitation(
   2673         IRDPSRAPIInvitation **ppVal) = 0;
   2674 
   2675     virtual HRESULT STDMETHODCALLTYPE TerminateConnection(
   2676         ) = 0;
   2677 
   2678     virtual HRESULT STDMETHODCALLTYPE get_Flags(
   2679         LONG *plFlags) = 0;
   2680 
   2681     virtual HRESULT STDMETHODCALLTYPE get_ConnectivityInfo(
   2682         IUnknown **ppVal) = 0;
   2683 
   2684 };
   2685 #ifdef __CRT_UUID_DECL
   2686 __CRT_UUID_DECL(IRDPSRAPIAttendee, 0xec0671b3, 0x1b78, 0x4b80, 0xa4,0x64, 0x91,0x32,0x24,0x75,0x43,0xe3)
   2687 #endif
   2688 #else
   2689 typedef struct IRDPSRAPIAttendeeVtbl {
   2690     BEGIN_INTERFACE
   2691 
   2692     /*** IUnknown methods ***/
   2693     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2694         IRDPSRAPIAttendee *This,
   2695         REFIID riid,
   2696         void **ppvObject);
   2697 
   2698     ULONG (STDMETHODCALLTYPE *AddRef)(
   2699         IRDPSRAPIAttendee *This);
   2700 
   2701     ULONG (STDMETHODCALLTYPE *Release)(
   2702         IRDPSRAPIAttendee *This);
   2703 
   2704     /*** IDispatch methods ***/
   2705     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   2706         IRDPSRAPIAttendee *This,
   2707         UINT *pctinfo);
   2708 
   2709     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   2710         IRDPSRAPIAttendee *This,
   2711         UINT iTInfo,
   2712         LCID lcid,
   2713         ITypeInfo **ppTInfo);
   2714 
   2715     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   2716         IRDPSRAPIAttendee *This,
   2717         REFIID riid,
   2718         LPOLESTR *rgszNames,
   2719         UINT cNames,
   2720         LCID lcid,
   2721         DISPID *rgDispId);
   2722 
   2723     HRESULT (STDMETHODCALLTYPE *Invoke)(
   2724         IRDPSRAPIAttendee *This,
   2725         DISPID dispIdMember,
   2726         REFIID riid,
   2727         LCID lcid,
   2728         WORD wFlags,
   2729         DISPPARAMS *pDispParams,
   2730         VARIANT *pVarResult,
   2731         EXCEPINFO *pExcepInfo,
   2732         UINT *puArgErr);
   2733 
   2734     /*** IRDPSRAPIAttendee methods ***/
   2735     HRESULT (STDMETHODCALLTYPE *get_Id)(
   2736         IRDPSRAPIAttendee *This,
   2737         LONG *pId);
   2738 
   2739     HRESULT (STDMETHODCALLTYPE *get_RemoteName)(
   2740         IRDPSRAPIAttendee *This,
   2741         BSTR *pVal);
   2742 
   2743     HRESULT (STDMETHODCALLTYPE *get_ControlLevel)(
   2744         IRDPSRAPIAttendee *This,
   2745         CTRL_LEVEL *pVal);
   2746 
   2747     HRESULT (STDMETHODCALLTYPE *put_ControlLevel)(
   2748         IRDPSRAPIAttendee *This,
   2749         CTRL_LEVEL pNewVal);
   2750 
   2751     HRESULT (STDMETHODCALLTYPE *get_Invitation)(
   2752         IRDPSRAPIAttendee *This,
   2753         IRDPSRAPIInvitation **ppVal);
   2754 
   2755     HRESULT (STDMETHODCALLTYPE *TerminateConnection)(
   2756         IRDPSRAPIAttendee *This);
   2757 
   2758     HRESULT (STDMETHODCALLTYPE *get_Flags)(
   2759         IRDPSRAPIAttendee *This,
   2760         LONG *plFlags);
   2761 
   2762     HRESULT (STDMETHODCALLTYPE *get_ConnectivityInfo)(
   2763         IRDPSRAPIAttendee *This,
   2764         IUnknown **ppVal);
   2765 
   2766     END_INTERFACE
   2767 } IRDPSRAPIAttendeeVtbl;
   2768 
   2769 interface IRDPSRAPIAttendee {
   2770     CONST_VTBL IRDPSRAPIAttendeeVtbl* lpVtbl;
   2771 };
   2772 
   2773 #ifdef COBJMACROS
   2774 #ifndef WIDL_C_INLINE_WRAPPERS
   2775 /*** IUnknown methods ***/
   2776 #define IRDPSRAPIAttendee_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2777 #define IRDPSRAPIAttendee_AddRef(This) (This)->lpVtbl->AddRef(This)
   2778 #define IRDPSRAPIAttendee_Release(This) (This)->lpVtbl->Release(This)
   2779 /*** IDispatch methods ***/
   2780 #define IRDPSRAPIAttendee_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2781 #define IRDPSRAPIAttendee_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2782 #define IRDPSRAPIAttendee_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2783 #define IRDPSRAPIAttendee_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2784 /*** IRDPSRAPIAttendee methods ***/
   2785 #define IRDPSRAPIAttendee_get_Id(This,pId) (This)->lpVtbl->get_Id(This,pId)
   2786 #define IRDPSRAPIAttendee_get_RemoteName(This,pVal) (This)->lpVtbl->get_RemoteName(This,pVal)
   2787 #define IRDPSRAPIAttendee_get_ControlLevel(This,pVal) (This)->lpVtbl->get_ControlLevel(This,pVal)
   2788 #define IRDPSRAPIAttendee_put_ControlLevel(This,pNewVal) (This)->lpVtbl->put_ControlLevel(This,pNewVal)
   2789 #define IRDPSRAPIAttendee_get_Invitation(This,ppVal) (This)->lpVtbl->get_Invitation(This,ppVal)
   2790 #define IRDPSRAPIAttendee_TerminateConnection(This) (This)->lpVtbl->TerminateConnection(This)
   2791 #define IRDPSRAPIAttendee_get_Flags(This,plFlags) (This)->lpVtbl->get_Flags(This,plFlags)
   2792 #define IRDPSRAPIAttendee_get_ConnectivityInfo(This,ppVal) (This)->lpVtbl->get_ConnectivityInfo(This,ppVal)
   2793 #else
   2794 /*** IUnknown methods ***/
   2795 static inline HRESULT IRDPSRAPIAttendee_QueryInterface(IRDPSRAPIAttendee* This,REFIID riid,void **ppvObject) {
   2796     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2797 }
   2798 static inline ULONG IRDPSRAPIAttendee_AddRef(IRDPSRAPIAttendee* This) {
   2799     return This->lpVtbl->AddRef(This);
   2800 }
   2801 static inline ULONG IRDPSRAPIAttendee_Release(IRDPSRAPIAttendee* This) {
   2802     return This->lpVtbl->Release(This);
   2803 }
   2804 /*** IDispatch methods ***/
   2805 static inline HRESULT IRDPSRAPIAttendee_GetTypeInfoCount(IRDPSRAPIAttendee* This,UINT *pctinfo) {
   2806     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   2807 }
   2808 static inline HRESULT IRDPSRAPIAttendee_GetTypeInfo(IRDPSRAPIAttendee* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   2809     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   2810 }
   2811 static inline HRESULT IRDPSRAPIAttendee_GetIDsOfNames(IRDPSRAPIAttendee* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   2812     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   2813 }
   2814 static inline HRESULT IRDPSRAPIAttendee_Invoke(IRDPSRAPIAttendee* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   2815     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   2816 }
   2817 /*** IRDPSRAPIAttendee methods ***/
   2818 static inline HRESULT IRDPSRAPIAttendee_get_Id(IRDPSRAPIAttendee* This,LONG *pId) {
   2819     return This->lpVtbl->get_Id(This,pId);
   2820 }
   2821 static inline HRESULT IRDPSRAPIAttendee_get_RemoteName(IRDPSRAPIAttendee* This,BSTR *pVal) {
   2822     return This->lpVtbl->get_RemoteName(This,pVal);
   2823 }
   2824 static inline HRESULT IRDPSRAPIAttendee_get_ControlLevel(IRDPSRAPIAttendee* This,CTRL_LEVEL *pVal) {
   2825     return This->lpVtbl->get_ControlLevel(This,pVal);
   2826 }
   2827 static inline HRESULT IRDPSRAPIAttendee_put_ControlLevel(IRDPSRAPIAttendee* This,CTRL_LEVEL pNewVal) {
   2828     return This->lpVtbl->put_ControlLevel(This,pNewVal);
   2829 }
   2830 static inline HRESULT IRDPSRAPIAttendee_get_Invitation(IRDPSRAPIAttendee* This,IRDPSRAPIInvitation **ppVal) {
   2831     return This->lpVtbl->get_Invitation(This,ppVal);
   2832 }
   2833 static inline HRESULT IRDPSRAPIAttendee_TerminateConnection(IRDPSRAPIAttendee* This) {
   2834     return This->lpVtbl->TerminateConnection(This);
   2835 }
   2836 static inline HRESULT IRDPSRAPIAttendee_get_Flags(IRDPSRAPIAttendee* This,LONG *plFlags) {
   2837     return This->lpVtbl->get_Flags(This,plFlags);
   2838 }
   2839 static inline HRESULT IRDPSRAPIAttendee_get_ConnectivityInfo(IRDPSRAPIAttendee* This,IUnknown **ppVal) {
   2840     return This->lpVtbl->get_ConnectivityInfo(This,ppVal);
   2841 }
   2842 #endif
   2843 #endif
   2844 
   2845 #endif
   2846 
   2847 
   2848 #endif  /* __IRDPSRAPIAttendee_INTERFACE_DEFINED__ */
   2849 
   2850 /*****************************************************************************
   2851  * IRDPSRAPIAttendeeManager interface
   2852  */
   2853 #ifndef __IRDPSRAPIAttendeeManager_INTERFACE_DEFINED__
   2854 #define __IRDPSRAPIAttendeeManager_INTERFACE_DEFINED__
   2855 
   2856 DEFINE_GUID(IID_IRDPSRAPIAttendeeManager, 0xba3a37e8, 0x33da, 0x4749, 0x8d,0xa0, 0x07,0xfa,0x34,0xda,0x79,0x44);
   2857 #if defined(__cplusplus) && !defined(CINTERFACE)
   2858 MIDL_INTERFACE("ba3a37e8-33da-4749-8da0-07fa34da7944")
   2859 IRDPSRAPIAttendeeManager : public IDispatch
   2860 {
   2861     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
   2862         IUnknown **retval) = 0;
   2863 
   2864     virtual HRESULT STDMETHODCALLTYPE get_Item(
   2865         LONG id,
   2866         IRDPSRAPIAttendee **ppItem) = 0;
   2867 
   2868 };
   2869 #ifdef __CRT_UUID_DECL
   2870 __CRT_UUID_DECL(IRDPSRAPIAttendeeManager, 0xba3a37e8, 0x33da, 0x4749, 0x8d,0xa0, 0x07,0xfa,0x34,0xda,0x79,0x44)
   2871 #endif
   2872 #else
   2873 typedef struct IRDPSRAPIAttendeeManagerVtbl {
   2874     BEGIN_INTERFACE
   2875 
   2876     /*** IUnknown methods ***/
   2877     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2878         IRDPSRAPIAttendeeManager *This,
   2879         REFIID riid,
   2880         void **ppvObject);
   2881 
   2882     ULONG (STDMETHODCALLTYPE *AddRef)(
   2883         IRDPSRAPIAttendeeManager *This);
   2884 
   2885     ULONG (STDMETHODCALLTYPE *Release)(
   2886         IRDPSRAPIAttendeeManager *This);
   2887 
   2888     /*** IDispatch methods ***/
   2889     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   2890         IRDPSRAPIAttendeeManager *This,
   2891         UINT *pctinfo);
   2892 
   2893     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   2894         IRDPSRAPIAttendeeManager *This,
   2895         UINT iTInfo,
   2896         LCID lcid,
   2897         ITypeInfo **ppTInfo);
   2898 
   2899     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   2900         IRDPSRAPIAttendeeManager *This,
   2901         REFIID riid,
   2902         LPOLESTR *rgszNames,
   2903         UINT cNames,
   2904         LCID lcid,
   2905         DISPID *rgDispId);
   2906 
   2907     HRESULT (STDMETHODCALLTYPE *Invoke)(
   2908         IRDPSRAPIAttendeeManager *This,
   2909         DISPID dispIdMember,
   2910         REFIID riid,
   2911         LCID lcid,
   2912         WORD wFlags,
   2913         DISPPARAMS *pDispParams,
   2914         VARIANT *pVarResult,
   2915         EXCEPINFO *pExcepInfo,
   2916         UINT *puArgErr);
   2917 
   2918     /*** IRDPSRAPIAttendeeManager methods ***/
   2919     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
   2920         IRDPSRAPIAttendeeManager *This,
   2921         IUnknown **retval);
   2922 
   2923     HRESULT (STDMETHODCALLTYPE *get_Item)(
   2924         IRDPSRAPIAttendeeManager *This,
   2925         LONG id,
   2926         IRDPSRAPIAttendee **ppItem);
   2927 
   2928     END_INTERFACE
   2929 } IRDPSRAPIAttendeeManagerVtbl;
   2930 
   2931 interface IRDPSRAPIAttendeeManager {
   2932     CONST_VTBL IRDPSRAPIAttendeeManagerVtbl* lpVtbl;
   2933 };
   2934 
   2935 #ifdef COBJMACROS
   2936 #ifndef WIDL_C_INLINE_WRAPPERS
   2937 /*** IUnknown methods ***/
   2938 #define IRDPSRAPIAttendeeManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2939 #define IRDPSRAPIAttendeeManager_AddRef(This) (This)->lpVtbl->AddRef(This)
   2940 #define IRDPSRAPIAttendeeManager_Release(This) (This)->lpVtbl->Release(This)
   2941 /*** IDispatch methods ***/
   2942 #define IRDPSRAPIAttendeeManager_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2943 #define IRDPSRAPIAttendeeManager_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2944 #define IRDPSRAPIAttendeeManager_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2945 #define IRDPSRAPIAttendeeManager_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2946 /*** IRDPSRAPIAttendeeManager methods ***/
   2947 #define IRDPSRAPIAttendeeManager_get__NewEnum(This,retval) (This)->lpVtbl->get__NewEnum(This,retval)
   2948 #define IRDPSRAPIAttendeeManager_get_Item(This,id,ppItem) (This)->lpVtbl->get_Item(This,id,ppItem)
   2949 #else
   2950 /*** IUnknown methods ***/
   2951 static inline HRESULT IRDPSRAPIAttendeeManager_QueryInterface(IRDPSRAPIAttendeeManager* This,REFIID riid,void **ppvObject) {
   2952     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2953 }
   2954 static inline ULONG IRDPSRAPIAttendeeManager_AddRef(IRDPSRAPIAttendeeManager* This) {
   2955     return This->lpVtbl->AddRef(This);
   2956 }
   2957 static inline ULONG IRDPSRAPIAttendeeManager_Release(IRDPSRAPIAttendeeManager* This) {
   2958     return This->lpVtbl->Release(This);
   2959 }
   2960 /*** IDispatch methods ***/
   2961 static inline HRESULT IRDPSRAPIAttendeeManager_GetTypeInfoCount(IRDPSRAPIAttendeeManager* This,UINT *pctinfo) {
   2962     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   2963 }
   2964 static inline HRESULT IRDPSRAPIAttendeeManager_GetTypeInfo(IRDPSRAPIAttendeeManager* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   2965     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   2966 }
   2967 static inline HRESULT IRDPSRAPIAttendeeManager_GetIDsOfNames(IRDPSRAPIAttendeeManager* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   2968     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   2969 }
   2970 static inline HRESULT IRDPSRAPIAttendeeManager_Invoke(IRDPSRAPIAttendeeManager* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   2971     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   2972 }
   2973 /*** IRDPSRAPIAttendeeManager methods ***/
   2974 static inline HRESULT IRDPSRAPIAttendeeManager_get__NewEnum(IRDPSRAPIAttendeeManager* This,IUnknown **retval) {
   2975     return This->lpVtbl->get__NewEnum(This,retval);
   2976 }
   2977 static inline HRESULT IRDPSRAPIAttendeeManager_get_Item(IRDPSRAPIAttendeeManager* This,LONG id,IRDPSRAPIAttendee **ppItem) {
   2978     return This->lpVtbl->get_Item(This,id,ppItem);
   2979 }
   2980 #endif
   2981 #endif
   2982 
   2983 #endif
   2984 
   2985 
   2986 #endif  /* __IRDPSRAPIAttendeeManager_INTERFACE_DEFINED__ */
   2987 
   2988 /*****************************************************************************
   2989  * IRDPSRAPIAttendeeDisconnectInfo interface
   2990  */
   2991 #ifndef __IRDPSRAPIAttendeeDisconnectInfo_INTERFACE_DEFINED__
   2992 #define __IRDPSRAPIAttendeeDisconnectInfo_INTERFACE_DEFINED__
   2993 
   2994 DEFINE_GUID(IID_IRDPSRAPIAttendeeDisconnectInfo, 0xc187689f, 0x447c, 0x44a1, 0x9c,0x14, 0xff,0xfb,0xb3,0xb7,0xec,0x17);
   2995 #if defined(__cplusplus) && !defined(CINTERFACE)
   2996 MIDL_INTERFACE("c187689f-447c-44a1-9c14-fffbb3b7ec17")
   2997 IRDPSRAPIAttendeeDisconnectInfo : public IDispatch
   2998 {
   2999     virtual HRESULT STDMETHODCALLTYPE get_Attendee(
   3000         IRDPSRAPIAttendee **retval) = 0;
   3001 
   3002     virtual HRESULT STDMETHODCALLTYPE get_Reason(
   3003         ATTENDEE_DISCONNECT_REASON *pReason) = 0;
   3004 
   3005     virtual HRESULT STDMETHODCALLTYPE get_Code(
   3006         LONG *pVal) = 0;
   3007 
   3008 };
   3009 #ifdef __CRT_UUID_DECL
   3010 __CRT_UUID_DECL(IRDPSRAPIAttendeeDisconnectInfo, 0xc187689f, 0x447c, 0x44a1, 0x9c,0x14, 0xff,0xfb,0xb3,0xb7,0xec,0x17)
   3011 #endif
   3012 #else
   3013 typedef struct IRDPSRAPIAttendeeDisconnectInfoVtbl {
   3014     BEGIN_INTERFACE
   3015 
   3016     /*** IUnknown methods ***/
   3017     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3018         IRDPSRAPIAttendeeDisconnectInfo *This,
   3019         REFIID riid,
   3020         void **ppvObject);
   3021 
   3022     ULONG (STDMETHODCALLTYPE *AddRef)(
   3023         IRDPSRAPIAttendeeDisconnectInfo *This);
   3024 
   3025     ULONG (STDMETHODCALLTYPE *Release)(
   3026         IRDPSRAPIAttendeeDisconnectInfo *This);
   3027 
   3028     /*** IDispatch methods ***/
   3029     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   3030         IRDPSRAPIAttendeeDisconnectInfo *This,
   3031         UINT *pctinfo);
   3032 
   3033     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   3034         IRDPSRAPIAttendeeDisconnectInfo *This,
   3035         UINT iTInfo,
   3036         LCID lcid,
   3037         ITypeInfo **ppTInfo);
   3038 
   3039     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   3040         IRDPSRAPIAttendeeDisconnectInfo *This,
   3041         REFIID riid,
   3042         LPOLESTR *rgszNames,
   3043         UINT cNames,
   3044         LCID lcid,
   3045         DISPID *rgDispId);
   3046 
   3047     HRESULT (STDMETHODCALLTYPE *Invoke)(
   3048         IRDPSRAPIAttendeeDisconnectInfo *This,
   3049         DISPID dispIdMember,
   3050         REFIID riid,
   3051         LCID lcid,
   3052         WORD wFlags,
   3053         DISPPARAMS *pDispParams,
   3054         VARIANT *pVarResult,
   3055         EXCEPINFO *pExcepInfo,
   3056         UINT *puArgErr);
   3057 
   3058     /*** IRDPSRAPIAttendeeDisconnectInfo methods ***/
   3059     HRESULT (STDMETHODCALLTYPE *get_Attendee)(
   3060         IRDPSRAPIAttendeeDisconnectInfo *This,
   3061         IRDPSRAPIAttendee **retval);
   3062 
   3063     HRESULT (STDMETHODCALLTYPE *get_Reason)(
   3064         IRDPSRAPIAttendeeDisconnectInfo *This,
   3065         ATTENDEE_DISCONNECT_REASON *pReason);
   3066 
   3067     HRESULT (STDMETHODCALLTYPE *get_Code)(
   3068         IRDPSRAPIAttendeeDisconnectInfo *This,
   3069         LONG *pVal);
   3070 
   3071     END_INTERFACE
   3072 } IRDPSRAPIAttendeeDisconnectInfoVtbl;
   3073 
   3074 interface IRDPSRAPIAttendeeDisconnectInfo {
   3075     CONST_VTBL IRDPSRAPIAttendeeDisconnectInfoVtbl* lpVtbl;
   3076 };
   3077 
   3078 #ifdef COBJMACROS
   3079 #ifndef WIDL_C_INLINE_WRAPPERS
   3080 /*** IUnknown methods ***/
   3081 #define IRDPSRAPIAttendeeDisconnectInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3082 #define IRDPSRAPIAttendeeDisconnectInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
   3083 #define IRDPSRAPIAttendeeDisconnectInfo_Release(This) (This)->lpVtbl->Release(This)
   3084 /*** IDispatch methods ***/
   3085 #define IRDPSRAPIAttendeeDisconnectInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3086 #define IRDPSRAPIAttendeeDisconnectInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3087 #define IRDPSRAPIAttendeeDisconnectInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3088 #define IRDPSRAPIAttendeeDisconnectInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3089 /*** IRDPSRAPIAttendeeDisconnectInfo methods ***/
   3090 #define IRDPSRAPIAttendeeDisconnectInfo_get_Attendee(This,retval) (This)->lpVtbl->get_Attendee(This,retval)
   3091 #define IRDPSRAPIAttendeeDisconnectInfo_get_Reason(This,pReason) (This)->lpVtbl->get_Reason(This,pReason)
   3092 #define IRDPSRAPIAttendeeDisconnectInfo_get_Code(This,pVal) (This)->lpVtbl->get_Code(This,pVal)
   3093 #else
   3094 /*** IUnknown methods ***/
   3095 static inline HRESULT IRDPSRAPIAttendeeDisconnectInfo_QueryInterface(IRDPSRAPIAttendeeDisconnectInfo* This,REFIID riid,void **ppvObject) {
   3096     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3097 }
   3098 static inline ULONG IRDPSRAPIAttendeeDisconnectInfo_AddRef(IRDPSRAPIAttendeeDisconnectInfo* This) {
   3099     return This->lpVtbl->AddRef(This);
   3100 }
   3101 static inline ULONG IRDPSRAPIAttendeeDisconnectInfo_Release(IRDPSRAPIAttendeeDisconnectInfo* This) {
   3102     return This->lpVtbl->Release(This);
   3103 }
   3104 /*** IDispatch methods ***/
   3105 static inline HRESULT IRDPSRAPIAttendeeDisconnectInfo_GetTypeInfoCount(IRDPSRAPIAttendeeDisconnectInfo* This,UINT *pctinfo) {
   3106     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   3107 }
   3108 static inline HRESULT IRDPSRAPIAttendeeDisconnectInfo_GetTypeInfo(IRDPSRAPIAttendeeDisconnectInfo* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   3109     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   3110 }
   3111 static inline HRESULT IRDPSRAPIAttendeeDisconnectInfo_GetIDsOfNames(IRDPSRAPIAttendeeDisconnectInfo* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   3112     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   3113 }
   3114 static inline HRESULT IRDPSRAPIAttendeeDisconnectInfo_Invoke(IRDPSRAPIAttendeeDisconnectInfo* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   3115     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   3116 }
   3117 /*** IRDPSRAPIAttendeeDisconnectInfo methods ***/
   3118 static inline HRESULT IRDPSRAPIAttendeeDisconnectInfo_get_Attendee(IRDPSRAPIAttendeeDisconnectInfo* This,IRDPSRAPIAttendee **retval) {
   3119     return This->lpVtbl->get_Attendee(This,retval);
   3120 }
   3121 static inline HRESULT IRDPSRAPIAttendeeDisconnectInfo_get_Reason(IRDPSRAPIAttendeeDisconnectInfo* This,ATTENDEE_DISCONNECT_REASON *pReason) {
   3122     return This->lpVtbl->get_Reason(This,pReason);
   3123 }
   3124 static inline HRESULT IRDPSRAPIAttendeeDisconnectInfo_get_Code(IRDPSRAPIAttendeeDisconnectInfo* This,LONG *pVal) {
   3125     return This->lpVtbl->get_Code(This,pVal);
   3126 }
   3127 #endif
   3128 #endif
   3129 
   3130 #endif
   3131 
   3132 
   3133 #endif  /* __IRDPSRAPIAttendeeDisconnectInfo_INTERFACE_DEFINED__ */
   3134 
   3135 /*****************************************************************************
   3136  * IRDPSRAPIVirtualChannel interface
   3137  */
   3138 #ifndef __IRDPSRAPIVirtualChannel_INTERFACE_DEFINED__
   3139 #define __IRDPSRAPIVirtualChannel_INTERFACE_DEFINED__
   3140 
   3141 DEFINE_GUID(IID_IRDPSRAPIVirtualChannel, 0x05e12f95, 0x28b3, 0x4c9a, 0x87,0x80, 0xd0,0x24,0x85,0x74,0xa1,0xe0);
   3142 #if defined(__cplusplus) && !defined(CINTERFACE)
   3143 MIDL_INTERFACE("05e12f95-28b3-4c9a-8780-d0248574a1e0")
   3144 IRDPSRAPIVirtualChannel : public IDispatch
   3145 {
   3146     virtual HRESULT STDMETHODCALLTYPE SendData(
   3147         BSTR bstrData,
   3148         LONG lAttendeeId,
   3149         ULONG ChannelSendFlags) = 0;
   3150 
   3151     virtual HRESULT STDMETHODCALLTYPE SetAccess(
   3152         LONG lAttendeeId,
   3153         CHANNEL_ACCESS_ENUM AccessType) = 0;
   3154 
   3155     virtual HRESULT STDMETHODCALLTYPE get_Name(
   3156         BSTR *pbstrName) = 0;
   3157 
   3158     virtual HRESULT STDMETHODCALLTYPE get_Flags(
   3159         LONG *plFlags) = 0;
   3160 
   3161     virtual HRESULT STDMETHODCALLTYPE get_Priority(
   3162         CHANNEL_PRIORITY *pPriority) = 0;
   3163 
   3164 };
   3165 #ifdef __CRT_UUID_DECL
   3166 __CRT_UUID_DECL(IRDPSRAPIVirtualChannel, 0x05e12f95, 0x28b3, 0x4c9a, 0x87,0x80, 0xd0,0x24,0x85,0x74,0xa1,0xe0)
   3167 #endif
   3168 #else
   3169 typedef struct IRDPSRAPIVirtualChannelVtbl {
   3170     BEGIN_INTERFACE
   3171 
   3172     /*** IUnknown methods ***/
   3173     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3174         IRDPSRAPIVirtualChannel *This,
   3175         REFIID riid,
   3176         void **ppvObject);
   3177 
   3178     ULONG (STDMETHODCALLTYPE *AddRef)(
   3179         IRDPSRAPIVirtualChannel *This);
   3180 
   3181     ULONG (STDMETHODCALLTYPE *Release)(
   3182         IRDPSRAPIVirtualChannel *This);
   3183 
   3184     /*** IDispatch methods ***/
   3185     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   3186         IRDPSRAPIVirtualChannel *This,
   3187         UINT *pctinfo);
   3188 
   3189     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   3190         IRDPSRAPIVirtualChannel *This,
   3191         UINT iTInfo,
   3192         LCID lcid,
   3193         ITypeInfo **ppTInfo);
   3194 
   3195     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   3196         IRDPSRAPIVirtualChannel *This,
   3197         REFIID riid,
   3198         LPOLESTR *rgszNames,
   3199         UINT cNames,
   3200         LCID lcid,
   3201         DISPID *rgDispId);
   3202 
   3203     HRESULT (STDMETHODCALLTYPE *Invoke)(
   3204         IRDPSRAPIVirtualChannel *This,
   3205         DISPID dispIdMember,
   3206         REFIID riid,
   3207         LCID lcid,
   3208         WORD wFlags,
   3209         DISPPARAMS *pDispParams,
   3210         VARIANT *pVarResult,
   3211         EXCEPINFO *pExcepInfo,
   3212         UINT *puArgErr);
   3213 
   3214     /*** IRDPSRAPIVirtualChannel methods ***/
   3215     HRESULT (STDMETHODCALLTYPE *SendData)(
   3216         IRDPSRAPIVirtualChannel *This,
   3217         BSTR bstrData,
   3218         LONG lAttendeeId,
   3219         ULONG ChannelSendFlags);
   3220 
   3221     HRESULT (STDMETHODCALLTYPE *SetAccess)(
   3222         IRDPSRAPIVirtualChannel *This,
   3223         LONG lAttendeeId,
   3224         CHANNEL_ACCESS_ENUM AccessType);
   3225 
   3226     HRESULT (STDMETHODCALLTYPE *get_Name)(
   3227         IRDPSRAPIVirtualChannel *This,
   3228         BSTR *pbstrName);
   3229 
   3230     HRESULT (STDMETHODCALLTYPE *get_Flags)(
   3231         IRDPSRAPIVirtualChannel *This,
   3232         LONG *plFlags);
   3233 
   3234     HRESULT (STDMETHODCALLTYPE *get_Priority)(
   3235         IRDPSRAPIVirtualChannel *This,
   3236         CHANNEL_PRIORITY *pPriority);
   3237 
   3238     END_INTERFACE
   3239 } IRDPSRAPIVirtualChannelVtbl;
   3240 
   3241 interface IRDPSRAPIVirtualChannel {
   3242     CONST_VTBL IRDPSRAPIVirtualChannelVtbl* lpVtbl;
   3243 };
   3244 
   3245 #ifdef COBJMACROS
   3246 #ifndef WIDL_C_INLINE_WRAPPERS
   3247 /*** IUnknown methods ***/
   3248 #define IRDPSRAPIVirtualChannel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3249 #define IRDPSRAPIVirtualChannel_AddRef(This) (This)->lpVtbl->AddRef(This)
   3250 #define IRDPSRAPIVirtualChannel_Release(This) (This)->lpVtbl->Release(This)
   3251 /*** IDispatch methods ***/
   3252 #define IRDPSRAPIVirtualChannel_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3253 #define IRDPSRAPIVirtualChannel_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3254 #define IRDPSRAPIVirtualChannel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3255 #define IRDPSRAPIVirtualChannel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3256 /*** IRDPSRAPIVirtualChannel methods ***/
   3257 #define IRDPSRAPIVirtualChannel_SendData(This,bstrData,lAttendeeId,ChannelSendFlags) (This)->lpVtbl->SendData(This,bstrData,lAttendeeId,ChannelSendFlags)
   3258 #define IRDPSRAPIVirtualChannel_SetAccess(This,lAttendeeId,AccessType) (This)->lpVtbl->SetAccess(This,lAttendeeId,AccessType)
   3259 #define IRDPSRAPIVirtualChannel_get_Name(This,pbstrName) (This)->lpVtbl->get_Name(This,pbstrName)
   3260 #define IRDPSRAPIVirtualChannel_get_Flags(This,plFlags) (This)->lpVtbl->get_Flags(This,plFlags)
   3261 #define IRDPSRAPIVirtualChannel_get_Priority(This,pPriority) (This)->lpVtbl->get_Priority(This,pPriority)
   3262 #else
   3263 /*** IUnknown methods ***/
   3264 static inline HRESULT IRDPSRAPIVirtualChannel_QueryInterface(IRDPSRAPIVirtualChannel* This,REFIID riid,void **ppvObject) {
   3265     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3266 }
   3267 static inline ULONG IRDPSRAPIVirtualChannel_AddRef(IRDPSRAPIVirtualChannel* This) {
   3268     return This->lpVtbl->AddRef(This);
   3269 }
   3270 static inline ULONG IRDPSRAPIVirtualChannel_Release(IRDPSRAPIVirtualChannel* This) {
   3271     return This->lpVtbl->Release(This);
   3272 }
   3273 /*** IDispatch methods ***/
   3274 static inline HRESULT IRDPSRAPIVirtualChannel_GetTypeInfoCount(IRDPSRAPIVirtualChannel* This,UINT *pctinfo) {
   3275     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   3276 }
   3277 static inline HRESULT IRDPSRAPIVirtualChannel_GetTypeInfo(IRDPSRAPIVirtualChannel* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   3278     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   3279 }
   3280 static inline HRESULT IRDPSRAPIVirtualChannel_GetIDsOfNames(IRDPSRAPIVirtualChannel* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   3281     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   3282 }
   3283 static inline HRESULT IRDPSRAPIVirtualChannel_Invoke(IRDPSRAPIVirtualChannel* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   3284     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   3285 }
   3286 /*** IRDPSRAPIVirtualChannel methods ***/
   3287 static inline HRESULT IRDPSRAPIVirtualChannel_SendData(IRDPSRAPIVirtualChannel* This,BSTR bstrData,LONG lAttendeeId,ULONG ChannelSendFlags) {
   3288     return This->lpVtbl->SendData(This,bstrData,lAttendeeId,ChannelSendFlags);
   3289 }
   3290 static inline HRESULT IRDPSRAPIVirtualChannel_SetAccess(IRDPSRAPIVirtualChannel* This,LONG lAttendeeId,CHANNEL_ACCESS_ENUM AccessType) {
   3291     return This->lpVtbl->SetAccess(This,lAttendeeId,AccessType);
   3292 }
   3293 static inline HRESULT IRDPSRAPIVirtualChannel_get_Name(IRDPSRAPIVirtualChannel* This,BSTR *pbstrName) {
   3294     return This->lpVtbl->get_Name(This,pbstrName);
   3295 }
   3296 static inline HRESULT IRDPSRAPIVirtualChannel_get_Flags(IRDPSRAPIVirtualChannel* This,LONG *plFlags) {
   3297     return This->lpVtbl->get_Flags(This,plFlags);
   3298 }
   3299 static inline HRESULT IRDPSRAPIVirtualChannel_get_Priority(IRDPSRAPIVirtualChannel* This,CHANNEL_PRIORITY *pPriority) {
   3300     return This->lpVtbl->get_Priority(This,pPriority);
   3301 }
   3302 #endif
   3303 #endif
   3304 
   3305 #endif
   3306 
   3307 
   3308 #endif  /* __IRDPSRAPIVirtualChannel_INTERFACE_DEFINED__ */
   3309 
   3310 /*****************************************************************************
   3311  * IRDPSRAPIVirtualChannelManager interface
   3312  */
   3313 #ifndef __IRDPSRAPIVirtualChannelManager_INTERFACE_DEFINED__
   3314 #define __IRDPSRAPIVirtualChannelManager_INTERFACE_DEFINED__
   3315 
   3316 DEFINE_GUID(IID_IRDPSRAPIVirtualChannelManager, 0x0d11c661, 0x5d0d, 0x4ee4, 0x89,0xdf, 0x21,0x66,0xae,0x1f,0xdf,0xed);
   3317 #if defined(__cplusplus) && !defined(CINTERFACE)
   3318 MIDL_INTERFACE("0d11c661-5d0d-4ee4-89df-2166ae1fdfed")
   3319 IRDPSRAPIVirtualChannelManager : public IDispatch
   3320 {
   3321     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
   3322         IUnknown **retval) = 0;
   3323 
   3324     virtual HRESULT STDMETHODCALLTYPE get_Item(
   3325         VARIANT item,
   3326         IRDPSRAPIVirtualChannel **pChannel) = 0;
   3327 
   3328     virtual HRESULT STDMETHODCALLTYPE CreateVirtualChannel(
   3329         BSTR bstrChannelName,
   3330         CHANNEL_PRIORITY Priority,
   3331         ULONG ChannelFlags,
   3332         IRDPSRAPIVirtualChannel **ppChannel) = 0;
   3333 
   3334 };
   3335 #ifdef __CRT_UUID_DECL
   3336 __CRT_UUID_DECL(IRDPSRAPIVirtualChannelManager, 0x0d11c661, 0x5d0d, 0x4ee4, 0x89,0xdf, 0x21,0x66,0xae,0x1f,0xdf,0xed)
   3337 #endif
   3338 #else
   3339 typedef struct IRDPSRAPIVirtualChannelManagerVtbl {
   3340     BEGIN_INTERFACE
   3341 
   3342     /*** IUnknown methods ***/
   3343     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3344         IRDPSRAPIVirtualChannelManager *This,
   3345         REFIID riid,
   3346         void **ppvObject);
   3347 
   3348     ULONG (STDMETHODCALLTYPE *AddRef)(
   3349         IRDPSRAPIVirtualChannelManager *This);
   3350 
   3351     ULONG (STDMETHODCALLTYPE *Release)(
   3352         IRDPSRAPIVirtualChannelManager *This);
   3353 
   3354     /*** IDispatch methods ***/
   3355     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   3356         IRDPSRAPIVirtualChannelManager *This,
   3357         UINT *pctinfo);
   3358 
   3359     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   3360         IRDPSRAPIVirtualChannelManager *This,
   3361         UINT iTInfo,
   3362         LCID lcid,
   3363         ITypeInfo **ppTInfo);
   3364 
   3365     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   3366         IRDPSRAPIVirtualChannelManager *This,
   3367         REFIID riid,
   3368         LPOLESTR *rgszNames,
   3369         UINT cNames,
   3370         LCID lcid,
   3371         DISPID *rgDispId);
   3372 
   3373     HRESULT (STDMETHODCALLTYPE *Invoke)(
   3374         IRDPSRAPIVirtualChannelManager *This,
   3375         DISPID dispIdMember,
   3376         REFIID riid,
   3377         LCID lcid,
   3378         WORD wFlags,
   3379         DISPPARAMS *pDispParams,
   3380         VARIANT *pVarResult,
   3381         EXCEPINFO *pExcepInfo,
   3382         UINT *puArgErr);
   3383 
   3384     /*** IRDPSRAPIVirtualChannelManager methods ***/
   3385     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
   3386         IRDPSRAPIVirtualChannelManager *This,
   3387         IUnknown **retval);
   3388 
   3389     HRESULT (STDMETHODCALLTYPE *get_Item)(
   3390         IRDPSRAPIVirtualChannelManager *This,
   3391         VARIANT item,
   3392         IRDPSRAPIVirtualChannel **pChannel);
   3393 
   3394     HRESULT (STDMETHODCALLTYPE *CreateVirtualChannel)(
   3395         IRDPSRAPIVirtualChannelManager *This,
   3396         BSTR bstrChannelName,
   3397         CHANNEL_PRIORITY Priority,
   3398         ULONG ChannelFlags,
   3399         IRDPSRAPIVirtualChannel **ppChannel);
   3400 
   3401     END_INTERFACE
   3402 } IRDPSRAPIVirtualChannelManagerVtbl;
   3403 
   3404 interface IRDPSRAPIVirtualChannelManager {
   3405     CONST_VTBL IRDPSRAPIVirtualChannelManagerVtbl* lpVtbl;
   3406 };
   3407 
   3408 #ifdef COBJMACROS
   3409 #ifndef WIDL_C_INLINE_WRAPPERS
   3410 /*** IUnknown methods ***/
   3411 #define IRDPSRAPIVirtualChannelManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3412 #define IRDPSRAPIVirtualChannelManager_AddRef(This) (This)->lpVtbl->AddRef(This)
   3413 #define IRDPSRAPIVirtualChannelManager_Release(This) (This)->lpVtbl->Release(This)
   3414 /*** IDispatch methods ***/
   3415 #define IRDPSRAPIVirtualChannelManager_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3416 #define IRDPSRAPIVirtualChannelManager_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3417 #define IRDPSRAPIVirtualChannelManager_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3418 #define IRDPSRAPIVirtualChannelManager_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3419 /*** IRDPSRAPIVirtualChannelManager methods ***/
   3420 #define IRDPSRAPIVirtualChannelManager_get__NewEnum(This,retval) (This)->lpVtbl->get__NewEnum(This,retval)
   3421 #define IRDPSRAPIVirtualChannelManager_get_Item(This,item,pChannel) (This)->lpVtbl->get_Item(This,item,pChannel)
   3422 #define IRDPSRAPIVirtualChannelManager_CreateVirtualChannel(This,bstrChannelName,Priority,ChannelFlags,ppChannel) (This)->lpVtbl->CreateVirtualChannel(This,bstrChannelName,Priority,ChannelFlags,ppChannel)
   3423 #else
   3424 /*** IUnknown methods ***/
   3425 static inline HRESULT IRDPSRAPIVirtualChannelManager_QueryInterface(IRDPSRAPIVirtualChannelManager* This,REFIID riid,void **ppvObject) {
   3426     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3427 }
   3428 static inline ULONG IRDPSRAPIVirtualChannelManager_AddRef(IRDPSRAPIVirtualChannelManager* This) {
   3429     return This->lpVtbl->AddRef(This);
   3430 }
   3431 static inline ULONG IRDPSRAPIVirtualChannelManager_Release(IRDPSRAPIVirtualChannelManager* This) {
   3432     return This->lpVtbl->Release(This);
   3433 }
   3434 /*** IDispatch methods ***/
   3435 static inline HRESULT IRDPSRAPIVirtualChannelManager_GetTypeInfoCount(IRDPSRAPIVirtualChannelManager* This,UINT *pctinfo) {
   3436     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   3437 }
   3438 static inline HRESULT IRDPSRAPIVirtualChannelManager_GetTypeInfo(IRDPSRAPIVirtualChannelManager* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   3439     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   3440 }
   3441 static inline HRESULT IRDPSRAPIVirtualChannelManager_GetIDsOfNames(IRDPSRAPIVirtualChannelManager* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   3442     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   3443 }
   3444 static inline HRESULT IRDPSRAPIVirtualChannelManager_Invoke(IRDPSRAPIVirtualChannelManager* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   3445     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   3446 }
   3447 /*** IRDPSRAPIVirtualChannelManager methods ***/
   3448 static inline HRESULT IRDPSRAPIVirtualChannelManager_get__NewEnum(IRDPSRAPIVirtualChannelManager* This,IUnknown **retval) {
   3449     return This->lpVtbl->get__NewEnum(This,retval);
   3450 }
   3451 static inline HRESULT IRDPSRAPIVirtualChannelManager_get_Item(IRDPSRAPIVirtualChannelManager* This,VARIANT item,IRDPSRAPIVirtualChannel **pChannel) {
   3452     return This->lpVtbl->get_Item(This,item,pChannel);
   3453 }
   3454 static inline HRESULT IRDPSRAPIVirtualChannelManager_CreateVirtualChannel(IRDPSRAPIVirtualChannelManager* This,BSTR bstrChannelName,CHANNEL_PRIORITY Priority,ULONG ChannelFlags,IRDPSRAPIVirtualChannel **ppChannel) {
   3455     return This->lpVtbl->CreateVirtualChannel(This,bstrChannelName,Priority,ChannelFlags,ppChannel);
   3456 }
   3457 #endif
   3458 #endif
   3459 
   3460 #endif
   3461 
   3462 
   3463 #endif  /* __IRDPSRAPIVirtualChannelManager_INTERFACE_DEFINED__ */
   3464 
   3465 /*****************************************************************************
   3466  * IRDPSRAPIViewer interface
   3467  */
   3468 #ifndef __IRDPSRAPIViewer_INTERFACE_DEFINED__
   3469 #define __IRDPSRAPIViewer_INTERFACE_DEFINED__
   3470 
   3471 DEFINE_GUID(IID_IRDPSRAPIViewer, 0xc6bfcd38, 0x8ce9, 0x404d, 0x8a,0xe8, 0xf3,0x1d,0x00,0xc6,0x5c,0xb5);
   3472 #if defined(__cplusplus) && !defined(CINTERFACE)
   3473 MIDL_INTERFACE("c6bfcd38-8ce9-404d-8ae8-f31d00c65cb5")
   3474 IRDPSRAPIViewer : public IDispatch
   3475 {
   3476     virtual HRESULT STDMETHODCALLTYPE Connect(
   3477         BSTR bstrConnectionString,
   3478         BSTR bstrName,
   3479         BSTR bstrPassword) = 0;
   3480 
   3481     virtual HRESULT STDMETHODCALLTYPE Disconnect(
   3482         ) = 0;
   3483 
   3484     virtual HRESULT STDMETHODCALLTYPE get_Attendees(
   3485         IRDPSRAPIAttendeeManager **ppVal) = 0;
   3486 
   3487     virtual HRESULT STDMETHODCALLTYPE get_Invitations(
   3488         IRDPSRAPIInvitationManager **ppVal) = 0;
   3489 
   3490     virtual HRESULT STDMETHODCALLTYPE get_ApplicationFilter(
   3491         IRDPSRAPIApplicationFilter **ppVal) = 0;
   3492 
   3493     virtual HRESULT STDMETHODCALLTYPE get_VirtualChannelManager(
   3494         IRDPSRAPIVirtualChannelManager **ppVal) = 0;
   3495 
   3496     virtual HRESULT STDMETHODCALLTYPE put_SmartSizing(
   3497         VARIANT_BOOL vbSmartSizing) = 0;
   3498 
   3499     virtual HRESULT STDMETHODCALLTYPE get_SmartSizing(
   3500         VARIANT_BOOL *pvbSmartSizing) = 0;
   3501 
   3502     virtual HRESULT STDMETHODCALLTYPE RequestControl(
   3503         CTRL_LEVEL CtrlLevel) = 0;
   3504 
   3505     virtual HRESULT STDMETHODCALLTYPE put_DisconnectedText(
   3506         BSTR bstrDisconnectedText) = 0;
   3507 
   3508     virtual HRESULT STDMETHODCALLTYPE get_DisconnectedText(
   3509         BSTR *pbstrDisconnectedText) = 0;
   3510 
   3511     virtual HRESULT STDMETHODCALLTYPE RequestColorDepthChange(
   3512         LONG Bpp) = 0;
   3513 
   3514     virtual HRESULT STDMETHODCALLTYPE get_Properties(
   3515         IRDPSRAPISessionProperties **ppVal) = 0;
   3516 
   3517     virtual HRESULT STDMETHODCALLTYPE StartReverseConnectListener(
   3518         BSTR bstrConnectionString,
   3519         BSTR bstrUserName,
   3520         BSTR bstrPassword,
   3521         BSTR *pbstrReverseConnectString) = 0;
   3522 
   3523 };
   3524 #ifdef __CRT_UUID_DECL
   3525 __CRT_UUID_DECL(IRDPSRAPIViewer, 0xc6bfcd38, 0x8ce9, 0x404d, 0x8a,0xe8, 0xf3,0x1d,0x00,0xc6,0x5c,0xb5)
   3526 #endif
   3527 #else
   3528 typedef struct IRDPSRAPIViewerVtbl {
   3529     BEGIN_INTERFACE
   3530 
   3531     /*** IUnknown methods ***/
   3532     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3533         IRDPSRAPIViewer *This,
   3534         REFIID riid,
   3535         void **ppvObject);
   3536 
   3537     ULONG (STDMETHODCALLTYPE *AddRef)(
   3538         IRDPSRAPIViewer *This);
   3539 
   3540     ULONG (STDMETHODCALLTYPE *Release)(
   3541         IRDPSRAPIViewer *This);
   3542 
   3543     /*** IDispatch methods ***/
   3544     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   3545         IRDPSRAPIViewer *This,
   3546         UINT *pctinfo);
   3547 
   3548     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   3549         IRDPSRAPIViewer *This,
   3550         UINT iTInfo,
   3551         LCID lcid,
   3552         ITypeInfo **ppTInfo);
   3553 
   3554     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   3555         IRDPSRAPIViewer *This,
   3556         REFIID riid,
   3557         LPOLESTR *rgszNames,
   3558         UINT cNames,
   3559         LCID lcid,
   3560         DISPID *rgDispId);
   3561 
   3562     HRESULT (STDMETHODCALLTYPE *Invoke)(
   3563         IRDPSRAPIViewer *This,
   3564         DISPID dispIdMember,
   3565         REFIID riid,
   3566         LCID lcid,
   3567         WORD wFlags,
   3568         DISPPARAMS *pDispParams,
   3569         VARIANT *pVarResult,
   3570         EXCEPINFO *pExcepInfo,
   3571         UINT *puArgErr);
   3572 
   3573     /*** IRDPSRAPIViewer methods ***/
   3574     HRESULT (STDMETHODCALLTYPE *Connect)(
   3575         IRDPSRAPIViewer *This,
   3576         BSTR bstrConnectionString,
   3577         BSTR bstrName,
   3578         BSTR bstrPassword);
   3579 
   3580     HRESULT (STDMETHODCALLTYPE *Disconnect)(
   3581         IRDPSRAPIViewer *This);
   3582 
   3583     HRESULT (STDMETHODCALLTYPE *get_Attendees)(
   3584         IRDPSRAPIViewer *This,
   3585         IRDPSRAPIAttendeeManager **ppVal);
   3586 
   3587     HRESULT (STDMETHODCALLTYPE *get_Invitations)(
   3588         IRDPSRAPIViewer *This,
   3589         IRDPSRAPIInvitationManager **ppVal);
   3590 
   3591     HRESULT (STDMETHODCALLTYPE *get_ApplicationFilter)(
   3592         IRDPSRAPIViewer *This,
   3593         IRDPSRAPIApplicationFilter **ppVal);
   3594 
   3595     HRESULT (STDMETHODCALLTYPE *get_VirtualChannelManager)(
   3596         IRDPSRAPIViewer *This,
   3597         IRDPSRAPIVirtualChannelManager **ppVal);
   3598 
   3599     HRESULT (STDMETHODCALLTYPE *put_SmartSizing)(
   3600         IRDPSRAPIViewer *This,
   3601         VARIANT_BOOL vbSmartSizing);
   3602 
   3603     HRESULT (STDMETHODCALLTYPE *get_SmartSizing)(
   3604         IRDPSRAPIViewer *This,
   3605         VARIANT_BOOL *pvbSmartSizing);
   3606 
   3607     HRESULT (STDMETHODCALLTYPE *RequestControl)(
   3608         IRDPSRAPIViewer *This,
   3609         CTRL_LEVEL CtrlLevel);
   3610 
   3611     HRESULT (STDMETHODCALLTYPE *put_DisconnectedText)(
   3612         IRDPSRAPIViewer *This,
   3613         BSTR bstrDisconnectedText);
   3614 
   3615     HRESULT (STDMETHODCALLTYPE *get_DisconnectedText)(
   3616         IRDPSRAPIViewer *This,
   3617         BSTR *pbstrDisconnectedText);
   3618 
   3619     HRESULT (STDMETHODCALLTYPE *RequestColorDepthChange)(
   3620         IRDPSRAPIViewer *This,
   3621         LONG Bpp);
   3622 
   3623     HRESULT (STDMETHODCALLTYPE *get_Properties)(
   3624         IRDPSRAPIViewer *This,
   3625         IRDPSRAPISessionProperties **ppVal);
   3626 
   3627     HRESULT (STDMETHODCALLTYPE *StartReverseConnectListener)(
   3628         IRDPSRAPIViewer *This,
   3629         BSTR bstrConnectionString,
   3630         BSTR bstrUserName,
   3631         BSTR bstrPassword,
   3632         BSTR *pbstrReverseConnectString);
   3633 
   3634     END_INTERFACE
   3635 } IRDPSRAPIViewerVtbl;
   3636 
   3637 interface IRDPSRAPIViewer {
   3638     CONST_VTBL IRDPSRAPIViewerVtbl* lpVtbl;
   3639 };
   3640 
   3641 #ifdef COBJMACROS
   3642 #ifndef WIDL_C_INLINE_WRAPPERS
   3643 /*** IUnknown methods ***/
   3644 #define IRDPSRAPIViewer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3645 #define IRDPSRAPIViewer_AddRef(This) (This)->lpVtbl->AddRef(This)
   3646 #define IRDPSRAPIViewer_Release(This) (This)->lpVtbl->Release(This)
   3647 /*** IDispatch methods ***/
   3648 #define IRDPSRAPIViewer_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3649 #define IRDPSRAPIViewer_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3650 #define IRDPSRAPIViewer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3651 #define IRDPSRAPIViewer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3652 /*** IRDPSRAPIViewer methods ***/
   3653 #define IRDPSRAPIViewer_Connect(This,bstrConnectionString,bstrName,bstrPassword) (This)->lpVtbl->Connect(This,bstrConnectionString,bstrName,bstrPassword)
   3654 #define IRDPSRAPIViewer_Disconnect(This) (This)->lpVtbl->Disconnect(This)
   3655 #define IRDPSRAPIViewer_get_Attendees(This,ppVal) (This)->lpVtbl->get_Attendees(This,ppVal)
   3656 #define IRDPSRAPIViewer_get_Invitations(This,ppVal) (This)->lpVtbl->get_Invitations(This,ppVal)
   3657 #define IRDPSRAPIViewer_get_ApplicationFilter(This,ppVal) (This)->lpVtbl->get_ApplicationFilter(This,ppVal)
   3658 #define IRDPSRAPIViewer_get_VirtualChannelManager(This,ppVal) (This)->lpVtbl->get_VirtualChannelManager(This,ppVal)
   3659 #define IRDPSRAPIViewer_put_SmartSizing(This,vbSmartSizing) (This)->lpVtbl->put_SmartSizing(This,vbSmartSizing)
   3660 #define IRDPSRAPIViewer_get_SmartSizing(This,pvbSmartSizing) (This)->lpVtbl->get_SmartSizing(This,pvbSmartSizing)
   3661 #define IRDPSRAPIViewer_RequestControl(This,CtrlLevel) (This)->lpVtbl->RequestControl(This,CtrlLevel)
   3662 #define IRDPSRAPIViewer_put_DisconnectedText(This,bstrDisconnectedText) (This)->lpVtbl->put_DisconnectedText(This,bstrDisconnectedText)
   3663 #define IRDPSRAPIViewer_get_DisconnectedText(This,pbstrDisconnectedText) (This)->lpVtbl->get_DisconnectedText(This,pbstrDisconnectedText)
   3664 #define IRDPSRAPIViewer_RequestColorDepthChange(This,Bpp) (This)->lpVtbl->RequestColorDepthChange(This,Bpp)
   3665 #define IRDPSRAPIViewer_get_Properties(This,ppVal) (This)->lpVtbl->get_Properties(This,ppVal)
   3666 #define IRDPSRAPIViewer_StartReverseConnectListener(This,bstrConnectionString,bstrUserName,bstrPassword,pbstrReverseConnectString) (This)->lpVtbl->StartReverseConnectListener(This,bstrConnectionString,bstrUserName,bstrPassword,pbstrReverseConnectString)
   3667 #else
   3668 /*** IUnknown methods ***/
   3669 static inline HRESULT IRDPSRAPIViewer_QueryInterface(IRDPSRAPIViewer* This,REFIID riid,void **ppvObject) {
   3670     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3671 }
   3672 static inline ULONG IRDPSRAPIViewer_AddRef(IRDPSRAPIViewer* This) {
   3673     return This->lpVtbl->AddRef(This);
   3674 }
   3675 static inline ULONG IRDPSRAPIViewer_Release(IRDPSRAPIViewer* This) {
   3676     return This->lpVtbl->Release(This);
   3677 }
   3678 /*** IDispatch methods ***/
   3679 static inline HRESULT IRDPSRAPIViewer_GetTypeInfoCount(IRDPSRAPIViewer* This,UINT *pctinfo) {
   3680     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   3681 }
   3682 static inline HRESULT IRDPSRAPIViewer_GetTypeInfo(IRDPSRAPIViewer* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   3683     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   3684 }
   3685 static inline HRESULT IRDPSRAPIViewer_GetIDsOfNames(IRDPSRAPIViewer* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   3686     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   3687 }
   3688 static inline HRESULT IRDPSRAPIViewer_Invoke(IRDPSRAPIViewer* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   3689     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   3690 }
   3691 /*** IRDPSRAPIViewer methods ***/
   3692 static inline HRESULT IRDPSRAPIViewer_Connect(IRDPSRAPIViewer* This,BSTR bstrConnectionString,BSTR bstrName,BSTR bstrPassword) {
   3693     return This->lpVtbl->Connect(This,bstrConnectionString,bstrName,bstrPassword);
   3694 }
   3695 static inline HRESULT IRDPSRAPIViewer_Disconnect(IRDPSRAPIViewer* This) {
   3696     return This->lpVtbl->Disconnect(This);
   3697 }
   3698 static inline HRESULT IRDPSRAPIViewer_get_Attendees(IRDPSRAPIViewer* This,IRDPSRAPIAttendeeManager **ppVal) {
   3699     return This->lpVtbl->get_Attendees(This,ppVal);
   3700 }
   3701 static inline HRESULT IRDPSRAPIViewer_get_Invitations(IRDPSRAPIViewer* This,IRDPSRAPIInvitationManager **ppVal) {
   3702     return This->lpVtbl->get_Invitations(This,ppVal);
   3703 }
   3704 static inline HRESULT IRDPSRAPIViewer_get_ApplicationFilter(IRDPSRAPIViewer* This,IRDPSRAPIApplicationFilter **ppVal) {
   3705     return This->lpVtbl->get_ApplicationFilter(This,ppVal);
   3706 }
   3707 static inline HRESULT IRDPSRAPIViewer_get_VirtualChannelManager(IRDPSRAPIViewer* This,IRDPSRAPIVirtualChannelManager **ppVal) {
   3708     return This->lpVtbl->get_VirtualChannelManager(This,ppVal);
   3709 }
   3710 static inline HRESULT IRDPSRAPIViewer_put_SmartSizing(IRDPSRAPIViewer* This,VARIANT_BOOL vbSmartSizing) {
   3711     return This->lpVtbl->put_SmartSizing(This,vbSmartSizing);
   3712 }
   3713 static inline HRESULT IRDPSRAPIViewer_get_SmartSizing(IRDPSRAPIViewer* This,VARIANT_BOOL *pvbSmartSizing) {
   3714     return This->lpVtbl->get_SmartSizing(This,pvbSmartSizing);
   3715 }
   3716 static inline HRESULT IRDPSRAPIViewer_RequestControl(IRDPSRAPIViewer* This,CTRL_LEVEL CtrlLevel) {
   3717     return This->lpVtbl->RequestControl(This,CtrlLevel);
   3718 }
   3719 static inline HRESULT IRDPSRAPIViewer_put_DisconnectedText(IRDPSRAPIViewer* This,BSTR bstrDisconnectedText) {
   3720     return This->lpVtbl->put_DisconnectedText(This,bstrDisconnectedText);
   3721 }
   3722 static inline HRESULT IRDPSRAPIViewer_get_DisconnectedText(IRDPSRAPIViewer* This,BSTR *pbstrDisconnectedText) {
   3723     return This->lpVtbl->get_DisconnectedText(This,pbstrDisconnectedText);
   3724 }
   3725 static inline HRESULT IRDPSRAPIViewer_RequestColorDepthChange(IRDPSRAPIViewer* This,LONG Bpp) {
   3726     return This->lpVtbl->RequestColorDepthChange(This,Bpp);
   3727 }
   3728 static inline HRESULT IRDPSRAPIViewer_get_Properties(IRDPSRAPIViewer* This,IRDPSRAPISessionProperties **ppVal) {
   3729     return This->lpVtbl->get_Properties(This,ppVal);
   3730 }
   3731 static inline HRESULT IRDPSRAPIViewer_StartReverseConnectListener(IRDPSRAPIViewer* This,BSTR bstrConnectionString,BSTR bstrUserName,BSTR bstrPassword,BSTR *pbstrReverseConnectString) {
   3732     return This->lpVtbl->StartReverseConnectListener(This,bstrConnectionString,bstrUserName,bstrPassword,pbstrReverseConnectString);
   3733 }
   3734 #endif
   3735 #endif
   3736 
   3737 #endif
   3738 
   3739 
   3740 #endif  /* __IRDPSRAPIViewer_INTERFACE_DEFINED__ */
   3741 
   3742 /*****************************************************************************
   3743  * IRDPViewerRenderingSurface interface
   3744  */
   3745 #ifndef __IRDPViewerRenderingSurface_INTERFACE_DEFINED__
   3746 #define __IRDPViewerRenderingSurface_INTERFACE_DEFINED__
   3747 
   3748 DEFINE_GUID(IID_IRDPViewerRenderingSurface, 0x56bfce32, 0x83e9, 0x414d, 0x82,0xe8, 0xf3,0x1d,0x01,0xc6,0x2c,0xb5);
   3749 #if defined(__cplusplus) && !defined(CINTERFACE)
   3750 MIDL_INTERFACE("56bfce32-83e9-414d-82e8-f31d01c62cb5")
   3751 IRDPViewerRenderingSurface : public IUnknown
   3752 {
   3753     virtual HRESULT STDMETHODCALLTYPE SetRenderingSurface(
   3754         IUnknown *pRenderingSurface,
   3755         LONG surfaceWidth,
   3756         LONG surfaceHeight) = 0;
   3757 
   3758 };
   3759 #ifdef __CRT_UUID_DECL
   3760 __CRT_UUID_DECL(IRDPViewerRenderingSurface, 0x56bfce32, 0x83e9, 0x414d, 0x82,0xe8, 0xf3,0x1d,0x01,0xc6,0x2c,0xb5)
   3761 #endif
   3762 #else
   3763 typedef struct IRDPViewerRenderingSurfaceVtbl {
   3764     BEGIN_INTERFACE
   3765 
   3766     /*** IUnknown methods ***/
   3767     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3768         IRDPViewerRenderingSurface *This,
   3769         REFIID riid,
   3770         void **ppvObject);
   3771 
   3772     ULONG (STDMETHODCALLTYPE *AddRef)(
   3773         IRDPViewerRenderingSurface *This);
   3774 
   3775     ULONG (STDMETHODCALLTYPE *Release)(
   3776         IRDPViewerRenderingSurface *This);
   3777 
   3778     /*** IRDPViewerRenderingSurface methods ***/
   3779     HRESULT (STDMETHODCALLTYPE *SetRenderingSurface)(
   3780         IRDPViewerRenderingSurface *This,
   3781         IUnknown *pRenderingSurface,
   3782         LONG surfaceWidth,
   3783         LONG surfaceHeight);
   3784 
   3785     END_INTERFACE
   3786 } IRDPViewerRenderingSurfaceVtbl;
   3787 
   3788 interface IRDPViewerRenderingSurface {
   3789     CONST_VTBL IRDPViewerRenderingSurfaceVtbl* lpVtbl;
   3790 };
   3791 
   3792 #ifdef COBJMACROS
   3793 #ifndef WIDL_C_INLINE_WRAPPERS
   3794 /*** IUnknown methods ***/
   3795 #define IRDPViewerRenderingSurface_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3796 #define IRDPViewerRenderingSurface_AddRef(This) (This)->lpVtbl->AddRef(This)
   3797 #define IRDPViewerRenderingSurface_Release(This) (This)->lpVtbl->Release(This)
   3798 /*** IRDPViewerRenderingSurface methods ***/
   3799 #define IRDPViewerRenderingSurface_SetRenderingSurface(This,pRenderingSurface,surfaceWidth,surfaceHeight) (This)->lpVtbl->SetRenderingSurface(This,pRenderingSurface,surfaceWidth,surfaceHeight)
   3800 #else
   3801 /*** IUnknown methods ***/
   3802 static inline HRESULT IRDPViewerRenderingSurface_QueryInterface(IRDPViewerRenderingSurface* This,REFIID riid,void **ppvObject) {
   3803     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3804 }
   3805 static inline ULONG IRDPViewerRenderingSurface_AddRef(IRDPViewerRenderingSurface* This) {
   3806     return This->lpVtbl->AddRef(This);
   3807 }
   3808 static inline ULONG IRDPViewerRenderingSurface_Release(IRDPViewerRenderingSurface* This) {
   3809     return This->lpVtbl->Release(This);
   3810 }
   3811 /*** IRDPViewerRenderingSurface methods ***/
   3812 static inline HRESULT IRDPViewerRenderingSurface_SetRenderingSurface(IRDPViewerRenderingSurface* This,IUnknown *pRenderingSurface,LONG surfaceWidth,LONG surfaceHeight) {
   3813     return This->lpVtbl->SetRenderingSurface(This,pRenderingSurface,surfaceWidth,surfaceHeight);
   3814 }
   3815 #endif
   3816 #endif
   3817 
   3818 #endif
   3819 
   3820 
   3821 #endif  /* __IRDPViewerRenderingSurface_INTERFACE_DEFINED__ */
   3822 
   3823 /*****************************************************************************
   3824  * IRDPViewerInputSink interface
   3825  */
   3826 #ifndef __IRDPViewerInputSink_INTERFACE_DEFINED__
   3827 #define __IRDPViewerInputSink_INTERFACE_DEFINED__
   3828 
   3829 DEFINE_GUID(IID_IRDPViewerInputSink, 0xbb590853, 0xa6c5, 0x4a7b, 0x8d,0xd4, 0x76,0xb6,0x9e,0xea,0x12,0xd5);
   3830 #if defined(__cplusplus) && !defined(CINTERFACE)
   3831 MIDL_INTERFACE("bb590853-a6c5-4a7b-8dd4-76b69eea12d5")
   3832 IRDPViewerInputSink : public IUnknown
   3833 {
   3834     virtual HRESULT STDMETHODCALLTYPE SendMouseButtonEvent(
   3835         RDPSRAPI_MOUSE_BUTTON_TYPE buttonType,
   3836         VARIANT_BOOL vbButtonDown,
   3837         ULONG xPos,
   3838         ULONG yPos) = 0;
   3839 
   3840     virtual HRESULT STDMETHODCALLTYPE SendMouseMoveEvent(
   3841         ULONG xPos,
   3842         ULONG yPos) = 0;
   3843 
   3844     virtual HRESULT STDMETHODCALLTYPE SendMouseWheelEvent(
   3845         UINT16 wheelRotation) = 0;
   3846 
   3847     virtual HRESULT STDMETHODCALLTYPE SendKeyboardEvent(
   3848         RDPSRAPI_KBD_CODE_TYPE codeType,
   3849         UINT16 keycode,
   3850         VARIANT_BOOL vbKeyUp,
   3851         VARIANT_BOOL vbRepeat,
   3852         VARIANT_BOOL vbExtended) = 0;
   3853 
   3854     virtual HRESULT STDMETHODCALLTYPE SendSyncEvent(
   3855         ULONG syncFlags) = 0;
   3856 
   3857     virtual HRESULT STDMETHODCALLTYPE BeginTouchFrame(
   3858         ) = 0;
   3859 
   3860     virtual HRESULT STDMETHODCALLTYPE AddTouchInput(
   3861         UINT32 contactId,
   3862         UINT32 evnt,
   3863         INT32 x,
   3864         INT32 y) = 0;
   3865 
   3866     virtual HRESULT STDMETHODCALLTYPE EndTouchFrame(
   3867         ) = 0;
   3868 
   3869 };
   3870 #ifdef __CRT_UUID_DECL
   3871 __CRT_UUID_DECL(IRDPViewerInputSink, 0xbb590853, 0xa6c5, 0x4a7b, 0x8d,0xd4, 0x76,0xb6,0x9e,0xea,0x12,0xd5)
   3872 #endif
   3873 #else
   3874 typedef struct IRDPViewerInputSinkVtbl {
   3875     BEGIN_INTERFACE
   3876 
   3877     /*** IUnknown methods ***/
   3878     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3879         IRDPViewerInputSink *This,
   3880         REFIID riid,
   3881         void **ppvObject);
   3882 
   3883     ULONG (STDMETHODCALLTYPE *AddRef)(
   3884         IRDPViewerInputSink *This);
   3885 
   3886     ULONG (STDMETHODCALLTYPE *Release)(
   3887         IRDPViewerInputSink *This);
   3888 
   3889     /*** IRDPViewerInputSink methods ***/
   3890     HRESULT (STDMETHODCALLTYPE *SendMouseButtonEvent)(
   3891         IRDPViewerInputSink *This,
   3892         RDPSRAPI_MOUSE_BUTTON_TYPE buttonType,
   3893         VARIANT_BOOL vbButtonDown,
   3894         ULONG xPos,
   3895         ULONG yPos);
   3896 
   3897     HRESULT (STDMETHODCALLTYPE *SendMouseMoveEvent)(
   3898         IRDPViewerInputSink *This,
   3899         ULONG xPos,
   3900         ULONG yPos);
   3901 
   3902     HRESULT (STDMETHODCALLTYPE *SendMouseWheelEvent)(
   3903         IRDPViewerInputSink *This,
   3904         UINT16 wheelRotation);
   3905 
   3906     HRESULT (STDMETHODCALLTYPE *SendKeyboardEvent)(
   3907         IRDPViewerInputSink *This,
   3908         RDPSRAPI_KBD_CODE_TYPE codeType,
   3909         UINT16 keycode,
   3910         VARIANT_BOOL vbKeyUp,
   3911         VARIANT_BOOL vbRepeat,
   3912         VARIANT_BOOL vbExtended);
   3913 
   3914     HRESULT (STDMETHODCALLTYPE *SendSyncEvent)(
   3915         IRDPViewerInputSink *This,
   3916         ULONG syncFlags);
   3917 
   3918     HRESULT (STDMETHODCALLTYPE *BeginTouchFrame)(
   3919         IRDPViewerInputSink *This);
   3920 
   3921     HRESULT (STDMETHODCALLTYPE *AddTouchInput)(
   3922         IRDPViewerInputSink *This,
   3923         UINT32 contactId,
   3924         UINT32 evnt,
   3925         INT32 x,
   3926         INT32 y);
   3927 
   3928     HRESULT (STDMETHODCALLTYPE *EndTouchFrame)(
   3929         IRDPViewerInputSink *This);
   3930 
   3931     END_INTERFACE
   3932 } IRDPViewerInputSinkVtbl;
   3933 
   3934 interface IRDPViewerInputSink {
   3935     CONST_VTBL IRDPViewerInputSinkVtbl* lpVtbl;
   3936 };
   3937 
   3938 #ifdef COBJMACROS
   3939 #ifndef WIDL_C_INLINE_WRAPPERS
   3940 /*** IUnknown methods ***/
   3941 #define IRDPViewerInputSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3942 #define IRDPViewerInputSink_AddRef(This) (This)->lpVtbl->AddRef(This)
   3943 #define IRDPViewerInputSink_Release(This) (This)->lpVtbl->Release(This)
   3944 /*** IRDPViewerInputSink methods ***/
   3945 #define IRDPViewerInputSink_SendMouseButtonEvent(This,buttonType,vbButtonDown,xPos,yPos) (This)->lpVtbl->SendMouseButtonEvent(This,buttonType,vbButtonDown,xPos,yPos)
   3946 #define IRDPViewerInputSink_SendMouseMoveEvent(This,xPos,yPos) (This)->lpVtbl->SendMouseMoveEvent(This,xPos,yPos)
   3947 #define IRDPViewerInputSink_SendMouseWheelEvent(This,wheelRotation) (This)->lpVtbl->SendMouseWheelEvent(This,wheelRotation)
   3948 #define IRDPViewerInputSink_SendKeyboardEvent(This,codeType,keycode,vbKeyUp,vbRepeat,vbExtended) (This)->lpVtbl->SendKeyboardEvent(This,codeType,keycode,vbKeyUp,vbRepeat,vbExtended)
   3949 #define IRDPViewerInputSink_SendSyncEvent(This,syncFlags) (This)->lpVtbl->SendSyncEvent(This,syncFlags)
   3950 #define IRDPViewerInputSink_BeginTouchFrame(This) (This)->lpVtbl->BeginTouchFrame(This)
   3951 #define IRDPViewerInputSink_AddTouchInput(This,contactId,evnt,x,y) (This)->lpVtbl->AddTouchInput(This,contactId,evnt,x,y)
   3952 #define IRDPViewerInputSink_EndTouchFrame(This) (This)->lpVtbl->EndTouchFrame(This)
   3953 #else
   3954 /*** IUnknown methods ***/
   3955 static inline HRESULT IRDPViewerInputSink_QueryInterface(IRDPViewerInputSink* This,REFIID riid,void **ppvObject) {
   3956     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3957 }
   3958 static inline ULONG IRDPViewerInputSink_AddRef(IRDPViewerInputSink* This) {
   3959     return This->lpVtbl->AddRef(This);
   3960 }
   3961 static inline ULONG IRDPViewerInputSink_Release(IRDPViewerInputSink* This) {
   3962     return This->lpVtbl->Release(This);
   3963 }
   3964 /*** IRDPViewerInputSink methods ***/
   3965 static inline HRESULT IRDPViewerInputSink_SendMouseButtonEvent(IRDPViewerInputSink* This,RDPSRAPI_MOUSE_BUTTON_TYPE buttonType,VARIANT_BOOL vbButtonDown,ULONG xPos,ULONG yPos) {
   3966     return This->lpVtbl->SendMouseButtonEvent(This,buttonType,vbButtonDown,xPos,yPos);
   3967 }
   3968 static inline HRESULT IRDPViewerInputSink_SendMouseMoveEvent(IRDPViewerInputSink* This,ULONG xPos,ULONG yPos) {
   3969     return This->lpVtbl->SendMouseMoveEvent(This,xPos,yPos);
   3970 }
   3971 static inline HRESULT IRDPViewerInputSink_SendMouseWheelEvent(IRDPViewerInputSink* This,UINT16 wheelRotation) {
   3972     return This->lpVtbl->SendMouseWheelEvent(This,wheelRotation);
   3973 }
   3974 static inline HRESULT IRDPViewerInputSink_SendKeyboardEvent(IRDPViewerInputSink* This,RDPSRAPI_KBD_CODE_TYPE codeType,UINT16 keycode,VARIANT_BOOL vbKeyUp,VARIANT_BOOL vbRepeat,VARIANT_BOOL vbExtended) {
   3975     return This->lpVtbl->SendKeyboardEvent(This,codeType,keycode,vbKeyUp,vbRepeat,vbExtended);
   3976 }
   3977 static inline HRESULT IRDPViewerInputSink_SendSyncEvent(IRDPViewerInputSink* This,ULONG syncFlags) {
   3978     return This->lpVtbl->SendSyncEvent(This,syncFlags);
   3979 }
   3980 static inline HRESULT IRDPViewerInputSink_BeginTouchFrame(IRDPViewerInputSink* This) {
   3981     return This->lpVtbl->BeginTouchFrame(This);
   3982 }
   3983 static inline HRESULT IRDPViewerInputSink_AddTouchInput(IRDPViewerInputSink* This,UINT32 contactId,UINT32 evnt,INT32 x,INT32 y) {
   3984     return This->lpVtbl->AddTouchInput(This,contactId,evnt,x,y);
   3985 }
   3986 static inline HRESULT IRDPViewerInputSink_EndTouchFrame(IRDPViewerInputSink* This) {
   3987     return This->lpVtbl->EndTouchFrame(This);
   3988 }
   3989 #endif
   3990 #endif
   3991 
   3992 #endif
   3993 
   3994 
   3995 #endif  /* __IRDPViewerInputSink_INTERFACE_DEFINED__ */
   3996 
   3997 /*****************************************************************************
   3998  * IRDPSRAPIFrameBuffer interface
   3999  */
   4000 #ifndef __IRDPSRAPIFrameBuffer_INTERFACE_DEFINED__
   4001 #define __IRDPSRAPIFrameBuffer_INTERFACE_DEFINED__
   4002 
   4003 DEFINE_GUID(IID_IRDPSRAPIFrameBuffer, 0x3d67e7d2, 0xb27b, 0x448e, 0x81,0xb3, 0xc6,0x11,0x0e,0xd8,0xb4,0xbe);
   4004 #if defined(__cplusplus) && !defined(CINTERFACE)
   4005 MIDL_INTERFACE("3d67e7d2-b27b-448e-81b3-c6110ed8b4be")
   4006 IRDPSRAPIFrameBuffer : public IDispatch
   4007 {
   4008     virtual HRESULT STDMETHODCALLTYPE get_Width(
   4009         LONG *plWidth) = 0;
   4010 
   4011     virtual HRESULT STDMETHODCALLTYPE get_Height(
   4012         LONG *plHeight) = 0;
   4013 
   4014     virtual HRESULT STDMETHODCALLTYPE get_Bpp(
   4015         LONG *plBpp) = 0;
   4016 
   4017     virtual HRESULT STDMETHODCALLTYPE GetFrameBufferBits(
   4018         LONG x,
   4019         LONG y,
   4020         LONG Width,
   4021         LONG Heigth,
   4022         SAFEARRAY **ppBits) = 0;
   4023 
   4024 };
   4025 #ifdef __CRT_UUID_DECL
   4026 __CRT_UUID_DECL(IRDPSRAPIFrameBuffer, 0x3d67e7d2, 0xb27b, 0x448e, 0x81,0xb3, 0xc6,0x11,0x0e,0xd8,0xb4,0xbe)
   4027 #endif
   4028 #else
   4029 typedef struct IRDPSRAPIFrameBufferVtbl {
   4030     BEGIN_INTERFACE
   4031 
   4032     /*** IUnknown methods ***/
   4033     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4034         IRDPSRAPIFrameBuffer *This,
   4035         REFIID riid,
   4036         void **ppvObject);
   4037 
   4038     ULONG (STDMETHODCALLTYPE *AddRef)(
   4039         IRDPSRAPIFrameBuffer *This);
   4040 
   4041     ULONG (STDMETHODCALLTYPE *Release)(
   4042         IRDPSRAPIFrameBuffer *This);
   4043 
   4044     /*** IDispatch methods ***/
   4045     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   4046         IRDPSRAPIFrameBuffer *This,
   4047         UINT *pctinfo);
   4048 
   4049     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   4050         IRDPSRAPIFrameBuffer *This,
   4051         UINT iTInfo,
   4052         LCID lcid,
   4053         ITypeInfo **ppTInfo);
   4054 
   4055     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   4056         IRDPSRAPIFrameBuffer *This,
   4057         REFIID riid,
   4058         LPOLESTR *rgszNames,
   4059         UINT cNames,
   4060         LCID lcid,
   4061         DISPID *rgDispId);
   4062 
   4063     HRESULT (STDMETHODCALLTYPE *Invoke)(
   4064         IRDPSRAPIFrameBuffer *This,
   4065         DISPID dispIdMember,
   4066         REFIID riid,
   4067         LCID lcid,
   4068         WORD wFlags,
   4069         DISPPARAMS *pDispParams,
   4070         VARIANT *pVarResult,
   4071         EXCEPINFO *pExcepInfo,
   4072         UINT *puArgErr);
   4073 
   4074     /*** IRDPSRAPIFrameBuffer methods ***/
   4075     HRESULT (STDMETHODCALLTYPE *get_Width)(
   4076         IRDPSRAPIFrameBuffer *This,
   4077         LONG *plWidth);
   4078 
   4079     HRESULT (STDMETHODCALLTYPE *get_Height)(
   4080         IRDPSRAPIFrameBuffer *This,
   4081         LONG *plHeight);
   4082 
   4083     HRESULT (STDMETHODCALLTYPE *get_Bpp)(
   4084         IRDPSRAPIFrameBuffer *This,
   4085         LONG *plBpp);
   4086 
   4087     HRESULT (STDMETHODCALLTYPE *GetFrameBufferBits)(
   4088         IRDPSRAPIFrameBuffer *This,
   4089         LONG x,
   4090         LONG y,
   4091         LONG Width,
   4092         LONG Heigth,
   4093         SAFEARRAY **ppBits);
   4094 
   4095     END_INTERFACE
   4096 } IRDPSRAPIFrameBufferVtbl;
   4097 
   4098 interface IRDPSRAPIFrameBuffer {
   4099     CONST_VTBL IRDPSRAPIFrameBufferVtbl* lpVtbl;
   4100 };
   4101 
   4102 #ifdef COBJMACROS
   4103 #ifndef WIDL_C_INLINE_WRAPPERS
   4104 /*** IUnknown methods ***/
   4105 #define IRDPSRAPIFrameBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4106 #define IRDPSRAPIFrameBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
   4107 #define IRDPSRAPIFrameBuffer_Release(This) (This)->lpVtbl->Release(This)
   4108 /*** IDispatch methods ***/
   4109 #define IRDPSRAPIFrameBuffer_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   4110 #define IRDPSRAPIFrameBuffer_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   4111 #define IRDPSRAPIFrameBuffer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   4112 #define IRDPSRAPIFrameBuffer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   4113 /*** IRDPSRAPIFrameBuffer methods ***/
   4114 #define IRDPSRAPIFrameBuffer_get_Width(This,plWidth) (This)->lpVtbl->get_Width(This,plWidth)
   4115 #define IRDPSRAPIFrameBuffer_get_Height(This,plHeight) (This)->lpVtbl->get_Height(This,plHeight)
   4116 #define IRDPSRAPIFrameBuffer_get_Bpp(This,plBpp) (This)->lpVtbl->get_Bpp(This,plBpp)
   4117 #define IRDPSRAPIFrameBuffer_GetFrameBufferBits(This,x,y,Width,Heigth,ppBits) (This)->lpVtbl->GetFrameBufferBits(This,x,y,Width,Heigth,ppBits)
   4118 #else
   4119 /*** IUnknown methods ***/
   4120 static inline HRESULT IRDPSRAPIFrameBuffer_QueryInterface(IRDPSRAPIFrameBuffer* This,REFIID riid,void **ppvObject) {
   4121     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4122 }
   4123 static inline ULONG IRDPSRAPIFrameBuffer_AddRef(IRDPSRAPIFrameBuffer* This) {
   4124     return This->lpVtbl->AddRef(This);
   4125 }
   4126 static inline ULONG IRDPSRAPIFrameBuffer_Release(IRDPSRAPIFrameBuffer* This) {
   4127     return This->lpVtbl->Release(This);
   4128 }
   4129 /*** IDispatch methods ***/
   4130 static inline HRESULT IRDPSRAPIFrameBuffer_GetTypeInfoCount(IRDPSRAPIFrameBuffer* This,UINT *pctinfo) {
   4131     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   4132 }
   4133 static inline HRESULT IRDPSRAPIFrameBuffer_GetTypeInfo(IRDPSRAPIFrameBuffer* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   4134     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   4135 }
   4136 static inline HRESULT IRDPSRAPIFrameBuffer_GetIDsOfNames(IRDPSRAPIFrameBuffer* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   4137     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   4138 }
   4139 static inline HRESULT IRDPSRAPIFrameBuffer_Invoke(IRDPSRAPIFrameBuffer* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   4140     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   4141 }
   4142 /*** IRDPSRAPIFrameBuffer methods ***/
   4143 static inline HRESULT IRDPSRAPIFrameBuffer_get_Width(IRDPSRAPIFrameBuffer* This,LONG *plWidth) {
   4144     return This->lpVtbl->get_Width(This,plWidth);
   4145 }
   4146 static inline HRESULT IRDPSRAPIFrameBuffer_get_Height(IRDPSRAPIFrameBuffer* This,LONG *plHeight) {
   4147     return This->lpVtbl->get_Height(This,plHeight);
   4148 }
   4149 static inline HRESULT IRDPSRAPIFrameBuffer_get_Bpp(IRDPSRAPIFrameBuffer* This,LONG *plBpp) {
   4150     return This->lpVtbl->get_Bpp(This,plBpp);
   4151 }
   4152 static inline HRESULT IRDPSRAPIFrameBuffer_GetFrameBufferBits(IRDPSRAPIFrameBuffer* This,LONG x,LONG y,LONG Width,LONG Heigth,SAFEARRAY **ppBits) {
   4153     return This->lpVtbl->GetFrameBufferBits(This,x,y,Width,Heigth,ppBits);
   4154 }
   4155 #endif
   4156 #endif
   4157 
   4158 #endif
   4159 
   4160 
   4161 #endif  /* __IRDPSRAPIFrameBuffer_INTERFACE_DEFINED__ */
   4162 
   4163 /*****************************************************************************
   4164  * IRDPSRAPITransportStreamBuffer interface
   4165  */
   4166 #ifndef __IRDPSRAPITransportStreamBuffer_INTERFACE_DEFINED__
   4167 #define __IRDPSRAPITransportStreamBuffer_INTERFACE_DEFINED__
   4168 
   4169 DEFINE_GUID(IID_IRDPSRAPITransportStreamBuffer, 0x81c80290, 0x5085, 0x44b0, 0xb4,0x60, 0xf8,0x65,0xc3,0x9c,0xb4,0xa9);
   4170 #if defined(__cplusplus) && !defined(CINTERFACE)
   4171 MIDL_INTERFACE("81c80290-5085-44b0-b460-f865c39cb4a9")
   4172 IRDPSRAPITransportStreamBuffer : public IUnknown
   4173 {
   4174     virtual HRESULT STDMETHODCALLTYPE get_Storage(
   4175         BYTE **ppbStorage) = 0;
   4176 
   4177     virtual HRESULT STDMETHODCALLTYPE get_StorageSize(
   4178         LONG *plMaxStore) = 0;
   4179 
   4180     virtual HRESULT STDMETHODCALLTYPE get_PayloadSize(
   4181         LONG *plRetVal) = 0;
   4182 
   4183     virtual HRESULT STDMETHODCALLTYPE put_PayloadSize(
   4184         LONG lVal) = 0;
   4185 
   4186     virtual HRESULT STDMETHODCALLTYPE get_PayloadOffset(
   4187         LONG *plRetVal) = 0;
   4188 
   4189     virtual HRESULT STDMETHODCALLTYPE put_PayloadOffset(
   4190         LONG lRetVal) = 0;
   4191 
   4192     virtual HRESULT STDMETHODCALLTYPE get_Flags(
   4193         LONG *plFlags) = 0;
   4194 
   4195     virtual HRESULT STDMETHODCALLTYPE put_Flags(
   4196         LONG lFlags) = 0;
   4197 
   4198     virtual HRESULT STDMETHODCALLTYPE get_Context(
   4199         IUnknown **ppContext) = 0;
   4200 
   4201     virtual HRESULT STDMETHODCALLTYPE put_Context(
   4202         IUnknown *pContext) = 0;
   4203 
   4204 };
   4205 #ifdef __CRT_UUID_DECL
   4206 __CRT_UUID_DECL(IRDPSRAPITransportStreamBuffer, 0x81c80290, 0x5085, 0x44b0, 0xb4,0x60, 0xf8,0x65,0xc3,0x9c,0xb4,0xa9)
   4207 #endif
   4208 #else
   4209 typedef struct IRDPSRAPITransportStreamBufferVtbl {
   4210     BEGIN_INTERFACE
   4211 
   4212     /*** IUnknown methods ***/
   4213     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4214         IRDPSRAPITransportStreamBuffer *This,
   4215         REFIID riid,
   4216         void **ppvObject);
   4217 
   4218     ULONG (STDMETHODCALLTYPE *AddRef)(
   4219         IRDPSRAPITransportStreamBuffer *This);
   4220 
   4221     ULONG (STDMETHODCALLTYPE *Release)(
   4222         IRDPSRAPITransportStreamBuffer *This);
   4223 
   4224     /*** IRDPSRAPITransportStreamBuffer methods ***/
   4225     HRESULT (STDMETHODCALLTYPE *get_Storage)(
   4226         IRDPSRAPITransportStreamBuffer *This,
   4227         BYTE **ppbStorage);
   4228 
   4229     HRESULT (STDMETHODCALLTYPE *get_StorageSize)(
   4230         IRDPSRAPITransportStreamBuffer *This,
   4231         LONG *plMaxStore);
   4232 
   4233     HRESULT (STDMETHODCALLTYPE *get_PayloadSize)(
   4234         IRDPSRAPITransportStreamBuffer *This,
   4235         LONG *plRetVal);
   4236 
   4237     HRESULT (STDMETHODCALLTYPE *put_PayloadSize)(
   4238         IRDPSRAPITransportStreamBuffer *This,
   4239         LONG lVal);
   4240 
   4241     HRESULT (STDMETHODCALLTYPE *get_PayloadOffset)(
   4242         IRDPSRAPITransportStreamBuffer *This,
   4243         LONG *plRetVal);
   4244 
   4245     HRESULT (STDMETHODCALLTYPE *put_PayloadOffset)(
   4246         IRDPSRAPITransportStreamBuffer *This,
   4247         LONG lRetVal);
   4248 
   4249     HRESULT (STDMETHODCALLTYPE *get_Flags)(
   4250         IRDPSRAPITransportStreamBuffer *This,
   4251         LONG *plFlags);
   4252 
   4253     HRESULT (STDMETHODCALLTYPE *put_Flags)(
   4254         IRDPSRAPITransportStreamBuffer *This,
   4255         LONG lFlags);
   4256 
   4257     HRESULT (STDMETHODCALLTYPE *get_Context)(
   4258         IRDPSRAPITransportStreamBuffer *This,
   4259         IUnknown **ppContext);
   4260 
   4261     HRESULT (STDMETHODCALLTYPE *put_Context)(
   4262         IRDPSRAPITransportStreamBuffer *This,
   4263         IUnknown *pContext);
   4264 
   4265     END_INTERFACE
   4266 } IRDPSRAPITransportStreamBufferVtbl;
   4267 
   4268 interface IRDPSRAPITransportStreamBuffer {
   4269     CONST_VTBL IRDPSRAPITransportStreamBufferVtbl* lpVtbl;
   4270 };
   4271 
   4272 #ifdef COBJMACROS
   4273 #ifndef WIDL_C_INLINE_WRAPPERS
   4274 /*** IUnknown methods ***/
   4275 #define IRDPSRAPITransportStreamBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4276 #define IRDPSRAPITransportStreamBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
   4277 #define IRDPSRAPITransportStreamBuffer_Release(This) (This)->lpVtbl->Release(This)
   4278 /*** IRDPSRAPITransportStreamBuffer methods ***/
   4279 #define IRDPSRAPITransportStreamBuffer_get_Storage(This,ppbStorage) (This)->lpVtbl->get_Storage(This,ppbStorage)
   4280 #define IRDPSRAPITransportStreamBuffer_get_StorageSize(This,plMaxStore) (This)->lpVtbl->get_StorageSize(This,plMaxStore)
   4281 #define IRDPSRAPITransportStreamBuffer_get_PayloadSize(This,plRetVal) (This)->lpVtbl->get_PayloadSize(This,plRetVal)
   4282 #define IRDPSRAPITransportStreamBuffer_put_PayloadSize(This,lVal) (This)->lpVtbl->put_PayloadSize(This,lVal)
   4283 #define IRDPSRAPITransportStreamBuffer_get_PayloadOffset(This,plRetVal) (This)->lpVtbl->get_PayloadOffset(This,plRetVal)
   4284 #define IRDPSRAPITransportStreamBuffer_put_PayloadOffset(This,lRetVal) (This)->lpVtbl->put_PayloadOffset(This,lRetVal)
   4285 #define IRDPSRAPITransportStreamBuffer_get_Flags(This,plFlags) (This)->lpVtbl->get_Flags(This,plFlags)
   4286 #define IRDPSRAPITransportStreamBuffer_put_Flags(This,lFlags) (This)->lpVtbl->put_Flags(This,lFlags)
   4287 #define IRDPSRAPITransportStreamBuffer_get_Context(This,ppContext) (This)->lpVtbl->get_Context(This,ppContext)
   4288 #define IRDPSRAPITransportStreamBuffer_put_Context(This,pContext) (This)->lpVtbl->put_Context(This,pContext)
   4289 #else
   4290 /*** IUnknown methods ***/
   4291 static inline HRESULT IRDPSRAPITransportStreamBuffer_QueryInterface(IRDPSRAPITransportStreamBuffer* This,REFIID riid,void **ppvObject) {
   4292     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4293 }
   4294 static inline ULONG IRDPSRAPITransportStreamBuffer_AddRef(IRDPSRAPITransportStreamBuffer* This) {
   4295     return This->lpVtbl->AddRef(This);
   4296 }
   4297 static inline ULONG IRDPSRAPITransportStreamBuffer_Release(IRDPSRAPITransportStreamBuffer* This) {
   4298     return This->lpVtbl->Release(This);
   4299 }
   4300 /*** IRDPSRAPITransportStreamBuffer methods ***/
   4301 static inline HRESULT IRDPSRAPITransportStreamBuffer_get_Storage(IRDPSRAPITransportStreamBuffer* This,BYTE **ppbStorage) {
   4302     return This->lpVtbl->get_Storage(This,ppbStorage);
   4303 }
   4304 static inline HRESULT IRDPSRAPITransportStreamBuffer_get_StorageSize(IRDPSRAPITransportStreamBuffer* This,LONG *plMaxStore) {
   4305     return This->lpVtbl->get_StorageSize(This,plMaxStore);
   4306 }
   4307 static inline HRESULT IRDPSRAPITransportStreamBuffer_get_PayloadSize(IRDPSRAPITransportStreamBuffer* This,LONG *plRetVal) {
   4308     return This->lpVtbl->get_PayloadSize(This,plRetVal);
   4309 }
   4310 static inline HRESULT IRDPSRAPITransportStreamBuffer_put_PayloadSize(IRDPSRAPITransportStreamBuffer* This,LONG lVal) {
   4311     return This->lpVtbl->put_PayloadSize(This,lVal);
   4312 }
   4313 static inline HRESULT IRDPSRAPITransportStreamBuffer_get_PayloadOffset(IRDPSRAPITransportStreamBuffer* This,LONG *plRetVal) {
   4314     return This->lpVtbl->get_PayloadOffset(This,plRetVal);
   4315 }
   4316 static inline HRESULT IRDPSRAPITransportStreamBuffer_put_PayloadOffset(IRDPSRAPITransportStreamBuffer* This,LONG lRetVal) {
   4317     return This->lpVtbl->put_PayloadOffset(This,lRetVal);
   4318 }
   4319 static inline HRESULT IRDPSRAPITransportStreamBuffer_get_Flags(IRDPSRAPITransportStreamBuffer* This,LONG *plFlags) {
   4320     return This->lpVtbl->get_Flags(This,plFlags);
   4321 }
   4322 static inline HRESULT IRDPSRAPITransportStreamBuffer_put_Flags(IRDPSRAPITransportStreamBuffer* This,LONG lFlags) {
   4323     return This->lpVtbl->put_Flags(This,lFlags);
   4324 }
   4325 static inline HRESULT IRDPSRAPITransportStreamBuffer_get_Context(IRDPSRAPITransportStreamBuffer* This,IUnknown **ppContext) {
   4326     return This->lpVtbl->get_Context(This,ppContext);
   4327 }
   4328 static inline HRESULT IRDPSRAPITransportStreamBuffer_put_Context(IRDPSRAPITransportStreamBuffer* This,IUnknown *pContext) {
   4329     return This->lpVtbl->put_Context(This,pContext);
   4330 }
   4331 #endif
   4332 #endif
   4333 
   4334 #endif
   4335 
   4336 
   4337 #endif  /* __IRDPSRAPITransportStreamBuffer_INTERFACE_DEFINED__ */
   4338 
   4339 /*****************************************************************************
   4340  * IRDPSRAPITransportStreamEvents interface
   4341  */
   4342 #ifndef __IRDPSRAPITransportStreamEvents_INTERFACE_DEFINED__
   4343 #define __IRDPSRAPITransportStreamEvents_INTERFACE_DEFINED__
   4344 
   4345 DEFINE_GUID(IID_IRDPSRAPITransportStreamEvents, 0xea81c254, 0xf5af, 0x4e40, 0x98,0x2e, 0x3e,0x63,0xbb,0x59,0x52,0x76);
   4346 #if defined(__cplusplus) && !defined(CINTERFACE)
   4347 MIDL_INTERFACE("ea81c254-f5af-4e40-982e-3e63bb595276")
   4348 IRDPSRAPITransportStreamEvents : public IUnknown
   4349 {
   4350     virtual void STDMETHODCALLTYPE OnWriteCompleted(
   4351         IRDPSRAPITransportStreamBuffer *pBuffer) = 0;
   4352 
   4353     virtual void STDMETHODCALLTYPE OnReadCompleted(
   4354         IRDPSRAPITransportStreamBuffer *pBuffer) = 0;
   4355 
   4356     virtual void STDMETHODCALLTYPE OnStreamClosed(
   4357         HRESULT hrReason) = 0;
   4358 
   4359 };
   4360 #ifdef __CRT_UUID_DECL
   4361 __CRT_UUID_DECL(IRDPSRAPITransportStreamEvents, 0xea81c254, 0xf5af, 0x4e40, 0x98,0x2e, 0x3e,0x63,0xbb,0x59,0x52,0x76)
   4362 #endif
   4363 #else
   4364 typedef struct IRDPSRAPITransportStreamEventsVtbl {
   4365     BEGIN_INTERFACE
   4366 
   4367     /*** IUnknown methods ***/
   4368     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4369         IRDPSRAPITransportStreamEvents *This,
   4370         REFIID riid,
   4371         void **ppvObject);
   4372 
   4373     ULONG (STDMETHODCALLTYPE *AddRef)(
   4374         IRDPSRAPITransportStreamEvents *This);
   4375 
   4376     ULONG (STDMETHODCALLTYPE *Release)(
   4377         IRDPSRAPITransportStreamEvents *This);
   4378 
   4379     /*** IRDPSRAPITransportStreamEvents methods ***/
   4380     void (STDMETHODCALLTYPE *OnWriteCompleted)(
   4381         IRDPSRAPITransportStreamEvents *This,
   4382         IRDPSRAPITransportStreamBuffer *pBuffer);
   4383 
   4384     void (STDMETHODCALLTYPE *OnReadCompleted)(
   4385         IRDPSRAPITransportStreamEvents *This,
   4386         IRDPSRAPITransportStreamBuffer *pBuffer);
   4387 
   4388     void (STDMETHODCALLTYPE *OnStreamClosed)(
   4389         IRDPSRAPITransportStreamEvents *This,
   4390         HRESULT hrReason);
   4391 
   4392     END_INTERFACE
   4393 } IRDPSRAPITransportStreamEventsVtbl;
   4394 
   4395 interface IRDPSRAPITransportStreamEvents {
   4396     CONST_VTBL IRDPSRAPITransportStreamEventsVtbl* lpVtbl;
   4397 };
   4398 
   4399 #ifdef COBJMACROS
   4400 #ifndef WIDL_C_INLINE_WRAPPERS
   4401 /*** IUnknown methods ***/
   4402 #define IRDPSRAPITransportStreamEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4403 #define IRDPSRAPITransportStreamEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
   4404 #define IRDPSRAPITransportStreamEvents_Release(This) (This)->lpVtbl->Release(This)
   4405 /*** IRDPSRAPITransportStreamEvents methods ***/
   4406 #define IRDPSRAPITransportStreamEvents_OnWriteCompleted(This,pBuffer) (This)->lpVtbl->OnWriteCompleted(This,pBuffer)
   4407 #define IRDPSRAPITransportStreamEvents_OnReadCompleted(This,pBuffer) (This)->lpVtbl->OnReadCompleted(This,pBuffer)
   4408 #define IRDPSRAPITransportStreamEvents_OnStreamClosed(This,hrReason) (This)->lpVtbl->OnStreamClosed(This,hrReason)
   4409 #else
   4410 /*** IUnknown methods ***/
   4411 static inline HRESULT IRDPSRAPITransportStreamEvents_QueryInterface(IRDPSRAPITransportStreamEvents* This,REFIID riid,void **ppvObject) {
   4412     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4413 }
   4414 static inline ULONG IRDPSRAPITransportStreamEvents_AddRef(IRDPSRAPITransportStreamEvents* This) {
   4415     return This->lpVtbl->AddRef(This);
   4416 }
   4417 static inline ULONG IRDPSRAPITransportStreamEvents_Release(IRDPSRAPITransportStreamEvents* This) {
   4418     return This->lpVtbl->Release(This);
   4419 }
   4420 /*** IRDPSRAPITransportStreamEvents methods ***/
   4421 static inline void IRDPSRAPITransportStreamEvents_OnWriteCompleted(IRDPSRAPITransportStreamEvents* This,IRDPSRAPITransportStreamBuffer *pBuffer) {
   4422     This->lpVtbl->OnWriteCompleted(This,pBuffer);
   4423 }
   4424 static inline void IRDPSRAPITransportStreamEvents_OnReadCompleted(IRDPSRAPITransportStreamEvents* This,IRDPSRAPITransportStreamBuffer *pBuffer) {
   4425     This->lpVtbl->OnReadCompleted(This,pBuffer);
   4426 }
   4427 static inline void IRDPSRAPITransportStreamEvents_OnStreamClosed(IRDPSRAPITransportStreamEvents* This,HRESULT hrReason) {
   4428     This->lpVtbl->OnStreamClosed(This,hrReason);
   4429 }
   4430 #endif
   4431 #endif
   4432 
   4433 #endif
   4434 
   4435 
   4436 #endif  /* __IRDPSRAPITransportStreamEvents_INTERFACE_DEFINED__ */
   4437 
   4438 /*****************************************************************************
   4439  * IRDPSRAPITransportStream interface
   4440  */
   4441 #ifndef __IRDPSRAPITransportStream_INTERFACE_DEFINED__
   4442 #define __IRDPSRAPITransportStream_INTERFACE_DEFINED__
   4443 
   4444 DEFINE_GUID(IID_IRDPSRAPITransportStream, 0x36cfa065, 0x43bb, 0x4ef7, 0xae,0xd7, 0x9b,0x88,0xa5,0x05,0x30,0x36);
   4445 #if defined(__cplusplus) && !defined(CINTERFACE)
   4446 MIDL_INTERFACE("36cfa065-43bb-4ef7-aed7-9b88a5053036")
   4447 IRDPSRAPITransportStream : public IUnknown
   4448 {
   4449     virtual HRESULT STDMETHODCALLTYPE AllocBuffer(
   4450         LONG maxPayload,
   4451         IRDPSRAPITransportStreamBuffer **ppBuffer) = 0;
   4452 
   4453     virtual HRESULT STDMETHODCALLTYPE FreeBuffer(
   4454         IRDPSRAPITransportStreamBuffer *pBuffer) = 0;
   4455 
   4456     virtual HRESULT STDMETHODCALLTYPE WriteBuffer(
   4457         IRDPSRAPITransportStreamBuffer *pBuffer) = 0;
   4458 
   4459     virtual HRESULT STDMETHODCALLTYPE ReadBuffer(
   4460         IRDPSRAPITransportStreamBuffer *pBuffer) = 0;
   4461 
   4462     virtual HRESULT STDMETHODCALLTYPE Open(
   4463         IRDPSRAPITransportStreamEvents *pCallbacks) = 0;
   4464 
   4465     virtual HRESULT STDMETHODCALLTYPE Close(
   4466         ) = 0;
   4467 
   4468 };
   4469 #ifdef __CRT_UUID_DECL
   4470 __CRT_UUID_DECL(IRDPSRAPITransportStream, 0x36cfa065, 0x43bb, 0x4ef7, 0xae,0xd7, 0x9b,0x88,0xa5,0x05,0x30,0x36)
   4471 #endif
   4472 #else
   4473 typedef struct IRDPSRAPITransportStreamVtbl {
   4474     BEGIN_INTERFACE
   4475 
   4476     /*** IUnknown methods ***/
   4477     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4478         IRDPSRAPITransportStream *This,
   4479         REFIID riid,
   4480         void **ppvObject);
   4481 
   4482     ULONG (STDMETHODCALLTYPE *AddRef)(
   4483         IRDPSRAPITransportStream *This);
   4484 
   4485     ULONG (STDMETHODCALLTYPE *Release)(
   4486         IRDPSRAPITransportStream *This);
   4487 
   4488     /*** IRDPSRAPITransportStream methods ***/
   4489     HRESULT (STDMETHODCALLTYPE *AllocBuffer)(
   4490         IRDPSRAPITransportStream *This,
   4491         LONG maxPayload,
   4492         IRDPSRAPITransportStreamBuffer **ppBuffer);
   4493 
   4494     HRESULT (STDMETHODCALLTYPE *FreeBuffer)(
   4495         IRDPSRAPITransportStream *This,
   4496         IRDPSRAPITransportStreamBuffer *pBuffer);
   4497 
   4498     HRESULT (STDMETHODCALLTYPE *WriteBuffer)(
   4499         IRDPSRAPITransportStream *This,
   4500         IRDPSRAPITransportStreamBuffer *pBuffer);
   4501 
   4502     HRESULT (STDMETHODCALLTYPE *ReadBuffer)(
   4503         IRDPSRAPITransportStream *This,
   4504         IRDPSRAPITransportStreamBuffer *pBuffer);
   4505 
   4506     HRESULT (STDMETHODCALLTYPE *Open)(
   4507         IRDPSRAPITransportStream *This,
   4508         IRDPSRAPITransportStreamEvents *pCallbacks);
   4509 
   4510     HRESULT (STDMETHODCALLTYPE *Close)(
   4511         IRDPSRAPITransportStream *This);
   4512 
   4513     END_INTERFACE
   4514 } IRDPSRAPITransportStreamVtbl;
   4515 
   4516 interface IRDPSRAPITransportStream {
   4517     CONST_VTBL IRDPSRAPITransportStreamVtbl* lpVtbl;
   4518 };
   4519 
   4520 #ifdef COBJMACROS
   4521 #ifndef WIDL_C_INLINE_WRAPPERS
   4522 /*** IUnknown methods ***/
   4523 #define IRDPSRAPITransportStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4524 #define IRDPSRAPITransportStream_AddRef(This) (This)->lpVtbl->AddRef(This)
   4525 #define IRDPSRAPITransportStream_Release(This) (This)->lpVtbl->Release(This)
   4526 /*** IRDPSRAPITransportStream methods ***/
   4527 #define IRDPSRAPITransportStream_AllocBuffer(This,maxPayload,ppBuffer) (This)->lpVtbl->AllocBuffer(This,maxPayload,ppBuffer)
   4528 #define IRDPSRAPITransportStream_FreeBuffer(This,pBuffer) (This)->lpVtbl->FreeBuffer(This,pBuffer)
   4529 #define IRDPSRAPITransportStream_WriteBuffer(This,pBuffer) (This)->lpVtbl->WriteBuffer(This,pBuffer)
   4530 #define IRDPSRAPITransportStream_ReadBuffer(This,pBuffer) (This)->lpVtbl->ReadBuffer(This,pBuffer)
   4531 #define IRDPSRAPITransportStream_Open(This,pCallbacks) (This)->lpVtbl->Open(This,pCallbacks)
   4532 #define IRDPSRAPITransportStream_Close(This) (This)->lpVtbl->Close(This)
   4533 #else
   4534 /*** IUnknown methods ***/
   4535 static inline HRESULT IRDPSRAPITransportStream_QueryInterface(IRDPSRAPITransportStream* This,REFIID riid,void **ppvObject) {
   4536     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4537 }
   4538 static inline ULONG IRDPSRAPITransportStream_AddRef(IRDPSRAPITransportStream* This) {
   4539     return This->lpVtbl->AddRef(This);
   4540 }
   4541 static inline ULONG IRDPSRAPITransportStream_Release(IRDPSRAPITransportStream* This) {
   4542     return This->lpVtbl->Release(This);
   4543 }
   4544 /*** IRDPSRAPITransportStream methods ***/
   4545 static inline HRESULT IRDPSRAPITransportStream_AllocBuffer(IRDPSRAPITransportStream* This,LONG maxPayload,IRDPSRAPITransportStreamBuffer **ppBuffer) {
   4546     return This->lpVtbl->AllocBuffer(This,maxPayload,ppBuffer);
   4547 }
   4548 static inline HRESULT IRDPSRAPITransportStream_FreeBuffer(IRDPSRAPITransportStream* This,IRDPSRAPITransportStreamBuffer *pBuffer) {
   4549     return This->lpVtbl->FreeBuffer(This,pBuffer);
   4550 }
   4551 static inline HRESULT IRDPSRAPITransportStream_WriteBuffer(IRDPSRAPITransportStream* This,IRDPSRAPITransportStreamBuffer *pBuffer) {
   4552     return This->lpVtbl->WriteBuffer(This,pBuffer);
   4553 }
   4554 static inline HRESULT IRDPSRAPITransportStream_ReadBuffer(IRDPSRAPITransportStream* This,IRDPSRAPITransportStreamBuffer *pBuffer) {
   4555     return This->lpVtbl->ReadBuffer(This,pBuffer);
   4556 }
   4557 static inline HRESULT IRDPSRAPITransportStream_Open(IRDPSRAPITransportStream* This,IRDPSRAPITransportStreamEvents *pCallbacks) {
   4558     return This->lpVtbl->Open(This,pCallbacks);
   4559 }
   4560 static inline HRESULT IRDPSRAPITransportStream_Close(IRDPSRAPITransportStream* This) {
   4561     return This->lpVtbl->Close(This);
   4562 }
   4563 #endif
   4564 #endif
   4565 
   4566 #endif
   4567 
   4568 
   4569 #endif  /* __IRDPSRAPITransportStream_INTERFACE_DEFINED__ */
   4570 
   4571 /*****************************************************************************
   4572  * IRDPSRAPISharingSession interface
   4573  */
   4574 #ifndef __IRDPSRAPISharingSession_INTERFACE_DEFINED__
   4575 #define __IRDPSRAPISharingSession_INTERFACE_DEFINED__
   4576 
   4577 DEFINE_GUID(IID_IRDPSRAPISharingSession, 0xeeb20886, 0xe470, 0x4cf6, 0x84,0x2b, 0x27,0x39,0xc0,0xec,0x5c,0xfb);
   4578 #if defined(__cplusplus) && !defined(CINTERFACE)
   4579 MIDL_INTERFACE("eeb20886-e470-4cf6-842b-2739c0ec5cfb")
   4580 IRDPSRAPISharingSession : public IDispatch
   4581 {
   4582     virtual HRESULT STDMETHODCALLTYPE Open(
   4583         ) = 0;
   4584 
   4585     virtual HRESULT STDMETHODCALLTYPE Close(
   4586         ) = 0;
   4587 
   4588     virtual HRESULT STDMETHODCALLTYPE put_ColorDepth(
   4589         LONG colorDepth) = 0;
   4590 
   4591     virtual HRESULT STDMETHODCALLTYPE get_ColorDepth(
   4592         LONG *pColorDepth) = 0;
   4593 
   4594     virtual HRESULT STDMETHODCALLTYPE get_Properties(
   4595         IRDPSRAPISessionProperties **ppVal) = 0;
   4596 
   4597     virtual HRESULT STDMETHODCALLTYPE get_Attendees(
   4598         IRDPSRAPIAttendeeManager **ppVal) = 0;
   4599 
   4600     virtual HRESULT STDMETHODCALLTYPE get_Invitations(
   4601         IRDPSRAPIInvitationManager **ppVal) = 0;
   4602 
   4603     virtual HRESULT STDMETHODCALLTYPE get_ApplicationFilter(
   4604         IRDPSRAPIApplicationFilter **ppVal) = 0;
   4605 
   4606     virtual HRESULT STDMETHODCALLTYPE get_VirtualChannelManager(
   4607         IRDPSRAPIVirtualChannelManager **ppVal) = 0;
   4608 
   4609     virtual HRESULT STDMETHODCALLTYPE Pause(
   4610         ) = 0;
   4611 
   4612     virtual HRESULT STDMETHODCALLTYPE Resume(
   4613         ) = 0;
   4614 
   4615     virtual HRESULT STDMETHODCALLTYPE ConnectToClient(
   4616         BSTR bstrConnectionString) = 0;
   4617 
   4618     virtual HRESULT STDMETHODCALLTYPE SetDesktopSharedRect(
   4619         LONG left,
   4620         LONG top,
   4621         LONG right,
   4622         LONG bottom) = 0;
   4623 
   4624     virtual HRESULT STDMETHODCALLTYPE GetDesktopSharedRect(
   4625         LONG *pleft,
   4626         LONG *ptop,
   4627         LONG *pright,
   4628         LONG *pbottom) = 0;
   4629 
   4630 };
   4631 #ifdef __CRT_UUID_DECL
   4632 __CRT_UUID_DECL(IRDPSRAPISharingSession, 0xeeb20886, 0xe470, 0x4cf6, 0x84,0x2b, 0x27,0x39,0xc0,0xec,0x5c,0xfb)
   4633 #endif
   4634 #else
   4635 typedef struct IRDPSRAPISharingSessionVtbl {
   4636     BEGIN_INTERFACE
   4637 
   4638     /*** IUnknown methods ***/
   4639     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4640         IRDPSRAPISharingSession *This,
   4641         REFIID riid,
   4642         void **ppvObject);
   4643 
   4644     ULONG (STDMETHODCALLTYPE *AddRef)(
   4645         IRDPSRAPISharingSession *This);
   4646 
   4647     ULONG (STDMETHODCALLTYPE *Release)(
   4648         IRDPSRAPISharingSession *This);
   4649 
   4650     /*** IDispatch methods ***/
   4651     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   4652         IRDPSRAPISharingSession *This,
   4653         UINT *pctinfo);
   4654 
   4655     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   4656         IRDPSRAPISharingSession *This,
   4657         UINT iTInfo,
   4658         LCID lcid,
   4659         ITypeInfo **ppTInfo);
   4660 
   4661     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   4662         IRDPSRAPISharingSession *This,
   4663         REFIID riid,
   4664         LPOLESTR *rgszNames,
   4665         UINT cNames,
   4666         LCID lcid,
   4667         DISPID *rgDispId);
   4668 
   4669     HRESULT (STDMETHODCALLTYPE *Invoke)(
   4670         IRDPSRAPISharingSession *This,
   4671         DISPID dispIdMember,
   4672         REFIID riid,
   4673         LCID lcid,
   4674         WORD wFlags,
   4675         DISPPARAMS *pDispParams,
   4676         VARIANT *pVarResult,
   4677         EXCEPINFO *pExcepInfo,
   4678         UINT *puArgErr);
   4679 
   4680     /*** IRDPSRAPISharingSession methods ***/
   4681     HRESULT (STDMETHODCALLTYPE *Open)(
   4682         IRDPSRAPISharingSession *This);
   4683 
   4684     HRESULT (STDMETHODCALLTYPE *Close)(
   4685         IRDPSRAPISharingSession *This);
   4686 
   4687     HRESULT (STDMETHODCALLTYPE *put_ColorDepth)(
   4688         IRDPSRAPISharingSession *This,
   4689         LONG colorDepth);
   4690 
   4691     HRESULT (STDMETHODCALLTYPE *get_ColorDepth)(
   4692         IRDPSRAPISharingSession *This,
   4693         LONG *pColorDepth);
   4694 
   4695     HRESULT (STDMETHODCALLTYPE *get_Properties)(
   4696         IRDPSRAPISharingSession *This,
   4697         IRDPSRAPISessionProperties **ppVal);
   4698 
   4699     HRESULT (STDMETHODCALLTYPE *get_Attendees)(
   4700         IRDPSRAPISharingSession *This,
   4701         IRDPSRAPIAttendeeManager **ppVal);
   4702 
   4703     HRESULT (STDMETHODCALLTYPE *get_Invitations)(
   4704         IRDPSRAPISharingSession *This,
   4705         IRDPSRAPIInvitationManager **ppVal);
   4706 
   4707     HRESULT (STDMETHODCALLTYPE *get_ApplicationFilter)(
   4708         IRDPSRAPISharingSession *This,
   4709         IRDPSRAPIApplicationFilter **ppVal);
   4710 
   4711     HRESULT (STDMETHODCALLTYPE *get_VirtualChannelManager)(
   4712         IRDPSRAPISharingSession *This,
   4713         IRDPSRAPIVirtualChannelManager **ppVal);
   4714 
   4715     HRESULT (STDMETHODCALLTYPE *Pause)(
   4716         IRDPSRAPISharingSession *This);
   4717 
   4718     HRESULT (STDMETHODCALLTYPE *Resume)(
   4719         IRDPSRAPISharingSession *This);
   4720 
   4721     HRESULT (STDMETHODCALLTYPE *ConnectToClient)(
   4722         IRDPSRAPISharingSession *This,
   4723         BSTR bstrConnectionString);
   4724 
   4725     HRESULT (STDMETHODCALLTYPE *SetDesktopSharedRect)(
   4726         IRDPSRAPISharingSession *This,
   4727         LONG left,
   4728         LONG top,
   4729         LONG right,
   4730         LONG bottom);
   4731 
   4732     HRESULT (STDMETHODCALLTYPE *GetDesktopSharedRect)(
   4733         IRDPSRAPISharingSession *This,
   4734         LONG *pleft,
   4735         LONG *ptop,
   4736         LONG *pright,
   4737         LONG *pbottom);
   4738 
   4739     END_INTERFACE
   4740 } IRDPSRAPISharingSessionVtbl;
   4741 
   4742 interface IRDPSRAPISharingSession {
   4743     CONST_VTBL IRDPSRAPISharingSessionVtbl* lpVtbl;
   4744 };
   4745 
   4746 #ifdef COBJMACROS
   4747 #ifndef WIDL_C_INLINE_WRAPPERS
   4748 /*** IUnknown methods ***/
   4749 #define IRDPSRAPISharingSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4750 #define IRDPSRAPISharingSession_AddRef(This) (This)->lpVtbl->AddRef(This)
   4751 #define IRDPSRAPISharingSession_Release(This) (This)->lpVtbl->Release(This)
   4752 /*** IDispatch methods ***/
   4753 #define IRDPSRAPISharingSession_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   4754 #define IRDPSRAPISharingSession_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   4755 #define IRDPSRAPISharingSession_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   4756 #define IRDPSRAPISharingSession_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   4757 /*** IRDPSRAPISharingSession methods ***/
   4758 #define IRDPSRAPISharingSession_Open(This) (This)->lpVtbl->Open(This)
   4759 #define IRDPSRAPISharingSession_Close(This) (This)->lpVtbl->Close(This)
   4760 #define IRDPSRAPISharingSession_put_ColorDepth(This,colorDepth) (This)->lpVtbl->put_ColorDepth(This,colorDepth)
   4761 #define IRDPSRAPISharingSession_get_ColorDepth(This,pColorDepth) (This)->lpVtbl->get_ColorDepth(This,pColorDepth)
   4762 #define IRDPSRAPISharingSession_get_Properties(This,ppVal) (This)->lpVtbl->get_Properties(This,ppVal)
   4763 #define IRDPSRAPISharingSession_get_Attendees(This,ppVal) (This)->lpVtbl->get_Attendees(This,ppVal)
   4764 #define IRDPSRAPISharingSession_get_Invitations(This,ppVal) (This)->lpVtbl->get_Invitations(This,ppVal)
   4765 #define IRDPSRAPISharingSession_get_ApplicationFilter(This,ppVal) (This)->lpVtbl->get_ApplicationFilter(This,ppVal)
   4766 #define IRDPSRAPISharingSession_get_VirtualChannelManager(This,ppVal) (This)->lpVtbl->get_VirtualChannelManager(This,ppVal)
   4767 #define IRDPSRAPISharingSession_Pause(This) (This)->lpVtbl->Pause(This)
   4768 #define IRDPSRAPISharingSession_Resume(This) (This)->lpVtbl->Resume(This)
   4769 #define IRDPSRAPISharingSession_ConnectToClient(This,bstrConnectionString) (This)->lpVtbl->ConnectToClient(This,bstrConnectionString)
   4770 #define IRDPSRAPISharingSession_SetDesktopSharedRect(This,left,top,right,bottom) (This)->lpVtbl->SetDesktopSharedRect(This,left,top,right,bottom)
   4771 #define IRDPSRAPISharingSession_GetDesktopSharedRect(This,pleft,ptop,pright,pbottom) (This)->lpVtbl->GetDesktopSharedRect(This,pleft,ptop,pright,pbottom)
   4772 #else
   4773 /*** IUnknown methods ***/
   4774 static inline HRESULT IRDPSRAPISharingSession_QueryInterface(IRDPSRAPISharingSession* This,REFIID riid,void **ppvObject) {
   4775     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4776 }
   4777 static inline ULONG IRDPSRAPISharingSession_AddRef(IRDPSRAPISharingSession* This) {
   4778     return This->lpVtbl->AddRef(This);
   4779 }
   4780 static inline ULONG IRDPSRAPISharingSession_Release(IRDPSRAPISharingSession* This) {
   4781     return This->lpVtbl->Release(This);
   4782 }
   4783 /*** IDispatch methods ***/
   4784 static inline HRESULT IRDPSRAPISharingSession_GetTypeInfoCount(IRDPSRAPISharingSession* This,UINT *pctinfo) {
   4785     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   4786 }
   4787 static inline HRESULT IRDPSRAPISharingSession_GetTypeInfo(IRDPSRAPISharingSession* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   4788     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   4789 }
   4790 static inline HRESULT IRDPSRAPISharingSession_GetIDsOfNames(IRDPSRAPISharingSession* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   4791     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   4792 }
   4793 static inline HRESULT IRDPSRAPISharingSession_Invoke(IRDPSRAPISharingSession* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   4794     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   4795 }
   4796 /*** IRDPSRAPISharingSession methods ***/
   4797 static inline HRESULT IRDPSRAPISharingSession_Open(IRDPSRAPISharingSession* This) {
   4798     return This->lpVtbl->Open(This);
   4799 }
   4800 static inline HRESULT IRDPSRAPISharingSession_Close(IRDPSRAPISharingSession* This) {
   4801     return This->lpVtbl->Close(This);
   4802 }
   4803 static inline HRESULT IRDPSRAPISharingSession_put_ColorDepth(IRDPSRAPISharingSession* This,LONG colorDepth) {
   4804     return This->lpVtbl->put_ColorDepth(This,colorDepth);
   4805 }
   4806 static inline HRESULT IRDPSRAPISharingSession_get_ColorDepth(IRDPSRAPISharingSession* This,LONG *pColorDepth) {
   4807     return This->lpVtbl->get_ColorDepth(This,pColorDepth);
   4808 }
   4809 static inline HRESULT IRDPSRAPISharingSession_get_Properties(IRDPSRAPISharingSession* This,IRDPSRAPISessionProperties **ppVal) {
   4810     return This->lpVtbl->get_Properties(This,ppVal);
   4811 }
   4812 static inline HRESULT IRDPSRAPISharingSession_get_Attendees(IRDPSRAPISharingSession* This,IRDPSRAPIAttendeeManager **ppVal) {
   4813     return This->lpVtbl->get_Attendees(This,ppVal);
   4814 }
   4815 static inline HRESULT IRDPSRAPISharingSession_get_Invitations(IRDPSRAPISharingSession* This,IRDPSRAPIInvitationManager **ppVal) {
   4816     return This->lpVtbl->get_Invitations(This,ppVal);
   4817 }
   4818 static inline HRESULT IRDPSRAPISharingSession_get_ApplicationFilter(IRDPSRAPISharingSession* This,IRDPSRAPIApplicationFilter **ppVal) {
   4819     return This->lpVtbl->get_ApplicationFilter(This,ppVal);
   4820 }
   4821 static inline HRESULT IRDPSRAPISharingSession_get_VirtualChannelManager(IRDPSRAPISharingSession* This,IRDPSRAPIVirtualChannelManager **ppVal) {
   4822     return This->lpVtbl->get_VirtualChannelManager(This,ppVal);
   4823 }
   4824 static inline HRESULT IRDPSRAPISharingSession_Pause(IRDPSRAPISharingSession* This) {
   4825     return This->lpVtbl->Pause(This);
   4826 }
   4827 static inline HRESULT IRDPSRAPISharingSession_Resume(IRDPSRAPISharingSession* This) {
   4828     return This->lpVtbl->Resume(This);
   4829 }
   4830 static inline HRESULT IRDPSRAPISharingSession_ConnectToClient(IRDPSRAPISharingSession* This,BSTR bstrConnectionString) {
   4831     return This->lpVtbl->ConnectToClient(This,bstrConnectionString);
   4832 }
   4833 static inline HRESULT IRDPSRAPISharingSession_SetDesktopSharedRect(IRDPSRAPISharingSession* This,LONG left,LONG top,LONG right,LONG bottom) {
   4834     return This->lpVtbl->SetDesktopSharedRect(This,left,top,right,bottom);
   4835 }
   4836 static inline HRESULT IRDPSRAPISharingSession_GetDesktopSharedRect(IRDPSRAPISharingSession* This,LONG *pleft,LONG *ptop,LONG *pright,LONG *pbottom) {
   4837     return This->lpVtbl->GetDesktopSharedRect(This,pleft,ptop,pright,pbottom);
   4838 }
   4839 #endif
   4840 #endif
   4841 
   4842 #endif
   4843 
   4844 
   4845 #endif  /* __IRDPSRAPISharingSession_INTERFACE_DEFINED__ */
   4846 
   4847 /*****************************************************************************
   4848  * IRDPSRAPISharingSession2 interface
   4849  */
   4850 #ifndef __IRDPSRAPISharingSession2_INTERFACE_DEFINED__
   4851 #define __IRDPSRAPISharingSession2_INTERFACE_DEFINED__
   4852 
   4853 DEFINE_GUID(IID_IRDPSRAPISharingSession2, 0xfee4ee57, 0xe3e8, 0x4205, 0x8f,0xb0, 0x8f,0xd1,0xd0,0x67,0x5c,0x21);
   4854 #if defined(__cplusplus) && !defined(CINTERFACE)
   4855 MIDL_INTERFACE("fee4ee57-e3e8-4205-8fb0-8fd1d0675c21")
   4856 IRDPSRAPISharingSession2 : public IRDPSRAPISharingSession
   4857 {
   4858     virtual HRESULT STDMETHODCALLTYPE ConnectUsingTransportStream(
   4859         IRDPSRAPITransportStream *pStream,
   4860         BSTR bstrGroup,
   4861         BSTR bstrAuthenticatedAttendeeName) = 0;
   4862 
   4863     virtual HRESULT STDMETHODCALLTYPE get_FrameBuffer(
   4864         IRDPSRAPIFrameBuffer **ppVal) = 0;
   4865 
   4866     virtual HRESULT STDMETHODCALLTYPE SendControlLevelChangeResponse(
   4867         IRDPSRAPIAttendee *pAttendee,
   4868         CTRL_LEVEL RequestedLevel,
   4869         LONG ReasonCode) = 0;
   4870 
   4871 };
   4872 #ifdef __CRT_UUID_DECL
   4873 __CRT_UUID_DECL(IRDPSRAPISharingSession2, 0xfee4ee57, 0xe3e8, 0x4205, 0x8f,0xb0, 0x8f,0xd1,0xd0,0x67,0x5c,0x21)
   4874 #endif
   4875 #else
   4876 typedef struct IRDPSRAPISharingSession2Vtbl {
   4877     BEGIN_INTERFACE
   4878 
   4879     /*** IUnknown methods ***/
   4880     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4881         IRDPSRAPISharingSession2 *This,
   4882         REFIID riid,
   4883         void **ppvObject);
   4884 
   4885     ULONG (STDMETHODCALLTYPE *AddRef)(
   4886         IRDPSRAPISharingSession2 *This);
   4887 
   4888     ULONG (STDMETHODCALLTYPE *Release)(
   4889         IRDPSRAPISharingSession2 *This);
   4890 
   4891     /*** IDispatch methods ***/
   4892     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   4893         IRDPSRAPISharingSession2 *This,
   4894         UINT *pctinfo);
   4895 
   4896     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   4897         IRDPSRAPISharingSession2 *This,
   4898         UINT iTInfo,
   4899         LCID lcid,
   4900         ITypeInfo **ppTInfo);
   4901 
   4902     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   4903         IRDPSRAPISharingSession2 *This,
   4904         REFIID riid,
   4905         LPOLESTR *rgszNames,
   4906         UINT cNames,
   4907         LCID lcid,
   4908         DISPID *rgDispId);
   4909 
   4910     HRESULT (STDMETHODCALLTYPE *Invoke)(
   4911         IRDPSRAPISharingSession2 *This,
   4912         DISPID dispIdMember,
   4913         REFIID riid,
   4914         LCID lcid,
   4915         WORD wFlags,
   4916         DISPPARAMS *pDispParams,
   4917         VARIANT *pVarResult,
   4918         EXCEPINFO *pExcepInfo,
   4919         UINT *puArgErr);
   4920 
   4921     /*** IRDPSRAPISharingSession methods ***/
   4922     HRESULT (STDMETHODCALLTYPE *Open)(
   4923         IRDPSRAPISharingSession2 *This);
   4924 
   4925     HRESULT (STDMETHODCALLTYPE *Close)(
   4926         IRDPSRAPISharingSession2 *This);
   4927 
   4928     HRESULT (STDMETHODCALLTYPE *put_ColorDepth)(
   4929         IRDPSRAPISharingSession2 *This,
   4930         LONG colorDepth);
   4931 
   4932     HRESULT (STDMETHODCALLTYPE *get_ColorDepth)(
   4933         IRDPSRAPISharingSession2 *This,
   4934         LONG *pColorDepth);
   4935 
   4936     HRESULT (STDMETHODCALLTYPE *get_Properties)(
   4937         IRDPSRAPISharingSession2 *This,
   4938         IRDPSRAPISessionProperties **ppVal);
   4939 
   4940     HRESULT (STDMETHODCALLTYPE *get_Attendees)(
   4941         IRDPSRAPISharingSession2 *This,
   4942         IRDPSRAPIAttendeeManager **ppVal);
   4943 
   4944     HRESULT (STDMETHODCALLTYPE *get_Invitations)(
   4945         IRDPSRAPISharingSession2 *This,
   4946         IRDPSRAPIInvitationManager **ppVal);
   4947 
   4948     HRESULT (STDMETHODCALLTYPE *get_ApplicationFilter)(
   4949         IRDPSRAPISharingSession2 *This,
   4950         IRDPSRAPIApplicationFilter **ppVal);
   4951 
   4952     HRESULT (STDMETHODCALLTYPE *get_VirtualChannelManager)(
   4953         IRDPSRAPISharingSession2 *This,
   4954         IRDPSRAPIVirtualChannelManager **ppVal);
   4955 
   4956     HRESULT (STDMETHODCALLTYPE *Pause)(
   4957         IRDPSRAPISharingSession2 *This);
   4958 
   4959     HRESULT (STDMETHODCALLTYPE *Resume)(
   4960         IRDPSRAPISharingSession2 *This);
   4961 
   4962     HRESULT (STDMETHODCALLTYPE *ConnectToClient)(
   4963         IRDPSRAPISharingSession2 *This,
   4964         BSTR bstrConnectionString);
   4965 
   4966     HRESULT (STDMETHODCALLTYPE *SetDesktopSharedRect)(
   4967         IRDPSRAPISharingSession2 *This,
   4968         LONG left,
   4969         LONG top,
   4970         LONG right,
   4971         LONG bottom);
   4972 
   4973     HRESULT (STDMETHODCALLTYPE *GetDesktopSharedRect)(
   4974         IRDPSRAPISharingSession2 *This,
   4975         LONG *pleft,
   4976         LONG *ptop,
   4977         LONG *pright,
   4978         LONG *pbottom);
   4979 
   4980     /*** IRDPSRAPISharingSession2 methods ***/
   4981     HRESULT (STDMETHODCALLTYPE *ConnectUsingTransportStream)(
   4982         IRDPSRAPISharingSession2 *This,
   4983         IRDPSRAPITransportStream *pStream,
   4984         BSTR bstrGroup,
   4985         BSTR bstrAuthenticatedAttendeeName);
   4986 
   4987     HRESULT (STDMETHODCALLTYPE *get_FrameBuffer)(
   4988         IRDPSRAPISharingSession2 *This,
   4989         IRDPSRAPIFrameBuffer **ppVal);
   4990 
   4991     HRESULT (STDMETHODCALLTYPE *SendControlLevelChangeResponse)(
   4992         IRDPSRAPISharingSession2 *This,
   4993         IRDPSRAPIAttendee *pAttendee,
   4994         CTRL_LEVEL RequestedLevel,
   4995         LONG ReasonCode);
   4996 
   4997     END_INTERFACE
   4998 } IRDPSRAPISharingSession2Vtbl;
   4999 
   5000 interface IRDPSRAPISharingSession2 {
   5001     CONST_VTBL IRDPSRAPISharingSession2Vtbl* lpVtbl;
   5002 };
   5003 
   5004 #ifdef COBJMACROS
   5005 #ifndef WIDL_C_INLINE_WRAPPERS
   5006 /*** IUnknown methods ***/
   5007 #define IRDPSRAPISharingSession2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5008 #define IRDPSRAPISharingSession2_AddRef(This) (This)->lpVtbl->AddRef(This)
   5009 #define IRDPSRAPISharingSession2_Release(This) (This)->lpVtbl->Release(This)
   5010 /*** IDispatch methods ***/
   5011 #define IRDPSRAPISharingSession2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   5012 #define IRDPSRAPISharingSession2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   5013 #define IRDPSRAPISharingSession2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   5014 #define IRDPSRAPISharingSession2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   5015 /*** IRDPSRAPISharingSession methods ***/
   5016 #define IRDPSRAPISharingSession2_Open(This) (This)->lpVtbl->Open(This)
   5017 #define IRDPSRAPISharingSession2_Close(This) (This)->lpVtbl->Close(This)
   5018 #define IRDPSRAPISharingSession2_put_ColorDepth(This,colorDepth) (This)->lpVtbl->put_ColorDepth(This,colorDepth)
   5019 #define IRDPSRAPISharingSession2_get_ColorDepth(This,pColorDepth) (This)->lpVtbl->get_ColorDepth(This,pColorDepth)
   5020 #define IRDPSRAPISharingSession2_get_Properties(This,ppVal) (This)->lpVtbl->get_Properties(This,ppVal)
   5021 #define IRDPSRAPISharingSession2_get_Attendees(This,ppVal) (This)->lpVtbl->get_Attendees(This,ppVal)
   5022 #define IRDPSRAPISharingSession2_get_Invitations(This,ppVal) (This)->lpVtbl->get_Invitations(This,ppVal)
   5023 #define IRDPSRAPISharingSession2_get_ApplicationFilter(This,ppVal) (This)->lpVtbl->get_ApplicationFilter(This,ppVal)
   5024 #define IRDPSRAPISharingSession2_get_VirtualChannelManager(This,ppVal) (This)->lpVtbl->get_VirtualChannelManager(This,ppVal)
   5025 #define IRDPSRAPISharingSession2_Pause(This) (This)->lpVtbl->Pause(This)
   5026 #define IRDPSRAPISharingSession2_Resume(This) (This)->lpVtbl->Resume(This)
   5027 #define IRDPSRAPISharingSession2_ConnectToClient(This,bstrConnectionString) (This)->lpVtbl->ConnectToClient(This,bstrConnectionString)
   5028 #define IRDPSRAPISharingSession2_SetDesktopSharedRect(This,left,top,right,bottom) (This)->lpVtbl->SetDesktopSharedRect(This,left,top,right,bottom)
   5029 #define IRDPSRAPISharingSession2_GetDesktopSharedRect(This,pleft,ptop,pright,pbottom) (This)->lpVtbl->GetDesktopSharedRect(This,pleft,ptop,pright,pbottom)
   5030 /*** IRDPSRAPISharingSession2 methods ***/
   5031 #define IRDPSRAPISharingSession2_ConnectUsingTransportStream(This,pStream,bstrGroup,bstrAuthenticatedAttendeeName) (This)->lpVtbl->ConnectUsingTransportStream(This,pStream,bstrGroup,bstrAuthenticatedAttendeeName)
   5032 #define IRDPSRAPISharingSession2_get_FrameBuffer(This,ppVal) (This)->lpVtbl->get_FrameBuffer(This,ppVal)
   5033 #define IRDPSRAPISharingSession2_SendControlLevelChangeResponse(This,pAttendee,RequestedLevel,ReasonCode) (This)->lpVtbl->SendControlLevelChangeResponse(This,pAttendee,RequestedLevel,ReasonCode)
   5034 #else
   5035 /*** IUnknown methods ***/
   5036 static inline HRESULT IRDPSRAPISharingSession2_QueryInterface(IRDPSRAPISharingSession2* This,REFIID riid,void **ppvObject) {
   5037     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5038 }
   5039 static inline ULONG IRDPSRAPISharingSession2_AddRef(IRDPSRAPISharingSession2* This) {
   5040     return This->lpVtbl->AddRef(This);
   5041 }
   5042 static inline ULONG IRDPSRAPISharingSession2_Release(IRDPSRAPISharingSession2* This) {
   5043     return This->lpVtbl->Release(This);
   5044 }
   5045 /*** IDispatch methods ***/
   5046 static inline HRESULT IRDPSRAPISharingSession2_GetTypeInfoCount(IRDPSRAPISharingSession2* This,UINT *pctinfo) {
   5047     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   5048 }
   5049 static inline HRESULT IRDPSRAPISharingSession2_GetTypeInfo(IRDPSRAPISharingSession2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   5050     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   5051 }
   5052 static inline HRESULT IRDPSRAPISharingSession2_GetIDsOfNames(IRDPSRAPISharingSession2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   5053     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   5054 }
   5055 static inline HRESULT IRDPSRAPISharingSession2_Invoke(IRDPSRAPISharingSession2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   5056     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   5057 }
   5058 /*** IRDPSRAPISharingSession methods ***/
   5059 static inline HRESULT IRDPSRAPISharingSession2_Open(IRDPSRAPISharingSession2* This) {
   5060     return This->lpVtbl->Open(This);
   5061 }
   5062 static inline HRESULT IRDPSRAPISharingSession2_Close(IRDPSRAPISharingSession2* This) {
   5063     return This->lpVtbl->Close(This);
   5064 }
   5065 static inline HRESULT IRDPSRAPISharingSession2_put_ColorDepth(IRDPSRAPISharingSession2* This,LONG colorDepth) {
   5066     return This->lpVtbl->put_ColorDepth(This,colorDepth);
   5067 }
   5068 static inline HRESULT IRDPSRAPISharingSession2_get_ColorDepth(IRDPSRAPISharingSession2* This,LONG *pColorDepth) {
   5069     return This->lpVtbl->get_ColorDepth(This,pColorDepth);
   5070 }
   5071 static inline HRESULT IRDPSRAPISharingSession2_get_Properties(IRDPSRAPISharingSession2* This,IRDPSRAPISessionProperties **ppVal) {
   5072     return This->lpVtbl->get_Properties(This,ppVal);
   5073 }
   5074 static inline HRESULT IRDPSRAPISharingSession2_get_Attendees(IRDPSRAPISharingSession2* This,IRDPSRAPIAttendeeManager **ppVal) {
   5075     return This->lpVtbl->get_Attendees(This,ppVal);
   5076 }
   5077 static inline HRESULT IRDPSRAPISharingSession2_get_Invitations(IRDPSRAPISharingSession2* This,IRDPSRAPIInvitationManager **ppVal) {
   5078     return This->lpVtbl->get_Invitations(This,ppVal);
   5079 }
   5080 static inline HRESULT IRDPSRAPISharingSession2_get_ApplicationFilter(IRDPSRAPISharingSession2* This,IRDPSRAPIApplicationFilter **ppVal) {
   5081     return This->lpVtbl->get_ApplicationFilter(This,ppVal);
   5082 }
   5083 static inline HRESULT IRDPSRAPISharingSession2_get_VirtualChannelManager(IRDPSRAPISharingSession2* This,IRDPSRAPIVirtualChannelManager **ppVal) {
   5084     return This->lpVtbl->get_VirtualChannelManager(This,ppVal);
   5085 }
   5086 static inline HRESULT IRDPSRAPISharingSession2_Pause(IRDPSRAPISharingSession2* This) {
   5087     return This->lpVtbl->Pause(This);
   5088 }
   5089 static inline HRESULT IRDPSRAPISharingSession2_Resume(IRDPSRAPISharingSession2* This) {
   5090     return This->lpVtbl->Resume(This);
   5091 }
   5092 static inline HRESULT IRDPSRAPISharingSession2_ConnectToClient(IRDPSRAPISharingSession2* This,BSTR bstrConnectionString) {
   5093     return This->lpVtbl->ConnectToClient(This,bstrConnectionString);
   5094 }
   5095 static inline HRESULT IRDPSRAPISharingSession2_SetDesktopSharedRect(IRDPSRAPISharingSession2* This,LONG left,LONG top,LONG right,LONG bottom) {
   5096     return This->lpVtbl->SetDesktopSharedRect(This,left,top,right,bottom);
   5097 }
   5098 static inline HRESULT IRDPSRAPISharingSession2_GetDesktopSharedRect(IRDPSRAPISharingSession2* This,LONG *pleft,LONG *ptop,LONG *pright,LONG *pbottom) {
   5099     return This->lpVtbl->GetDesktopSharedRect(This,pleft,ptop,pright,pbottom);
   5100 }
   5101 /*** IRDPSRAPISharingSession2 methods ***/
   5102 static inline HRESULT IRDPSRAPISharingSession2_ConnectUsingTransportStream(IRDPSRAPISharingSession2* This,IRDPSRAPITransportStream *pStream,BSTR bstrGroup,BSTR bstrAuthenticatedAttendeeName) {
   5103     return This->lpVtbl->ConnectUsingTransportStream(This,pStream,bstrGroup,bstrAuthenticatedAttendeeName);
   5104 }
   5105 static inline HRESULT IRDPSRAPISharingSession2_get_FrameBuffer(IRDPSRAPISharingSession2* This,IRDPSRAPIFrameBuffer **ppVal) {
   5106     return This->lpVtbl->get_FrameBuffer(This,ppVal);
   5107 }
   5108 static inline HRESULT IRDPSRAPISharingSession2_SendControlLevelChangeResponse(IRDPSRAPISharingSession2* This,IRDPSRAPIAttendee *pAttendee,CTRL_LEVEL RequestedLevel,LONG ReasonCode) {
   5109     return This->lpVtbl->SendControlLevelChangeResponse(This,pAttendee,RequestedLevel,ReasonCode);
   5110 }
   5111 #endif
   5112 #endif
   5113 
   5114 #endif
   5115 
   5116 
   5117 #endif  /* __IRDPSRAPISharingSession2_INTERFACE_DEFINED__ */
   5118 
   5119 #ifndef __RDPCOMAPILib_LIBRARY_DEFINED__
   5120 #define __RDPCOMAPILib_LIBRARY_DEFINED__
   5121 
   5122 DEFINE_GUID(LIBID_RDPCOMAPILib, 0xcc802d05, 0xae07, 0x4c15, 0xb4,0x96, 0xdb,0x9d,0x22,0xaa,0x0a,0x84);
   5123 
   5124 typedef enum __WIDL_rdpencomapi_generated_name_0000002B {
   5125     CONST_MAX_CHANNEL_MESSAGE_SIZE = 1024,
   5126     CONST_MAX_CHANNEL_NAME_LEN = 8,
   5127     CONST_MAX_LEGACY_CHANNEL_MESSAGE_SIZE = 409600,
   5128     CONST_ATTENDEE_ID_EVERYONE = -1,
   5129     CONST_ATTENDEE_ID_HOST = 0,
   5130     CONST_CONN_INTERVAL = 50,
   5131     CONST_ATTENDEE_ID_DEFAULT = 0xffffffff
   5132 } RDPENCOMAPI_CONSTANTS;
   5133 /*****************************************************************************
   5134  * _IRDPSessionEvents dispinterface
   5135  */
   5136 #ifndef ___IRDPSessionEvents_DISPINTERFACE_DEFINED__
   5137 #define ___IRDPSessionEvents_DISPINTERFACE_DEFINED__
   5138 
   5139 DEFINE_GUID(DIID__IRDPSessionEvents, 0x98a97042, 0x6698, 0x40e9, 0x8e,0xfd, 0xb3,0x20,0x09,0x90,0x00,0x4b);
   5140 #if defined(__cplusplus) && !defined(CINTERFACE)
   5141 MIDL_INTERFACE("98a97042-6698-40e9-8efd-b3200990004b")
   5142 _IRDPSessionEvents : public IDispatch
   5143 {
   5144 };
   5145 #ifdef __CRT_UUID_DECL
   5146 __CRT_UUID_DECL(_IRDPSessionEvents, 0x98a97042, 0x6698, 0x40e9, 0x8e,0xfd, 0xb3,0x20,0x09,0x90,0x00,0x4b)
   5147 #endif
   5148 #else
   5149 typedef struct _IRDPSessionEventsVtbl {
   5150     BEGIN_INTERFACE
   5151 
   5152     /*** IUnknown methods ***/
   5153     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5154         _IRDPSessionEvents *This,
   5155         REFIID riid,
   5156         void **ppvObject);
   5157 
   5158     ULONG (STDMETHODCALLTYPE *AddRef)(
   5159         _IRDPSessionEvents *This);
   5160 
   5161     ULONG (STDMETHODCALLTYPE *Release)(
   5162         _IRDPSessionEvents *This);
   5163 
   5164     /*** IDispatch methods ***/
   5165     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   5166         _IRDPSessionEvents *This,
   5167         UINT *pctinfo);
   5168 
   5169     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   5170         _IRDPSessionEvents *This,
   5171         UINT iTInfo,
   5172         LCID lcid,
   5173         ITypeInfo **ppTInfo);
   5174 
   5175     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   5176         _IRDPSessionEvents *This,
   5177         REFIID riid,
   5178         LPOLESTR *rgszNames,
   5179         UINT cNames,
   5180         LCID lcid,
   5181         DISPID *rgDispId);
   5182 
   5183     HRESULT (STDMETHODCALLTYPE *Invoke)(
   5184         _IRDPSessionEvents *This,
   5185         DISPID dispIdMember,
   5186         REFIID riid,
   5187         LCID lcid,
   5188         WORD wFlags,
   5189         DISPPARAMS *pDispParams,
   5190         VARIANT *pVarResult,
   5191         EXCEPINFO *pExcepInfo,
   5192         UINT *puArgErr);
   5193 
   5194     END_INTERFACE
   5195 } _IRDPSessionEventsVtbl;
   5196 
   5197 interface _IRDPSessionEvents {
   5198     CONST_VTBL _IRDPSessionEventsVtbl* lpVtbl;
   5199 };
   5200 
   5201 #ifdef COBJMACROS
   5202 #ifndef WIDL_C_INLINE_WRAPPERS
   5203 /*** IUnknown methods ***/
   5204 #define _IRDPSessionEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5205 #define _IRDPSessionEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
   5206 #define _IRDPSessionEvents_Release(This) (This)->lpVtbl->Release(This)
   5207 /*** IDispatch methods ***/
   5208 #define _IRDPSessionEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   5209 #define _IRDPSessionEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   5210 #define _IRDPSessionEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   5211 #define _IRDPSessionEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   5212 #else
   5213 /*** IUnknown methods ***/
   5214 static inline HRESULT _IRDPSessionEvents_QueryInterface(_IRDPSessionEvents* This,REFIID riid,void **ppvObject) {
   5215     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5216 }
   5217 static inline ULONG _IRDPSessionEvents_AddRef(_IRDPSessionEvents* This) {
   5218     return This->lpVtbl->AddRef(This);
   5219 }
   5220 static inline ULONG _IRDPSessionEvents_Release(_IRDPSessionEvents* This) {
   5221     return This->lpVtbl->Release(This);
   5222 }
   5223 /*** IDispatch methods ***/
   5224 static inline HRESULT _IRDPSessionEvents_GetTypeInfoCount(_IRDPSessionEvents* This,UINT *pctinfo) {
   5225     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   5226 }
   5227 static inline HRESULT _IRDPSessionEvents_GetTypeInfo(_IRDPSessionEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   5228     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   5229 }
   5230 static inline HRESULT _IRDPSessionEvents_GetIDsOfNames(_IRDPSessionEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   5231     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   5232 }
   5233 static inline HRESULT _IRDPSessionEvents_Invoke(_IRDPSessionEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   5234     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   5235 }
   5236 #endif
   5237 #endif
   5238 
   5239 #endif
   5240 
   5241 #endif  /* ___IRDPSessionEvents_DISPINTERFACE_DEFINED__ */
   5242 
   5243 typedef struct __ReferenceRemainingTypes__ {
   5244     CTRL_LEVEL __ctrlLevel__;
   5245     ATTENDEE_DISCONNECT_REASON __attendeeDisconnectReason__;
   5246     CHANNEL_PRIORITY __channelPriority__;
   5247     CHANNEL_FLAGS __channelFlags__;
   5248     CHANNEL_ACCESS_ENUM __channelAccessEnum__;
   5249     RDPENCOMAPI_ATTENDEE_FLAGS __rdpencomapiAttendeeFlags__;
   5250     RDPSRAPI_WND_FLAGS __rdpsrapiWndFlags__;
   5251     RDPSRAPI_APP_FLAGS __rdpsrapiAppFlags__;
   5252 } __ReferenceRemainingTypes__;
   5253 #ifndef __IRDPViewerRenderingSurface_FWD_DEFINED__
   5254 #define __IRDPViewerRenderingSurface_FWD_DEFINED__
   5255 typedef interface IRDPViewerRenderingSurface IRDPViewerRenderingSurface;
   5256 #ifdef __cplusplus
   5257 interface IRDPViewerRenderingSurface;
   5258 #endif /* __cplusplus */
   5259 #endif
   5260 
   5261 #ifndef __IRDPViewerInputSink_FWD_DEFINED__
   5262 #define __IRDPViewerInputSink_FWD_DEFINED__
   5263 typedef interface IRDPViewerInputSink IRDPViewerInputSink;
   5264 #ifdef __cplusplus
   5265 interface IRDPViewerInputSink;
   5266 #endif /* __cplusplus */
   5267 #endif
   5268 
   5269 #ifndef __IRDPSRAPIAudioStream_FWD_DEFINED__
   5270 #define __IRDPSRAPIAudioStream_FWD_DEFINED__
   5271 typedef interface IRDPSRAPIAudioStream IRDPSRAPIAudioStream;
   5272 #ifdef __cplusplus
   5273 interface IRDPSRAPIAudioStream;
   5274 #endif /* __cplusplus */
   5275 #endif
   5276 
   5277 #ifndef __IRDPSRAPIPerfCounterLoggingManager_FWD_DEFINED__
   5278 #define __IRDPSRAPIPerfCounterLoggingManager_FWD_DEFINED__
   5279 typedef interface IRDPSRAPIPerfCounterLoggingManager IRDPSRAPIPerfCounterLoggingManager;
   5280 #ifdef __cplusplus
   5281 interface IRDPSRAPIPerfCounterLoggingManager;
   5282 #endif /* __cplusplus */
   5283 #endif
   5284 
   5285 /*****************************************************************************
   5286  * RDPViewer coclass
   5287  */
   5288 
   5289 DEFINE_GUID(CLSID_RDPViewer, 0x32be5ed2, 0x5c86, 0x480f, 0xa9,0x14, 0x0f,0xf8,0x88,0x5a,0x1b,0x3f);
   5290 
   5291 #ifdef __cplusplus
   5292 class DECLSPEC_UUID("32be5ed2-5c86-480f-a914-0ff8885a1b3f") RDPViewer;
   5293 #ifdef __CRT_UUID_DECL
   5294 __CRT_UUID_DECL(RDPViewer, 0x32be5ed2, 0x5c86, 0x480f, 0xa9,0x14, 0x0f,0xf8,0x88,0x5a,0x1b,0x3f)
   5295 #endif
   5296 #endif
   5297 
   5298 /*****************************************************************************
   5299  * RDPSRAPISessionProperties coclass
   5300  */
   5301 
   5302 DEFINE_GUID(CLSID_RDPSRAPISessionProperties, 0xdd7594ff, 0xea2a, 0x4c06, 0x8f,0xdf, 0x13,0x2d,0xe4,0x8b,0x65,0x10);
   5303 
   5304 #ifdef __cplusplus
   5305 class DECLSPEC_UUID("dd7594ff-ea2a-4c06-8fdf-132de48b6510") RDPSRAPISessionProperties;
   5306 #ifdef __CRT_UUID_DECL
   5307 __CRT_UUID_DECL(RDPSRAPISessionProperties, 0xdd7594ff, 0xea2a, 0x4c06, 0x8f,0xdf, 0x13,0x2d,0xe4,0x8b,0x65,0x10)
   5308 #endif
   5309 #endif
   5310 
   5311 /*****************************************************************************
   5312  * RDPSRAPIInvitationManager coclass
   5313  */
   5314 
   5315 DEFINE_GUID(CLSID_RDPSRAPIInvitationManager, 0x53d9c9db, 0x75ab, 0x4271, 0x94,0x8a, 0x4c,0x4e,0xb3,0x6a,0x8f,0x2b);
   5316 
   5317 #ifdef __cplusplus
   5318 class DECLSPEC_UUID("53d9c9db-75ab-4271-948a-4c4eb36a8f2b") RDPSRAPIInvitationManager;
   5319 #ifdef __CRT_UUID_DECL
   5320 __CRT_UUID_DECL(RDPSRAPIInvitationManager, 0x53d9c9db, 0x75ab, 0x4271, 0x94,0x8a, 0x4c,0x4e,0xb3,0x6a,0x8f,0x2b)
   5321 #endif
   5322 #endif
   5323 
   5324 /*****************************************************************************
   5325  * RDPSRAPIInvitation coclass
   5326  */
   5327 
   5328 DEFINE_GUID(CLSID_RDPSRAPIInvitation, 0x49174dc6, 0x0731, 0x4b5e, 0x8e,0xe1, 0x83,0xa6,0x3d,0x38,0x68,0xfa);
   5329 
   5330 #ifdef __cplusplus
   5331 class DECLSPEC_UUID("49174dc6-0731-4b5e-8ee1-83a63d3868fa") RDPSRAPIInvitation;
   5332 #ifdef __CRT_UUID_DECL
   5333 __CRT_UUID_DECL(RDPSRAPIInvitation, 0x49174dc6, 0x0731, 0x4b5e, 0x8e,0xe1, 0x83,0xa6,0x3d,0x38,0x68,0xfa)
   5334 #endif
   5335 #endif
   5336 
   5337 /*****************************************************************************
   5338  * RDPSRAPIAttendeeManager coclass
   5339  */
   5340 
   5341 DEFINE_GUID(CLSID_RDPSRAPIAttendeeManager, 0xd7b13a01, 0xf7d4, 0x42a6, 0x85,0x95, 0x12,0xfc,0x8c,0x24,0xe8,0x51);
   5342 
   5343 #ifdef __cplusplus
   5344 class DECLSPEC_UUID("d7b13a01-f7d4-42a6-8595-12fc8c24e851") RDPSRAPIAttendeeManager;
   5345 #ifdef __CRT_UUID_DECL
   5346 __CRT_UUID_DECL(RDPSRAPIAttendeeManager, 0xd7b13a01, 0xf7d4, 0x42a6, 0x85,0x95, 0x12,0xfc,0x8c,0x24,0xe8,0x51)
   5347 #endif
   5348 #endif
   5349 
   5350 /*****************************************************************************
   5351  * RDPSRAPIAttendee coclass
   5352  */
   5353 
   5354 DEFINE_GUID(CLSID_RDPSRAPIAttendee, 0x74f93bb5, 0x755f, 0x488e, 0x8a,0x29, 0x23,0x90,0x10,0x8a,0xef,0x55);
   5355 
   5356 #ifdef __cplusplus
   5357 class DECLSPEC_UUID("74f93bb5-755f-488e-8a29-2390108aef55") RDPSRAPIAttendee;
   5358 #ifdef __CRT_UUID_DECL
   5359 __CRT_UUID_DECL(RDPSRAPIAttendee, 0x74f93bb5, 0x755f, 0x488e, 0x8a,0x29, 0x23,0x90,0x10,0x8a,0xef,0x55)
   5360 #endif
   5361 #endif
   5362 
   5363 /*****************************************************************************
   5364  * RDPSRAPIAttendeeDisconnectInfo coclass
   5365  */
   5366 
   5367 DEFINE_GUID(CLSID_RDPSRAPIAttendeeDisconnectInfo, 0xb47d7250, 0x5bdb, 0x405d, 0xb4,0x87, 0xca,0xad,0x9c,0x56,0xf4,0xf8);
   5368 
   5369 #ifdef __cplusplus
   5370 class DECLSPEC_UUID("b47d7250-5bdb-405d-b487-caad9c56f4f8") RDPSRAPIAttendeeDisconnectInfo;
   5371 #ifdef __CRT_UUID_DECL
   5372 __CRT_UUID_DECL(RDPSRAPIAttendeeDisconnectInfo, 0xb47d7250, 0x5bdb, 0x405d, 0xb4,0x87, 0xca,0xad,0x9c,0x56,0xf4,0xf8)
   5373 #endif
   5374 #endif
   5375 
   5376 /*****************************************************************************
   5377  * RDPSRAPIApplicationFilter coclass
   5378  */
   5379 
   5380 DEFINE_GUID(CLSID_RDPSRAPIApplicationFilter, 0xe35ace89, 0xc7e8, 0x427e, 0xa4,0xf9, 0xb9,0xda,0x07,0x28,0x26,0xbd);
   5381 
   5382 #ifdef __cplusplus
   5383 class DECLSPEC_UUID("e35ace89-c7e8-427e-a4f9-b9da072826bd") RDPSRAPIApplicationFilter;
   5384 #ifdef __CRT_UUID_DECL
   5385 __CRT_UUID_DECL(RDPSRAPIApplicationFilter, 0xe35ace89, 0xc7e8, 0x427e, 0xa4,0xf9, 0xb9,0xda,0x07,0x28,0x26,0xbd)
   5386 #endif
   5387 #endif
   5388 
   5389 /*****************************************************************************
   5390  * RDPSRAPIApplicationList coclass
   5391  */
   5392 
   5393 DEFINE_GUID(CLSID_RDPSRAPIApplicationList, 0x9e31c815, 0x7433, 0x4876, 0x97,0xfb, 0xed,0x59,0xfe,0x2b,0xaa,0x22);
   5394 
   5395 #ifdef __cplusplus
   5396 class DECLSPEC_UUID("9e31c815-7433-4876-97fb-ed59fe2baa22") RDPSRAPIApplicationList;
   5397 #ifdef __CRT_UUID_DECL
   5398 __CRT_UUID_DECL(RDPSRAPIApplicationList, 0x9e31c815, 0x7433, 0x4876, 0x97,0xfb, 0xed,0x59,0xfe,0x2b,0xaa,0x22)
   5399 #endif
   5400 #endif
   5401 
   5402 /*****************************************************************************
   5403  * RDPSRAPIApplication coclass
   5404  */
   5405 
   5406 DEFINE_GUID(CLSID_RDPSRAPIApplication, 0xc116a484, 0x4b25, 0x4b9f, 0x8a,0x54, 0xb9,0x34,0xb0,0x6e,0x57,0xfa);
   5407 
   5408 #ifdef __cplusplus
   5409 class DECLSPEC_UUID("c116a484-4b25-4b9f-8a54-b934b06e57fa") RDPSRAPIApplication;
   5410 #ifdef __CRT_UUID_DECL
   5411 __CRT_UUID_DECL(RDPSRAPIApplication, 0xc116a484, 0x4b25, 0x4b9f, 0x8a,0x54, 0xb9,0x34,0xb0,0x6e,0x57,0xfa)
   5412 #endif
   5413 #endif
   5414 
   5415 /*****************************************************************************
   5416  * RDPSRAPIWindowList coclass
   5417  */
   5418 
   5419 DEFINE_GUID(CLSID_RDPSRAPIWindowList, 0x9c21e2b8, 0x5dd4, 0x42cc, 0x81,0xba, 0x1c,0x09,0x98,0x52,0xe6,0xfa);
   5420 
   5421 #ifdef __cplusplus
   5422 class DECLSPEC_UUID("9c21e2b8-5dd4-42cc-81ba-1c099852e6fa") RDPSRAPIWindowList;
   5423 #ifdef __CRT_UUID_DECL
   5424 __CRT_UUID_DECL(RDPSRAPIWindowList, 0x9c21e2b8, 0x5dd4, 0x42cc, 0x81,0xba, 0x1c,0x09,0x98,0x52,0xe6,0xfa)
   5425 #endif
   5426 #endif
   5427 
   5428 /*****************************************************************************
   5429  * RDPSRAPIWindow coclass
   5430  */
   5431 
   5432 DEFINE_GUID(CLSID_RDPSRAPIWindow, 0x03cf46db, 0xce45, 0x4d36, 0x86,0xed, 0xed,0x28,0xb7,0x43,0x98,0xbf);
   5433 
   5434 #ifdef __cplusplus
   5435 class DECLSPEC_UUID("03cf46db-ce45-4d36-86ed-ed28b74398bf") RDPSRAPIWindow;
   5436 #ifdef __CRT_UUID_DECL
   5437 __CRT_UUID_DECL(RDPSRAPIWindow, 0x03cf46db, 0xce45, 0x4d36, 0x86,0xed, 0xed,0x28,0xb7,0x43,0x98,0xbf)
   5438 #endif
   5439 #endif
   5440 
   5441 /*****************************************************************************
   5442  * RDPSRAPITcpConnectionInfo coclass
   5443  */
   5444 
   5445 DEFINE_GUID(CLSID_RDPSRAPITcpConnectionInfo, 0xbe49db3f, 0xebb6, 0x4278, 0x8c,0xe0, 0xd5,0x45,0x58,0x33,0xea,0xee);
   5446 
   5447 #ifdef __cplusplus
   5448 class DECLSPEC_UUID("be49db3f-ebb6-4278-8ce0-d5455833eaee") RDPSRAPITcpConnectionInfo;
   5449 #ifdef __CRT_UUID_DECL
   5450 __CRT_UUID_DECL(RDPSRAPITcpConnectionInfo, 0xbe49db3f, 0xebb6, 0x4278, 0x8c,0xe0, 0xd5,0x45,0x58,0x33,0xea,0xee)
   5451 #endif
   5452 #endif
   5453 
   5454 /*****************************************************************************
   5455  * RDPSession coclass
   5456  */
   5457 
   5458 DEFINE_GUID(CLSID_RDPSession, 0x9b78f0e6, 0x3e05, 0x4a5b, 0xb2,0xe8, 0xe7,0x43,0xa8,0x95,0x6b,0x65);
   5459 
   5460 #ifdef __cplusplus
   5461 class DECLSPEC_UUID("9b78f0e6-3e05-4a5b-b2e8-e743a8956b65") RDPSession;
   5462 #ifdef __CRT_UUID_DECL
   5463 __CRT_UUID_DECL(RDPSession, 0x9b78f0e6, 0x3e05, 0x4a5b, 0xb2,0xe8, 0xe7,0x43,0xa8,0x95,0x6b,0x65)
   5464 #endif
   5465 #endif
   5466 
   5467 /*****************************************************************************
   5468  * RDPSRAPIFrameBuffer coclass
   5469  */
   5470 
   5471 DEFINE_GUID(CLSID_RDPSRAPIFrameBuffer, 0xa4f66bcc, 0x538e, 0x4101, 0x95,0x1d, 0x30,0x84,0x7a,0xdb,0x51,0x01);
   5472 
   5473 #ifdef __cplusplus
   5474 class DECLSPEC_UUID("a4f66bcc-538e-4101-951d-30847adb5101") RDPSRAPIFrameBuffer;
   5475 #ifdef __CRT_UUID_DECL
   5476 __CRT_UUID_DECL(RDPSRAPIFrameBuffer, 0xa4f66bcc, 0x538e, 0x4101, 0x95,0x1d, 0x30,0x84,0x7a,0xdb,0x51,0x01)
   5477 #endif
   5478 #endif
   5479 
   5480 /*****************************************************************************
   5481  * RDPTransportStreamBuffer coclass
   5482  */
   5483 
   5484 DEFINE_GUID(CLSID_RDPTransportStreamBuffer, 0x8d4a1c69, 0xf17f, 0x4549, 0xa6,0x99, 0x76,0x1c,0x6e,0x6b,0x5c,0x0a);
   5485 
   5486 #ifdef __cplusplus
   5487 class DECLSPEC_UUID("8d4a1c69-f17f-4549-a699-761c6e6b5c0a") RDPTransportStreamBuffer;
   5488 #ifdef __CRT_UUID_DECL
   5489 __CRT_UUID_DECL(RDPTransportStreamBuffer, 0x8d4a1c69, 0xf17f, 0x4549, 0xa6,0x99, 0x76,0x1c,0x6e,0x6b,0x5c,0x0a)
   5490 #endif
   5491 #endif
   5492 
   5493 /*****************************************************************************
   5494  * RDPTransportStreamEvents coclass
   5495  */
   5496 
   5497 DEFINE_GUID(CLSID_RDPTransportStreamEvents, 0x31e3ab20, 0x5350, 0x483f, 0x9d,0xc6, 0x67,0x48,0x66,0x5e,0xfd,0xeb);
   5498 
   5499 #ifdef __cplusplus
   5500 class DECLSPEC_UUID("31e3ab20-5350-483f-9dc6-6748665efdeb") RDPTransportStreamEvents;
   5501 #ifdef __CRT_UUID_DECL
   5502 __CRT_UUID_DECL(RDPTransportStreamEvents, 0x31e3ab20, 0x5350, 0x483f, 0x9d,0xc6, 0x67,0x48,0x66,0x5e,0xfd,0xeb)
   5503 #endif
   5504 #endif
   5505 
   5506 #endif /* __RDPCOMAPILib_LIBRARY_DEFINED__ */
   5507 #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
   5508 /* Begin additional prototypes for all interfaces */
   5509 
   5510 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
   5511 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
   5512 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
   5513 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
   5514 ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
   5515 unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
   5516 unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
   5517 void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
   5518 
   5519 /* End additional prototypes */
   5520 
   5521 #ifdef __cplusplus
   5522 }
   5523 #endif
   5524 
   5525 #endif /* __rdpencomapi_h__ */