Home | History | Annotate | Download | only in include
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      7 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      8 #endif
      9 
     10 #include "rpc.h"
     11 #include "rpcndr.h"
     12 
     13 #ifndef __RPCNDR_H_VERSION__
     14 #error This stub requires an updated version of <rpcndr.h>
     15 #endif
     16 
     17 #ifndef COM_NO_WINDOWS_H
     18 #include "windows.h"
     19 #include "ole2.h"
     20 #endif
     21 
     22 #ifndef __rtccore_h__
     23 #define __rtccore_h__
     24 
     25 #ifndef __IRTCClient_FWD_DEFINED__
     26 #define __IRTCClient_FWD_DEFINED__
     27 typedef struct IRTCClient IRTCClient;
     28 #endif
     29 
     30 #ifndef __IRTCClient2_FWD_DEFINED__
     31 #define __IRTCClient2_FWD_DEFINED__
     32 typedef struct IRTCClient2 IRTCClient2;
     33 #endif
     34 
     35 #ifndef __IRTCClientPresence_FWD_DEFINED__
     36 #define __IRTCClientPresence_FWD_DEFINED__
     37 typedef struct IRTCClientPresence IRTCClientPresence;
     38 #endif
     39 
     40 #ifndef __IRTCClientPresence2_FWD_DEFINED__
     41 #define __IRTCClientPresence2_FWD_DEFINED__
     42 typedef struct IRTCClientPresence2 IRTCClientPresence2;
     43 #endif
     44 
     45 #ifndef __IRTCClientProvisioning_FWD_DEFINED__
     46 #define __IRTCClientProvisioning_FWD_DEFINED__
     47 typedef struct IRTCClientProvisioning IRTCClientProvisioning;
     48 #endif
     49 
     50 #ifndef __IRTCClientProvisioning2_FWD_DEFINED__
     51 #define __IRTCClientProvisioning2_FWD_DEFINED__
     52 typedef struct IRTCClientProvisioning2 IRTCClientProvisioning2;
     53 #endif
     54 
     55 #ifndef __IRTCProfile_FWD_DEFINED__
     56 #define __IRTCProfile_FWD_DEFINED__
     57 typedef struct IRTCProfile IRTCProfile;
     58 #endif
     59 
     60 #ifndef __IRTCProfile2_FWD_DEFINED__
     61 #define __IRTCProfile2_FWD_DEFINED__
     62 typedef struct IRTCProfile2 IRTCProfile2;
     63 #endif
     64 
     65 #ifndef __IRTCSession_FWD_DEFINED__
     66 #define __IRTCSession_FWD_DEFINED__
     67 typedef struct IRTCSession IRTCSession;
     68 #endif
     69 
     70 #ifndef __IRTCSession2_FWD_DEFINED__
     71 #define __IRTCSession2_FWD_DEFINED__
     72 typedef struct IRTCSession2 IRTCSession2;
     73 #endif
     74 
     75 #ifndef __IRTCSessionCallControl_FWD_DEFINED__
     76 #define __IRTCSessionCallControl_FWD_DEFINED__
     77 typedef struct IRTCSessionCallControl IRTCSessionCallControl;
     78 #endif
     79 
     80 #ifndef __IRTCParticipant_FWD_DEFINED__
     81 #define __IRTCParticipant_FWD_DEFINED__
     82 typedef struct IRTCParticipant IRTCParticipant;
     83 #endif
     84 
     85 #ifndef __IRTCRoamingEvent_FWD_DEFINED__
     86 #define __IRTCRoamingEvent_FWD_DEFINED__
     87 typedef struct IRTCRoamingEvent IRTCRoamingEvent;
     88 #endif
     89 
     90 #ifndef __IRTCProfileEvent_FWD_DEFINED__
     91 #define __IRTCProfileEvent_FWD_DEFINED__
     92 typedef struct IRTCProfileEvent IRTCProfileEvent;
     93 #endif
     94 
     95 #ifndef __IRTCProfileEvent2_FWD_DEFINED__
     96 #define __IRTCProfileEvent2_FWD_DEFINED__
     97 typedef struct IRTCProfileEvent2 IRTCProfileEvent2;
     98 #endif
     99 
    100 #ifndef __IRTCClientEvent_FWD_DEFINED__
    101 #define __IRTCClientEvent_FWD_DEFINED__
    102 typedef struct IRTCClientEvent IRTCClientEvent;
    103 #endif
    104 
    105 #ifndef __IRTCRegistrationStateChangeEvent_FWD_DEFINED__
    106 #define __IRTCRegistrationStateChangeEvent_FWD_DEFINED__
    107 typedef struct IRTCRegistrationStateChangeEvent IRTCRegistrationStateChangeEvent;
    108 #endif
    109 
    110 #ifndef __IRTCSessionStateChangeEvent_FWD_DEFINED__
    111 #define __IRTCSessionStateChangeEvent_FWD_DEFINED__
    112 typedef struct IRTCSessionStateChangeEvent IRTCSessionStateChangeEvent;
    113 #endif
    114 
    115 #ifndef __IRTCSessionStateChangeEvent2_FWD_DEFINED__
    116 #define __IRTCSessionStateChangeEvent2_FWD_DEFINED__
    117 typedef struct IRTCSessionStateChangeEvent2 IRTCSessionStateChangeEvent2;
    118 #endif
    119 
    120 #ifndef __IRTCSessionOperationCompleteEvent_FWD_DEFINED__
    121 #define __IRTCSessionOperationCompleteEvent_FWD_DEFINED__
    122 typedef struct IRTCSessionOperationCompleteEvent IRTCSessionOperationCompleteEvent;
    123 #endif
    124 
    125 #ifndef __IRTCSessionOperationCompleteEvent2_FWD_DEFINED__
    126 #define __IRTCSessionOperationCompleteEvent2_FWD_DEFINED__
    127 typedef struct IRTCSessionOperationCompleteEvent2 IRTCSessionOperationCompleteEvent2;
    128 #endif
    129 
    130 #ifndef __IRTCParticipantStateChangeEvent_FWD_DEFINED__
    131 #define __IRTCParticipantStateChangeEvent_FWD_DEFINED__
    132 typedef struct IRTCParticipantStateChangeEvent IRTCParticipantStateChangeEvent;
    133 #endif
    134 
    135 #ifndef __IRTCMediaEvent_FWD_DEFINED__
    136 #define __IRTCMediaEvent_FWD_DEFINED__
    137 typedef struct IRTCMediaEvent IRTCMediaEvent;
    138 #endif
    139 
    140 #ifndef __IRTCIntensityEvent_FWD_DEFINED__
    141 #define __IRTCIntensityEvent_FWD_DEFINED__
    142 typedef struct IRTCIntensityEvent IRTCIntensityEvent;
    143 #endif
    144 
    145 #ifndef __IRTCMessagingEvent_FWD_DEFINED__
    146 #define __IRTCMessagingEvent_FWD_DEFINED__
    147 typedef struct IRTCMessagingEvent IRTCMessagingEvent;
    148 #endif
    149 
    150 #ifndef __IRTCBuddyEvent_FWD_DEFINED__
    151 #define __IRTCBuddyEvent_FWD_DEFINED__
    152 typedef struct IRTCBuddyEvent IRTCBuddyEvent;
    153 #endif
    154 
    155 #ifndef __IRTCBuddyEvent2_FWD_DEFINED__
    156 #define __IRTCBuddyEvent2_FWD_DEFINED__
    157 typedef struct IRTCBuddyEvent2 IRTCBuddyEvent2;
    158 #endif
    159 
    160 #ifndef __IRTCWatcherEvent_FWD_DEFINED__
    161 #define __IRTCWatcherEvent_FWD_DEFINED__
    162 typedef struct IRTCWatcherEvent IRTCWatcherEvent;
    163 #endif
    164 
    165 #ifndef __IRTCWatcherEvent2_FWD_DEFINED__
    166 #define __IRTCWatcherEvent2_FWD_DEFINED__
    167 typedef struct IRTCWatcherEvent2 IRTCWatcherEvent2;
    168 #endif
    169 
    170 #ifndef __IRTCBuddyGroupEvent_FWD_DEFINED__
    171 #define __IRTCBuddyGroupEvent_FWD_DEFINED__
    172 typedef struct IRTCBuddyGroupEvent IRTCBuddyGroupEvent;
    173 #endif
    174 
    175 #ifndef __IRTCInfoEvent_FWD_DEFINED__
    176 #define __IRTCInfoEvent_FWD_DEFINED__
    177 typedef struct IRTCInfoEvent IRTCInfoEvent;
    178 #endif
    179 
    180 #ifndef __IRTCMediaRequestEvent_FWD_DEFINED__
    181 #define __IRTCMediaRequestEvent_FWD_DEFINED__
    182 typedef struct IRTCMediaRequestEvent IRTCMediaRequestEvent;
    183 #endif
    184 
    185 #ifndef __IRTCReInviteEvent_FWD_DEFINED__
    186 #define __IRTCReInviteEvent_FWD_DEFINED__
    187 typedef struct IRTCReInviteEvent IRTCReInviteEvent;
    188 #endif
    189 
    190 #ifndef __IRTCPresencePropertyEvent_FWD_DEFINED__
    191 #define __IRTCPresencePropertyEvent_FWD_DEFINED__
    192 typedef struct IRTCPresencePropertyEvent IRTCPresencePropertyEvent;
    193 #endif
    194 
    195 #ifndef __IRTCPresenceDataEvent_FWD_DEFINED__
    196 #define __IRTCPresenceDataEvent_FWD_DEFINED__
    197 typedef struct IRTCPresenceDataEvent IRTCPresenceDataEvent;
    198 #endif
    199 
    200 #ifndef __IRTCPresenceStatusEvent_FWD_DEFINED__
    201 #define __IRTCPresenceStatusEvent_FWD_DEFINED__
    202 typedef struct IRTCPresenceStatusEvent IRTCPresenceStatusEvent;
    203 #endif
    204 
    205 #ifndef __IRTCCollection_FWD_DEFINED__
    206 #define __IRTCCollection_FWD_DEFINED__
    207 typedef struct IRTCCollection IRTCCollection;
    208 #endif
    209 
    210 #ifndef __IRTCEnumParticipants_FWD_DEFINED__
    211 #define __IRTCEnumParticipants_FWD_DEFINED__
    212 typedef struct IRTCEnumParticipants IRTCEnumParticipants;
    213 #endif
    214 
    215 #ifndef __IRTCEnumProfiles_FWD_DEFINED__
    216 #define __IRTCEnumProfiles_FWD_DEFINED__
    217 typedef struct IRTCEnumProfiles IRTCEnumProfiles;
    218 #endif
    219 
    220 #ifndef __IRTCEnumBuddies_FWD_DEFINED__
    221 #define __IRTCEnumBuddies_FWD_DEFINED__
    222 typedef struct IRTCEnumBuddies IRTCEnumBuddies;
    223 #endif
    224 
    225 #ifndef __IRTCEnumWatchers_FWD_DEFINED__
    226 #define __IRTCEnumWatchers_FWD_DEFINED__
    227 typedef struct IRTCEnumWatchers IRTCEnumWatchers;
    228 #endif
    229 
    230 #ifndef __IRTCEnumGroups_FWD_DEFINED__
    231 #define __IRTCEnumGroups_FWD_DEFINED__
    232 typedef struct IRTCEnumGroups IRTCEnumGroups;
    233 #endif
    234 
    235 #ifndef __IRTCPresenceContact_FWD_DEFINED__
    236 #define __IRTCPresenceContact_FWD_DEFINED__
    237 typedef struct IRTCPresenceContact IRTCPresenceContact;
    238 #endif
    239 
    240 #ifndef __IRTCBuddy_FWD_DEFINED__
    241 #define __IRTCBuddy_FWD_DEFINED__
    242 typedef struct IRTCBuddy IRTCBuddy;
    243 #endif
    244 
    245 #ifndef __IRTCBuddy2_FWD_DEFINED__
    246 #define __IRTCBuddy2_FWD_DEFINED__
    247 typedef struct IRTCBuddy2 IRTCBuddy2;
    248 #endif
    249 
    250 #ifndef __IRTCWatcher_FWD_DEFINED__
    251 #define __IRTCWatcher_FWD_DEFINED__
    252 typedef struct IRTCWatcher IRTCWatcher;
    253 #endif
    254 
    255 #ifndef __IRTCWatcher2_FWD_DEFINED__
    256 #define __IRTCWatcher2_FWD_DEFINED__
    257 typedef struct IRTCWatcher2 IRTCWatcher2;
    258 #endif
    259 
    260 #ifndef __IRTCBuddyGroup_FWD_DEFINED__
    261 #define __IRTCBuddyGroup_FWD_DEFINED__
    262 typedef struct IRTCBuddyGroup IRTCBuddyGroup;
    263 #endif
    264 
    265 #ifndef __IRTCEventNotification_FWD_DEFINED__
    266 #define __IRTCEventNotification_FWD_DEFINED__
    267 typedef struct IRTCEventNotification IRTCEventNotification;
    268 #endif
    269 
    270 #ifndef __IRTCDispatchEventNotification_FWD_DEFINED__
    271 #define __IRTCDispatchEventNotification_FWD_DEFINED__
    272 typedef struct IRTCDispatchEventNotification IRTCDispatchEventNotification;
    273 #endif
    274 
    275 #ifndef __IRTCPortManager_FWD_DEFINED__
    276 #define __IRTCPortManager_FWD_DEFINED__
    277 typedef struct IRTCPortManager IRTCPortManager;
    278 #endif
    279 
    280 #ifndef __IRTCSessionPortManagement_FWD_DEFINED__
    281 #define __IRTCSessionPortManagement_FWD_DEFINED__
    282 typedef struct IRTCSessionPortManagement IRTCSessionPortManagement;
    283 #endif
    284 
    285 #ifndef __IRTCClientPortManagement_FWD_DEFINED__
    286 #define __IRTCClientPortManagement_FWD_DEFINED__
    287 typedef struct IRTCClientPortManagement IRTCClientPortManagement;
    288 #endif
    289 
    290 #ifndef __IRTCUserSearch_FWD_DEFINED__
    291 #define __IRTCUserSearch_FWD_DEFINED__
    292 typedef struct IRTCUserSearch IRTCUserSearch;
    293 #endif
    294 
    295 #ifndef __IRTCUserSearchQuery_FWD_DEFINED__
    296 #define __IRTCUserSearchQuery_FWD_DEFINED__
    297 typedef struct IRTCUserSearchQuery IRTCUserSearchQuery;
    298 #endif
    299 
    300 #ifndef __IRTCUserSearchResult_FWD_DEFINED__
    301 #define __IRTCUserSearchResult_FWD_DEFINED__
    302 typedef struct IRTCUserSearchResult IRTCUserSearchResult;
    303 #endif
    304 
    305 #ifndef __IRTCEnumUserSearchResults_FWD_DEFINED__
    306 #define __IRTCEnumUserSearchResults_FWD_DEFINED__
    307 typedef struct IRTCEnumUserSearchResults IRTCEnumUserSearchResults;
    308 #endif
    309 
    310 #ifndef __IRTCUserSearchResultsEvent_FWD_DEFINED__
    311 #define __IRTCUserSearchResultsEvent_FWD_DEFINED__
    312 typedef struct IRTCUserSearchResultsEvent IRTCUserSearchResultsEvent;
    313 #endif
    314 
    315 #ifndef __IRTCSessionReferStatusEvent_FWD_DEFINED__
    316 #define __IRTCSessionReferStatusEvent_FWD_DEFINED__
    317 typedef struct IRTCSessionReferStatusEvent IRTCSessionReferStatusEvent;
    318 #endif
    319 
    320 #ifndef __IRTCSessionReferredEvent_FWD_DEFINED__
    321 #define __IRTCSessionReferredEvent_FWD_DEFINED__
    322 typedef struct IRTCSessionReferredEvent IRTCSessionReferredEvent;
    323 #endif
    324 
    325 #ifndef __IRTCSessionDescriptionManager_FWD_DEFINED__
    326 #define __IRTCSessionDescriptionManager_FWD_DEFINED__
    327 typedef struct IRTCSessionDescriptionManager IRTCSessionDescriptionManager;
    328 #endif
    329 
    330 #ifndef __IRTCEnumPresenceDevices_FWD_DEFINED__
    331 #define __IRTCEnumPresenceDevices_FWD_DEFINED__
    332 typedef struct IRTCEnumPresenceDevices IRTCEnumPresenceDevices;
    333 #endif
    334 
    335 #ifndef __IRTCPresenceDevice_FWD_DEFINED__
    336 #define __IRTCPresenceDevice_FWD_DEFINED__
    337 typedef struct IRTCPresenceDevice IRTCPresenceDevice;
    338 #endif
    339 
    340 #ifndef __IRTCProfile_FWD_DEFINED__
    341 #define __IRTCProfile_FWD_DEFINED__
    342 typedef struct IRTCProfile IRTCProfile;
    343 #endif
    344 
    345 #ifndef __IRTCProfile2_FWD_DEFINED__
    346 #define __IRTCProfile2_FWD_DEFINED__
    347 typedef struct IRTCProfile2 IRTCProfile2;
    348 #endif
    349 
    350 #ifndef __IRTCEnumProfiles_FWD_DEFINED__
    351 #define __IRTCEnumProfiles_FWD_DEFINED__
    352 typedef struct IRTCEnumProfiles IRTCEnumProfiles;
    353 #endif
    354 
    355 #ifndef __IRTCSession_FWD_DEFINED__
    356 #define __IRTCSession_FWD_DEFINED__
    357 typedef struct IRTCSession IRTCSession;
    358 #endif
    359 
    360 #ifndef __IRTCSession2_FWD_DEFINED__
    361 #define __IRTCSession2_FWD_DEFINED__
    362 typedef struct IRTCSession2 IRTCSession2;
    363 #endif
    364 
    365 #ifndef __IRTCSessionCallControl_FWD_DEFINED__
    366 #define __IRTCSessionCallControl_FWD_DEFINED__
    367 typedef struct IRTCSessionCallControl IRTCSessionCallControl;
    368 #endif
    369 
    370 #ifndef __IRTCParticipant_FWD_DEFINED__
    371 #define __IRTCParticipant_FWD_DEFINED__
    372 typedef struct IRTCParticipant IRTCParticipant;
    373 #endif
    374 
    375 #ifndef __IRTCEnumParticipants_FWD_DEFINED__
    376 #define __IRTCEnumParticipants_FWD_DEFINED__
    377 typedef struct IRTCEnumParticipants IRTCEnumParticipants;
    378 #endif
    379 
    380 #ifndef __IRTCCollection_FWD_DEFINED__
    381 #define __IRTCCollection_FWD_DEFINED__
    382 typedef struct IRTCCollection IRTCCollection;
    383 #endif
    384 
    385 #ifndef __IRTCPresenceContact_FWD_DEFINED__
    386 #define __IRTCPresenceContact_FWD_DEFINED__
    387 typedef struct IRTCPresenceContact IRTCPresenceContact;
    388 #endif
    389 
    390 #ifndef __IRTCBuddy_FWD_DEFINED__
    391 #define __IRTCBuddy_FWD_DEFINED__
    392 typedef struct IRTCBuddy IRTCBuddy;
    393 #endif
    394 
    395 #ifndef __IRTCBuddy2_FWD_DEFINED__
    396 #define __IRTCBuddy2_FWD_DEFINED__
    397 typedef struct IRTCBuddy2 IRTCBuddy2;
    398 #endif
    399 
    400 #ifndef __IRTCEnumBuddies_FWD_DEFINED__
    401 #define __IRTCEnumBuddies_FWD_DEFINED__
    402 typedef struct IRTCEnumBuddies IRTCEnumBuddies;
    403 #endif
    404 
    405 #ifndef __IRTCWatcher_FWD_DEFINED__
    406 #define __IRTCWatcher_FWD_DEFINED__
    407 typedef struct IRTCWatcher IRTCWatcher;
    408 #endif
    409 
    410 #ifndef __IRTCWatcher2_FWD_DEFINED__
    411 #define __IRTCWatcher2_FWD_DEFINED__
    412 typedef struct IRTCWatcher2 IRTCWatcher2;
    413 #endif
    414 
    415 #ifndef __IRTCEnumWatchers_FWD_DEFINED__
    416 #define __IRTCEnumWatchers_FWD_DEFINED__
    417 typedef struct IRTCEnumWatchers IRTCEnumWatchers;
    418 #endif
    419 
    420 #ifndef __IRTCBuddyGroup_FWD_DEFINED__
    421 #define __IRTCBuddyGroup_FWD_DEFINED__
    422 typedef struct IRTCBuddyGroup IRTCBuddyGroup;
    423 #endif
    424 
    425 #ifndef __IRTCEnumGroups_FWD_DEFINED__
    426 #define __IRTCEnumGroups_FWD_DEFINED__
    427 typedef struct IRTCEnumGroups IRTCEnumGroups;
    428 #endif
    429 
    430 #ifndef __IRTCUserSearchQuery_FWD_DEFINED__
    431 #define __IRTCUserSearchQuery_FWD_DEFINED__
    432 typedef struct IRTCUserSearchQuery IRTCUserSearchQuery;
    433 #endif
    434 
    435 #ifndef __IRTCUserSearchResult_FWD_DEFINED__
    436 #define __IRTCUserSearchResult_FWD_DEFINED__
    437 typedef struct IRTCUserSearchResult IRTCUserSearchResult;
    438 #endif
    439 
    440 #ifndef __IRTCEnumUserSearchResults_FWD_DEFINED__
    441 #define __IRTCEnumUserSearchResults_FWD_DEFINED__
    442 typedef struct IRTCEnumUserSearchResults IRTCEnumUserSearchResults;
    443 #endif
    444 
    445 #ifndef __IRTCEventNotification_FWD_DEFINED__
    446 #define __IRTCEventNotification_FWD_DEFINED__
    447 typedef struct IRTCEventNotification IRTCEventNotification;
    448 #endif
    449 
    450 #ifndef __IRTCClientEvent_FWD_DEFINED__
    451 #define __IRTCClientEvent_FWD_DEFINED__
    452 typedef struct IRTCClientEvent IRTCClientEvent;
    453 #endif
    454 
    455 #ifndef __IRTCRegistrationStateChangeEvent_FWD_DEFINED__
    456 #define __IRTCRegistrationStateChangeEvent_FWD_DEFINED__
    457 typedef struct IRTCRegistrationStateChangeEvent IRTCRegistrationStateChangeEvent;
    458 #endif
    459 
    460 #ifndef __IRTCSessionStateChangeEvent_FWD_DEFINED__
    461 #define __IRTCSessionStateChangeEvent_FWD_DEFINED__
    462 typedef struct IRTCSessionStateChangeEvent IRTCSessionStateChangeEvent;
    463 #endif
    464 
    465 #ifndef __IRTCSessionStateChangeEvent2_FWD_DEFINED__
    466 #define __IRTCSessionStateChangeEvent2_FWD_DEFINED__
    467 typedef struct IRTCSessionStateChangeEvent2 IRTCSessionStateChangeEvent2;
    468 #endif
    469 
    470 #ifndef __IRTCSessionOperationCompleteEvent_FWD_DEFINED__
    471 #define __IRTCSessionOperationCompleteEvent_FWD_DEFINED__
    472 typedef struct IRTCSessionOperationCompleteEvent IRTCSessionOperationCompleteEvent;
    473 #endif
    474 
    475 #ifndef __IRTCSessionOperationCompleteEvent2_FWD_DEFINED__
    476 #define __IRTCSessionOperationCompleteEvent2_FWD_DEFINED__
    477 typedef struct IRTCSessionOperationCompleteEvent2 IRTCSessionOperationCompleteEvent2;
    478 #endif
    479 
    480 #ifndef __IRTCParticipantStateChangeEvent_FWD_DEFINED__
    481 #define __IRTCParticipantStateChangeEvent_FWD_DEFINED__
    482 typedef struct IRTCParticipantStateChangeEvent IRTCParticipantStateChangeEvent;
    483 #endif
    484 
    485 #ifndef __IRTCMediaEvent_FWD_DEFINED__
    486 #define __IRTCMediaEvent_FWD_DEFINED__
    487 typedef struct IRTCMediaEvent IRTCMediaEvent;
    488 #endif
    489 
    490 #ifndef __IRTCIntensityEvent_FWD_DEFINED__
    491 #define __IRTCIntensityEvent_FWD_DEFINED__
    492 typedef struct IRTCIntensityEvent IRTCIntensityEvent;
    493 #endif
    494 
    495 #ifndef __IRTCMessagingEvent_FWD_DEFINED__
    496 #define __IRTCMessagingEvent_FWD_DEFINED__
    497 typedef struct IRTCMessagingEvent IRTCMessagingEvent;
    498 #endif
    499 
    500 #ifndef __IRTCBuddyEvent_FWD_DEFINED__
    501 #define __IRTCBuddyEvent_FWD_DEFINED__
    502 typedef struct IRTCBuddyEvent IRTCBuddyEvent;
    503 #endif
    504 
    505 #ifndef __IRTCBuddyEvent2_FWD_DEFINED__
    506 #define __IRTCBuddyEvent2_FWD_DEFINED__
    507 typedef struct IRTCBuddyEvent2 IRTCBuddyEvent2;
    508 #endif
    509 
    510 #ifndef __IRTCWatcherEvent_FWD_DEFINED__
    511 #define __IRTCWatcherEvent_FWD_DEFINED__
    512 typedef struct IRTCWatcherEvent IRTCWatcherEvent;
    513 #endif
    514 
    515 #ifndef __IRTCPortManager_FWD_DEFINED__
    516 #define __IRTCPortManager_FWD_DEFINED__
    517 typedef struct IRTCPortManager IRTCPortManager;
    518 #endif
    519 
    520 #ifndef __IRTCSessionPortManagement_FWD_DEFINED__
    521 #define __IRTCSessionPortManagement_FWD_DEFINED__
    522 typedef struct IRTCSessionPortManagement IRTCSessionPortManagement;
    523 #endif
    524 
    525 #ifndef __IRTCClientPortManagement_FWD_DEFINED__
    526 #define __IRTCClientPortManagement_FWD_DEFINED__
    527 typedef struct IRTCClientPortManagement IRTCClientPortManagement;
    528 #endif
    529 
    530 #ifndef __IRTCWatcherEvent2_FWD_DEFINED__
    531 #define __IRTCWatcherEvent2_FWD_DEFINED__
    532 typedef struct IRTCWatcherEvent2 IRTCWatcherEvent2;
    533 #endif
    534 
    535 #ifndef __IRTCBuddyGroupEvent_FWD_DEFINED__
    536 #define __IRTCBuddyGroupEvent_FWD_DEFINED__
    537 typedef struct IRTCBuddyGroupEvent IRTCBuddyGroupEvent;
    538 #endif
    539 
    540 #ifndef __IRTCProfileEvent_FWD_DEFINED__
    541 #define __IRTCProfileEvent_FWD_DEFINED__
    542 typedef struct IRTCProfileEvent IRTCProfileEvent;
    543 #endif
    544 
    545 #ifndef __IRTCProfileEvent2_FWD_DEFINED__
    546 #define __IRTCProfileEvent2_FWD_DEFINED__
    547 typedef struct IRTCProfileEvent2 IRTCProfileEvent2;
    548 #endif
    549 
    550 #ifndef __IRTCUserSearchResultsEvent_FWD_DEFINED__
    551 #define __IRTCUserSearchResultsEvent_FWD_DEFINED__
    552 typedef struct IRTCUserSearchResultsEvent IRTCUserSearchResultsEvent;
    553 #endif
    554 
    555 #ifndef __IRTCInfoEvent_FWD_DEFINED__
    556 #define __IRTCInfoEvent_FWD_DEFINED__
    557 typedef struct IRTCInfoEvent IRTCInfoEvent;
    558 #endif
    559 
    560 #ifndef __IRTCRoamingEvent_FWD_DEFINED__
    561 #define __IRTCRoamingEvent_FWD_DEFINED__
    562 typedef struct IRTCRoamingEvent IRTCRoamingEvent;
    563 #endif
    564 
    565 #ifndef __IRTCMediaRequestEvent_FWD_DEFINED__
    566 #define __IRTCMediaRequestEvent_FWD_DEFINED__
    567 typedef struct IRTCMediaRequestEvent IRTCMediaRequestEvent;
    568 #endif
    569 
    570 #ifndef __IRTCReInviteEvent_FWD_DEFINED__
    571 #define __IRTCReInviteEvent_FWD_DEFINED__
    572 typedef struct IRTCReInviteEvent IRTCReInviteEvent;
    573 #endif
    574 
    575 #ifndef __IRTCPresencePropertyEvent_FWD_DEFINED__
    576 #define __IRTCPresencePropertyEvent_FWD_DEFINED__
    577 typedef struct IRTCPresencePropertyEvent IRTCPresencePropertyEvent;
    578 #endif
    579 
    580 #ifndef __IRTCPresenceDataEvent_FWD_DEFINED__
    581 #define __IRTCPresenceDataEvent_FWD_DEFINED__
    582 typedef struct IRTCPresenceDataEvent IRTCPresenceDataEvent;
    583 #endif
    584 
    585 #ifndef __IRTCPresenceStatusEvent_FWD_DEFINED__
    586 #define __IRTCPresenceStatusEvent_FWD_DEFINED__
    587 typedef struct IRTCPresenceStatusEvent IRTCPresenceStatusEvent;
    588 #endif
    589 
    590 #ifndef __IRTCSessionReferStatusEvent_FWD_DEFINED__
    591 #define __IRTCSessionReferStatusEvent_FWD_DEFINED__
    592 typedef struct IRTCSessionReferStatusEvent IRTCSessionReferStatusEvent;
    593 #endif
    594 
    595 #ifndef __IRTCSessionReferredEvent_FWD_DEFINED__
    596 #define __IRTCSessionReferredEvent_FWD_DEFINED__
    597 typedef struct IRTCSessionReferredEvent IRTCSessionReferredEvent;
    598 #endif
    599 
    600 #ifndef __IRTCSessionDescriptionManager_FWD_DEFINED__
    601 #define __IRTCSessionDescriptionManager_FWD_DEFINED__
    602 typedef struct IRTCSessionDescriptionManager IRTCSessionDescriptionManager;
    603 #endif
    604 
    605 #ifndef __IRTCEnumPresenceDevices_FWD_DEFINED__
    606 #define __IRTCEnumPresenceDevices_FWD_DEFINED__
    607 typedef struct IRTCEnumPresenceDevices IRTCEnumPresenceDevices;
    608 #endif
    609 
    610 #ifndef __IRTCPresenceDevice_FWD_DEFINED__
    611 #define __IRTCPresenceDevice_FWD_DEFINED__
    612 typedef struct IRTCPresenceDevice IRTCPresenceDevice;
    613 #endif
    614 
    615 #ifndef __IRTCDispatchEventNotification_FWD_DEFINED__
    616 #define __IRTCDispatchEventNotification_FWD_DEFINED__
    617 typedef struct IRTCDispatchEventNotification IRTCDispatchEventNotification;
    618 #endif
    619 
    620 #ifndef __RTCClient_FWD_DEFINED__
    621 #define __RTCClient_FWD_DEFINED__
    622 #ifdef __cplusplus
    623 typedef class RTCClient RTCClient;
    624 #else
    625 typedef struct RTCClient RTCClient;
    626 #endif
    627 #endif
    628 
    629 #include "oaidl.h"
    630 #include "ocidl.h"
    631 #include "control.h"
    632 #ifdef __cplusplus
    633 extern "C" {
    634 #endif
    635 
    636 #ifndef __MIDL_user_allocate_free_DEFINED__
    637 #define __MIDL_user_allocate_free_DEFINED__
    638   void *__RPC_API MIDL_user_allocate(size_t);
    639   void __RPC_API MIDL_user_free(void *);
    640 #endif
    641 
    642   typedef enum RTC_AUDIO_DEVICE {
    643     RTCAD_SPEAKER = 0,RTCAD_MICROPHONE = RTCAD_SPEAKER + 1
    644   } RTC_AUDIO_DEVICE;
    645 
    646   typedef enum RTC_VIDEO_DEVICE {
    647     RTCVD_RECEIVE = 0,RTCVD_PREVIEW = RTCVD_RECEIVE + 1
    648   } RTC_VIDEO_DEVICE;
    649 
    650   typedef enum RTC_EVENT {
    651     RTCE_CLIENT = 0,
    652     RTCE_REGISTRATION_STATE_CHANGE,RTCE_SESSION_STATE_CHANGE,RTCE_SESSION_OPERATION_COMPLETE,
    653     RTCE_PARTICIPANT_STATE_CHANGE,RTCE_MEDIA,RTCE_INTENSITY,RTCE_MESSAGING,RTCE_BUDDY,
    654     RTCE_WATCHER,RTCE_PROFILE,RTCE_USERSEARCH,RTCE_INFO,RTCE_GROUP,RTCE_MEDIA_REQUEST,
    655     RTCE_ROAMING,RTCE_PRESENCE_PROPERTY,RTCE_PRESENCE_DATA,
    656     RTCE_PRESENCE_STATUS,RTCE_SESSION_REFER_STATUS,RTCE_SESSION_REFERRED,RTCE_REINVITE
    657   } RTC_EVENT;
    658 
    659   typedef enum RTC_LISTEN_MODE {
    660     RTCLM_NONE = 0,
    661     RTCLM_DYNAMIC,RTCLM_BOTH
    662   } RTC_LISTEN_MODE;
    663 
    664   typedef enum RTC_CLIENT_EVENT_TYPE {
    665     RTCCET_VOLUME_CHANGE = 0,
    666     RTCCET_DEVICE_CHANGE,RTCCET_NETWORK_QUALITY_CHANGE,RTCCET_ASYNC_CLEANUP_DONE
    667   } RTC_CLIENT_EVENT_TYPE;
    668 
    669   typedef enum RTC_BUDDY_EVENT_TYPE {
    670     RTCBET_BUDDY_ADD = 0,
    671     RTCBET_BUDDY_REMOVE,RTCBET_BUDDY_UPDATE,RTCBET_BUDDY_STATE_CHANGE,
    672     RTCBET_BUDDY_ROAMED,RTCBET_BUDDY_SUBSCRIBED
    673   } RTC_BUDDY_EVENT_TYPE;
    674 
    675   typedef enum RTC_WATCHER_EVENT_TYPE {
    676     RTCWET_WATCHER_ADD = 0,
    677     RTCWET_WATCHER_REMOVE,RTCWET_WATCHER_UPDATE,RTCWET_WATCHER_OFFERING,
    678     RTCWET_WATCHER_ROAMED
    679   } RTC_WATCHER_EVENT_TYPE;
    680 
    681   typedef enum RTC_GROUP_EVENT_TYPE {
    682     RTCGET_GROUP_ADD = 0,
    683     RTCGET_GROUP_REMOVE,RTCGET_GROUP_UPDATE,RTCGET_GROUP_BUDDY_ADD,
    684     RTCGET_GROUP_BUDDY_REMOVE,RTCGET_GROUP_ROAMED
    685   } RTC_GROUP_EVENT_TYPE;
    686 
    687   typedef enum RTC_TERMINATE_REASON {
    688     RTCTR_NORMAL = 0,
    689     RTCTR_DND,RTCTR_BUSY,RTCTR_REJECT,RTCTR_TIMEOUT,RTCTR_SHUTDOWN,
    690     RTCTR_INSUFFICIENT_SECURITY_LEVEL,RTCTR_NOT_SUPPORTED
    691   } RTC_TERMINATE_REASON;
    692 
    693   typedef enum RTC_REGISTRATION_STATE {
    694     RTCRS_NOT_REGISTERED = 0,
    695     RTCRS_REGISTERING,RTCRS_REGISTERED,RTCRS_REJECTED,RTCRS_UNREGISTERING,RTCRS_ERROR,
    696     RTCRS_LOGGED_OFF,RTCRS_LOCAL_PA_LOGGED_OFF,RTCRS_REMOTE_PA_LOGGED_OFF
    697   } RTC_REGISTRATION_STATE;
    698 
    699   typedef enum RTC_SESSION_STATE {
    700     RTCSS_IDLE = 0,
    701     RTCSS_INCOMING,RTCSS_ANSWERING,RTCSS_INPROGRESS,RTCSS_CONNECTED,RTCSS_DISCONNECTED,
    702     RTCSS_HOLD,RTCSS_REFER
    703   } RTC_SESSION_STATE;
    704 
    705   typedef enum RTC_PARTICIPANT_STATE {
    706     RTCPS_IDLE = 0,
    707     RTCPS_PENDING,RTCPS_INCOMING,RTCPS_ANSWERING,RTCPS_INPROGRESS,RTCPS_ALERTING,
    708     RTCPS_CONNECTED,RTCPS_DISCONNECTING,RTCPS_DISCONNECTED
    709   } RTC_PARTICIPANT_STATE;
    710 
    711   typedef enum RTC_WATCHER_STATE {
    712     RTCWS_UNKNOWN = 0,
    713     RTCWS_OFFERING,RTCWS_ALLOWED,RTCWS_BLOCKED,RTCWS_DENIED,RTCWS_PROMPT
    714   } RTC_WATCHER_STATE;
    715 
    716   typedef enum RTC_ACE_SCOPE {
    717     RTCAS_SCOPE_USER = 0,
    718     RTCAS_SCOPE_DOMAIN,RTCAS_SCOPE_ALL
    719   } RTC_ACE_SCOPE;
    720 
    721   typedef enum RTC_OFFER_WATCHER_MODE {
    722     RTCOWM_OFFER_WATCHER_EVENT = 0,RTCOWM_AUTOMATICALLY_ADD_WATCHER = RTCOWM_OFFER_WATCHER_EVENT + 1
    723   } RTC_OFFER_WATCHER_MODE;
    724 
    725   typedef enum RTC_WATCHER_MATCH_MODE {
    726     RTCWMM_EXACT_MATCH = 0,RTCWMM_BEST_ACE_MATCH = RTCWMM_EXACT_MATCH + 1
    727   } RTC_WATCHER_MATCH_MODE;
    728 
    729   typedef enum RTC_PRIVACY_MODE {
    730     RTCPM_BLOCK_LIST_EXCLUDED = 0,RTCPM_ALLOW_LIST_ONLY = RTCPM_BLOCK_LIST_EXCLUDED + 1
    731   } RTC_PRIVACY_MODE;
    732 
    733   typedef enum RTC_SESSION_TYPE {
    734     RTCST_PC_TO_PC = 0,
    735     RTCST_PC_TO_PHONE,RTCST_PHONE_TO_PHONE,RTCST_IM,RTCST_MULTIPARTY_IM,RTCST_APPLICATION
    736   } RTC_SESSION_TYPE;
    737 
    738   typedef enum RTC_PRESENCE_STATUS {
    739     RTCXS_PRESENCE_OFFLINE = 0,
    740     RTCXS_PRESENCE_ONLINE,RTCXS_PRESENCE_AWAY,RTCXS_PRESENCE_IDLE,RTCXS_PRESENCE_BUSY,
    741     RTCXS_PRESENCE_BE_RIGHT_BACK,RTCXS_PRESENCE_ON_THE_PHONE,RTCXS_PRESENCE_OUT_TO_LUNCH
    742   } RTC_PRESENCE_STATUS;
    743 
    744   typedef enum RTC_BUDDY_SUBSCRIPTION_TYPE {
    745     RTCBT_SUBSCRIBED = 0,
    746     RTCBT_ALWAYS_OFFLINE,RTCBT_ALWAYS_ONLINE,RTCBT_POLL
    747   } RTC_BUDDY_SUBSCRIPTION_TYPE;
    748 
    749   typedef enum RTC_MEDIA_EVENT_TYPE {
    750     RTCMET_STOPPED = 0,
    751     RTCMET_STARTED,RTCMET_FAILED
    752   } RTC_MEDIA_EVENT_TYPE;
    753 
    754   typedef enum RTC_MEDIA_EVENT_REASON {
    755     RTCMER_NORMAL = 0,
    756     RTCMER_HOLD,RTCMER_TIMEOUT,RTCMER_BAD_DEVICE,RTCMER_NO_PORT,RTCMER_PORT_MAPPING_FAILED,
    757     RTCMER_REMOTE_REQUEST
    758   } RTC_MEDIA_EVENT_REASON;
    759 
    760   typedef enum RTC_MESSAGING_EVENT_TYPE {
    761     RTCMSET_MESSAGE = 0,RTCMSET_STATUS = RTCMSET_MESSAGE + 1
    762   } RTC_MESSAGING_EVENT_TYPE;
    763 
    764   typedef enum RTC_MESSAGING_USER_STATUS {
    765     RTCMUS_IDLE = 0,
    766     RTCMUS_TYPING
    767   } RTC_MESSAGING_USER_STATUS;
    768 
    769   typedef enum RTC_DTMF {
    770     RTC_DTMF_0 = 0,
    771     RTC_DTMF_1,RTC_DTMF_2,RTC_DTMF_3,RTC_DTMF_4,RTC_DTMF_5,RTC_DTMF_6,RTC_DTMF_7,RTC_DTMF_8,RTC_DTMF_9,
    772     RTC_DTMF_STAR,RTC_DTMF_POUND,RTC_DTMF_A,RTC_DTMF_B,RTC_DTMF_C,RTC_DTMF_D,RTC_DTMF_FLASH
    773   } RTC_DTMF;
    774 
    775   typedef enum RTC_PROVIDER_URI {
    776     RTCPU_URIHOMEPAGE = 0,
    777     RTCPU_URIHELPDESK,RTCPU_URIPERSONALACCOUNT,RTCPU_URIDISPLAYDURINGCALL,
    778     RTCPU_URIDISPLAYDURINGIDLE
    779   } RTC_PROVIDER_URI;
    780 
    781   typedef enum RTC_RING_TYPE {
    782     RTCRT_PHONE = 0,
    783     RTCRT_MESSAGE,RTCRT_RINGBACK
    784   } RTC_RING_TYPE;
    785 
    786   typedef enum RTC_T120_APPLET {
    787     RTCTA_WHITEBOARD = 0,
    788     RTCTA_APPSHARING
    789   } RTC_T120_APPLET;
    790 
    791   typedef enum RTC_PORT_TYPE {
    792     RTCPT_AUDIO_RTP = 0,
    793     RTCPT_AUDIO_RTCP,RTCPT_VIDEO_RTP,RTCPT_VIDEO_RTCP,RTCPT_SIP
    794   } RTC_PORT_TYPE;
    795 
    796   typedef enum RTC_USER_SEARCH_COLUMN {
    797     RTCUSC_URI = 0,
    798     RTCUSC_DISPLAYNAME,RTCUSC_TITLE,RTCUSC_OFFICE,RTCUSC_PHONE,RTCUSC_COMPANY,RTCUSC_CITY,
    799     RTCUSC_STATE,RTCUSC_COUNTRY,RTCUSC_EMAIL
    800   } RTC_USER_SEARCH_COLUMN;
    801 
    802   typedef enum RTC_USER_SEARCH_PREFERENCE {
    803     RTCUSP_MAX_MATCHES = 0,
    804     RTCUSP_TIME_LIMIT
    805   } RTC_USER_SEARCH_PREFERENCE;
    806 
    807   typedef enum RTC_ROAMING_EVENT_TYPE {
    808     RTCRET_BUDDY_ROAMING = 0,
    809     RTCRET_WATCHER_ROAMING,RTCRET_PRESENCE_ROAMING,RTCRET_PROFILE_ROAMING,
    810     RTCRET_WPENDING_ROAMING
    811   } RTC_ROAMING_EVENT_TYPE;
    812 
    813   typedef enum RTC_PROFILE_EVENT_TYPE {
    814     RTCPFET_PROFILE_GET = 0,
    815     RTCPFET_PROFILE_UPDATE
    816   } RTC_PROFILE_EVENT_TYPE;
    817 
    818   typedef enum RTC_ANSWER_MODE {
    819     RTCAM_OFFER_SESSION_EVENT = 0,
    820     RTCAM_AUTOMATICALLY_ACCEPT,RTCAM_AUTOMATICALLY_REJECT,RTCAM_NOT_SUPPORTED
    821   } RTC_ANSWER_MODE;
    822 
    823   typedef enum RTC_SESSION_REFER_STATUS {
    824     RTCSRS_REFERRING = 0,
    825     RTCSRS_ACCEPTED,RTCSRS_ERROR,RTCSRS_REJECTED,RTCSRS_DROPPED,RTCSRS_DONE
    826   } RTC_SESSION_REFER_STATUS;
    827 
    828   typedef enum RTC_PRESENCE_PROPERTY {
    829     RTCPP_PHONENUMBER = 0,
    830     RTCPP_DISPLAYNAME,RTCPP_EMAIL,RTCPP_DEVICE_NAME,RTCPP_MULTIPLE
    831   } RTC_PRESENCE_PROPERTY;
    832 
    833   typedef enum RTC_SECURITY_TYPE {
    834     RTCSECT_AUDIO_VIDEO_MEDIA_ENCRYPTION = 0,
    835     RTCSECT_T120_MEDIA_ENCRYPTION
    836   } RTC_SECURITY_TYPE;
    837 
    838   typedef enum RTC_SECURITY_LEVEL {
    839     RTCSECL_UNSUPPORTED = 1,
    840     RTCSECL_SUPPORTED,RTCSECL_REQUIRED
    841   } RTC_SECURITY_LEVEL;
    842 
    843   typedef enum RTC_REINVITE_STATE {
    844     RTCRIN_INCOMING = 0,
    845     RTCRIN_SUCCEEDED,RTCRIN_FAIL
    846   } RTC_REINVITE_STATE;
    847 
    848 #define RTCCS_FORCE_PROFILE 0x00000001
    849 #define RTCCS_FAIL_ON_REDIRECT 0x00000002
    850 #define RTCMT_AUDIO_SEND 0x00000001
    851 #define RTCMT_AUDIO_RECEIVE 0x00000002
    852 #define RTCMT_VIDEO_SEND 0x00000004
    853 #define RTCMT_VIDEO_RECEIVE 0x00000008
    854 #define RTCMT_T120_SENDRECV 0x00000010
    855 #define RTCMT_ALL_RTP (RTCMT_AUDIO_SEND | RTCMT_AUDIO_RECEIVE | RTCMT_VIDEO_SEND | RTCMT_VIDEO_RECEIVE)
    856 #define RTCMT_ALL (RTCMT_ALL_RTP | RTCMT_T120_SENDRECV)
    857 #define RTCSI_PC_TO_PC 0x00000001
    858 #define RTCSI_PC_TO_PHONE 0x00000002
    859 #define RTCSI_PHONE_TO_PHONE 0x00000004
    860 #define RTCSI_IM 0x00000008
    861 #define RTCSI_MULTIPARTY_IM 0x00000010
    862 #define RTCSI_APPLICATION 0x00000020
    863 #define RTCTR_UDP 0x00000001
    864 #define RTCTR_TCP 0x00000002
    865 #define RTCTR_TLS 0x00000004
    866 #define RTCAU_BASIC 0x00000001
    867 #define RTCAU_DIGEST 0x00000002
    868 #define RTCAU_NTLM 0x00000004
    869 #define RTCAU_KERBEROS 0x00000008
    870 #define RTCAU_USE_LOGON_CRED 0x00010000
    871 #define RTCRF_REGISTER_INVITE_SESSIONS 0x00000001
    872 #define RTCRF_REGISTER_MESSAGE_SESSIONS 0x00000002
    873 #define RTCRF_REGISTER_PRESENCE 0x00000004
    874 #define RTCRF_REGISTER_NOTIFY 0x00000008
    875 #define RTCRF_REGISTER_ALL 0x0000000F
    876 #define RTCRMF_BUDDY_ROAMING 0x00000001
    877 #define RTCRMF_WATCHER_ROAMING 0x00000002
    878 #define RTCRMF_PRESENCE_ROAMING 0x00000004
    879 #define RTCRMF_PROFILE_ROAMING 0x00000008
    880 #define RTCRMF_ALL_ROAMING 0x0000000F
    881 #define RTCEF_CLIENT 0x00000001
    882 #define RTCEF_REGISTRATION_STATE_CHANGE 0x00000002
    883 #define RTCEF_SESSION_STATE_CHANGE 0x00000004
    884 #define RTCEF_SESSION_OPERATION_COMPLETE 0x00000008
    885 #define RTCEF_PARTICIPANT_STATE_CHANGE 0x00000010
    886 #define RTCEF_MEDIA 0x00000020
    887 #define RTCEF_INTENSITY 0x00000040
    888 #define RTCEF_MESSAGING 0x00000080
    889 #define RTCEF_BUDDY 0x00000100
    890 #define RTCEF_WATCHER 0x00000200
    891 #define RTCEF_PROFILE 0x00000400
    892 #define RTCEF_USERSEARCH 0x00000800
    893 #define RTCEF_INFO 0x00001000
    894 #define RTCEF_GROUP 0x00002000
    895 #define RTCEF_MEDIA_REQUEST 0x00004000
    896 #define RTCEF_ROAMING 0x00010000
    897 #define RTCEF_PRESENCE_PROPERTY 0x00020000
    898 #define RTCEF_BUDDY2 0x00040000
    899 #define RTCEF_WATCHER2 0x00080000
    900 #define RTCEF_SESSION_REFER_STATUS 0x00100000
    901 #define RTCEF_SESSION_REFERRED 0x00200000
    902 #define RTCEF_REINVITE 0x00400000
    903 #define RTCEF_PRESENCE_DATA 0x00800000
    904 #define RTCEF_PRESENCE_STATUS 0x01000000
    905 #define RTCEF_ALL 0x01FFFFFF
    906 #define RTCIF_DISABLE_MEDIA 0x00000001
    907 #define RTCIF_DISABLE_UPNP 0x00000002
    908 #define RTCIF_ENABLE_SERVER_CLASS 0x00000004
    909 #define RTCIF_DISABLE_STRICT_DNS 0x00000008
    910 
    911   extern RPC_IF_HANDLE __MIDL_itf_rtccore_0000_v0_0_c_ifspec;
    912   extern RPC_IF_HANDLE __MIDL_itf_rtccore_0000_v0_0_s_ifspec;
    913 
    914 #ifndef __IRTCClient_INTERFACE_DEFINED__
    915 #define __IRTCClient_INTERFACE_DEFINED__
    916   EXTERN_C const IID IID_IRTCClient;
    917 #if defined(__cplusplus) && !defined(CINTERFACE)
    918   struct IRTCClient : public IUnknown {
    919   public:
    920     virtual HRESULT WINAPI Initialize(void) = 0;
    921     virtual HRESULT WINAPI Shutdown(void) = 0;
    922     virtual HRESULT WINAPI PrepareForShutdown(void) = 0;
    923     virtual HRESULT WINAPI put_EventFilter(__LONG32 lFilter) = 0;
    924     virtual HRESULT WINAPI get_EventFilter(__LONG32 *plFilter) = 0;
    925     virtual HRESULT WINAPI SetPreferredMediaTypes(__LONG32 lMediaTypes,VARIANT_BOOL fPersistent) = 0;
    926     virtual HRESULT WINAPI get_PreferredMediaTypes(__LONG32 *plMediaTypes) = 0;
    927     virtual HRESULT WINAPI get_MediaCapabilities(__LONG32 *plMediaTypes) = 0;
    928     virtual HRESULT WINAPI CreateSession(RTC_SESSION_TYPE enType,BSTR bstrLocalPhoneURI,IRTCProfile *pProfile,__LONG32 lFlags,IRTCSession **ppSession) = 0;
    929     virtual HRESULT WINAPI put_ListenForIncomingSessions(RTC_LISTEN_MODE enListen) = 0;
    930     virtual HRESULT WINAPI get_ListenForIncomingSessions(RTC_LISTEN_MODE *penListen) = 0;
    931     virtual HRESULT WINAPI get_NetworkAddresses(VARIANT_BOOL fTCP,VARIANT_BOOL fExternal,VARIANT *pvAddresses) = 0;
    932     virtual HRESULT WINAPI put_Volume(RTC_AUDIO_DEVICE enDevice,__LONG32 lVolume) = 0;
    933     virtual HRESULT WINAPI get_Volume(RTC_AUDIO_DEVICE enDevice,__LONG32 *plVolume) = 0;
    934     virtual HRESULT WINAPI put_AudioMuted(RTC_AUDIO_DEVICE enDevice,VARIANT_BOOL fMuted) = 0;
    935     virtual HRESULT WINAPI get_AudioMuted(RTC_AUDIO_DEVICE enDevice,VARIANT_BOOL *pfMuted) = 0;
    936     virtual HRESULT WINAPI get_IVideoWindow(RTC_VIDEO_DEVICE enDevice,IVideoWindow **ppIVideoWindow) = 0;
    937     virtual HRESULT WINAPI put_PreferredAudioDevice(RTC_AUDIO_DEVICE enDevice,BSTR bstrDeviceName) = 0;
    938     virtual HRESULT WINAPI get_PreferredAudioDevice(RTC_AUDIO_DEVICE enDevice,BSTR *pbstrDeviceName) = 0;
    939     virtual HRESULT WINAPI put_PreferredVolume(RTC_AUDIO_DEVICE enDevice,__LONG32 lVolume) = 0;
    940     virtual HRESULT WINAPI get_PreferredVolume(RTC_AUDIO_DEVICE enDevice,__LONG32 *plVolume) = 0;
    941     virtual HRESULT WINAPI put_PreferredAEC(VARIANT_BOOL bEnable) = 0;
    942     virtual HRESULT WINAPI get_PreferredAEC(VARIANT_BOOL *pbEnabled) = 0;
    943     virtual HRESULT WINAPI put_PreferredVideoDevice(BSTR bstrDeviceName) = 0;
    944     virtual HRESULT WINAPI get_PreferredVideoDevice(BSTR *pbstrDeviceName) = 0;
    945     virtual HRESULT WINAPI get_ActiveMedia(__LONG32 *plMediaType) = 0;
    946     virtual HRESULT WINAPI put_MaxBitrate(__LONG32 lMaxBitrate) = 0;
    947     virtual HRESULT WINAPI get_MaxBitrate(__LONG32 *plMaxBitrate) = 0;
    948     virtual HRESULT WINAPI put_TemporalSpatialTradeOff(__LONG32 lValue) = 0;
    949     virtual HRESULT WINAPI get_TemporalSpatialTradeOff(__LONG32 *plValue) = 0;
    950     virtual HRESULT WINAPI get_NetworkQuality(__LONG32 *plNetworkQuality) = 0;
    951     virtual HRESULT WINAPI StartT120Applet(RTC_T120_APPLET enApplet) = 0;
    952     virtual HRESULT WINAPI StopT120Applets(void) = 0;
    953     virtual HRESULT WINAPI get_IsT120AppletRunning(RTC_T120_APPLET enApplet,VARIANT_BOOL *pfRunning) = 0;
    954     virtual HRESULT WINAPI get_LocalUserURI(BSTR *pbstrUserURI) = 0;
    955     virtual HRESULT WINAPI put_LocalUserURI(BSTR bstrUserURI) = 0;
    956     virtual HRESULT WINAPI get_LocalUserName(BSTR *pbstrUserName) = 0;
    957     virtual HRESULT WINAPI put_LocalUserName(BSTR bstrUserName) = 0;
    958     virtual HRESULT WINAPI PlayRing(RTC_RING_TYPE enType,VARIANT_BOOL bPlay) = 0;
    959     virtual HRESULT WINAPI SendDTMF(RTC_DTMF enDTMF) = 0;
    960     virtual HRESULT WINAPI InvokeTuningWizard(OAHWND hwndParent) = 0;
    961     virtual HRESULT WINAPI get_IsTuned(VARIANT_BOOL *pfTuned) = 0;
    962   };
    963 #else
    964   typedef struct IRTCClientVtbl {
    965     BEGIN_INTERFACE
    966       HRESULT (WINAPI *QueryInterface)(IRTCClient *This,REFIID riid,void **ppvObject);
    967       ULONG (WINAPI *AddRef)(IRTCClient *This);
    968       ULONG (WINAPI *Release)(IRTCClient *This);
    969       HRESULT (WINAPI *Initialize)(IRTCClient *This);
    970       HRESULT (WINAPI *Shutdown)(IRTCClient *This);
    971       HRESULT (WINAPI *PrepareForShutdown)(IRTCClient *This);
    972       HRESULT (WINAPI *put_EventFilter)(IRTCClient *This,__LONG32 lFilter);
    973       HRESULT (WINAPI *get_EventFilter)(IRTCClient *This,__LONG32 *plFilter);
    974       HRESULT (WINAPI *SetPreferredMediaTypes)(IRTCClient *This,__LONG32 lMediaTypes,VARIANT_BOOL fPersistent);
    975       HRESULT (WINAPI *get_PreferredMediaTypes)(IRTCClient *This,__LONG32 *plMediaTypes);
    976       HRESULT (WINAPI *get_MediaCapabilities)(IRTCClient *This,__LONG32 *plMediaTypes);
    977       HRESULT (WINAPI *CreateSession)(IRTCClient *This,RTC_SESSION_TYPE enType,BSTR bstrLocalPhoneURI,IRTCProfile *pProfile,__LONG32 lFlags,IRTCSession **ppSession);
    978       HRESULT (WINAPI *put_ListenForIncomingSessions)(IRTCClient *This,RTC_LISTEN_MODE enListen);
    979       HRESULT (WINAPI *get_ListenForIncomingSessions)(IRTCClient *This,RTC_LISTEN_MODE *penListen);
    980       HRESULT (WINAPI *get_NetworkAddresses)(IRTCClient *This,VARIANT_BOOL fTCP,VARIANT_BOOL fExternal,VARIANT *pvAddresses);
    981       HRESULT (WINAPI *put_Volume)(IRTCClient *This,RTC_AUDIO_DEVICE enDevice,__LONG32 lVolume);
    982       HRESULT (WINAPI *get_Volume)(IRTCClient *This,RTC_AUDIO_DEVICE enDevice,__LONG32 *plVolume);
    983       HRESULT (WINAPI *put_AudioMuted)(IRTCClient *This,RTC_AUDIO_DEVICE enDevice,VARIANT_BOOL fMuted);
    984       HRESULT (WINAPI *get_AudioMuted)(IRTCClient *This,RTC_AUDIO_DEVICE enDevice,VARIANT_BOOL *pfMuted);
    985       HRESULT (WINAPI *get_IVideoWindow)(IRTCClient *This,RTC_VIDEO_DEVICE enDevice,IVideoWindow **ppIVideoWindow);
    986       HRESULT (WINAPI *put_PreferredAudioDevice)(IRTCClient *This,RTC_AUDIO_DEVICE enDevice,BSTR bstrDeviceName);
    987       HRESULT (WINAPI *get_PreferredAudioDevice)(IRTCClient *This,RTC_AUDIO_DEVICE enDevice,BSTR *pbstrDeviceName);
    988       HRESULT (WINAPI *put_PreferredVolume)(IRTCClient *This,RTC_AUDIO_DEVICE enDevice,__LONG32 lVolume);
    989       HRESULT (WINAPI *get_PreferredVolume)(IRTCClient *This,RTC_AUDIO_DEVICE enDevice,__LONG32 *plVolume);
    990       HRESULT (WINAPI *put_PreferredAEC)(IRTCClient *This,VARIANT_BOOL bEnable);
    991       HRESULT (WINAPI *get_PreferredAEC)(IRTCClient *This,VARIANT_BOOL *pbEnabled);
    992       HRESULT (WINAPI *put_PreferredVideoDevice)(IRTCClient *This,BSTR bstrDeviceName);
    993       HRESULT (WINAPI *get_PreferredVideoDevice)(IRTCClient *This,BSTR *pbstrDeviceName);
    994       HRESULT (WINAPI *get_ActiveMedia)(IRTCClient *This,__LONG32 *plMediaType);
    995       HRESULT (WINAPI *put_MaxBitrate)(IRTCClient *This,__LONG32 lMaxBitrate);
    996       HRESULT (WINAPI *get_MaxBitrate)(IRTCClient *This,__LONG32 *plMaxBitrate);
    997       HRESULT (WINAPI *put_TemporalSpatialTradeOff)(IRTCClient *This,__LONG32 lValue);
    998       HRESULT (WINAPI *get_TemporalSpatialTradeOff)(IRTCClient *This,__LONG32 *plValue);
    999       HRESULT (WINAPI *get_NetworkQuality)(IRTCClient *This,__LONG32 *plNetworkQuality);
   1000       HRESULT (WINAPI *StartT120Applet)(IRTCClient *This,RTC_T120_APPLET enApplet);
   1001       HRESULT (WINAPI *StopT120Applets)(IRTCClient *This);
   1002       HRESULT (WINAPI *get_IsT120AppletRunning)(IRTCClient *This,RTC_T120_APPLET enApplet,VARIANT_BOOL *pfRunning);
   1003       HRESULT (WINAPI *get_LocalUserURI)(IRTCClient *This,BSTR *pbstrUserURI);
   1004       HRESULT (WINAPI *put_LocalUserURI)(IRTCClient *This,BSTR bstrUserURI);
   1005       HRESULT (WINAPI *get_LocalUserName)(IRTCClient *This,BSTR *pbstrUserName);
   1006       HRESULT (WINAPI *put_LocalUserName)(IRTCClient *This,BSTR bstrUserName);
   1007       HRESULT (WINAPI *PlayRing)(IRTCClient *This,RTC_RING_TYPE enType,VARIANT_BOOL bPlay);
   1008       HRESULT (WINAPI *SendDTMF)(IRTCClient *This,RTC_DTMF enDTMF);
   1009       HRESULT (WINAPI *InvokeTuningWizard)(IRTCClient *This,OAHWND hwndParent);
   1010       HRESULT (WINAPI *get_IsTuned)(IRTCClient *This,VARIANT_BOOL *pfTuned);
   1011     END_INTERFACE
   1012   } IRTCClientVtbl;
   1013   struct IRTCClient {
   1014     CONST_VTBL struct IRTCClientVtbl *lpVtbl;
   1015   };
   1016 #ifdef COBJMACROS
   1017 #define IRTCClient_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1018 #define IRTCClient_AddRef(This) (This)->lpVtbl->AddRef(This)
   1019 #define IRTCClient_Release(This) (This)->lpVtbl->Release(This)
   1020 #define IRTCClient_Initialize(This) (This)->lpVtbl->Initialize(This)
   1021 #define IRTCClient_Shutdown(This) (This)->lpVtbl->Shutdown(This)
   1022 #define IRTCClient_PrepareForShutdown(This) (This)->lpVtbl->PrepareForShutdown(This)
   1023 #define IRTCClient_put_EventFilter(This,lFilter) (This)->lpVtbl->put_EventFilter(This,lFilter)
   1024 #define IRTCClient_get_EventFilter(This,plFilter) (This)->lpVtbl->get_EventFilter(This,plFilter)
   1025 #define IRTCClient_SetPreferredMediaTypes(This,lMediaTypes,fPersistent) (This)->lpVtbl->SetPreferredMediaTypes(This,lMediaTypes,fPersistent)
   1026 #define IRTCClient_get_PreferredMediaTypes(This,plMediaTypes) (This)->lpVtbl->get_PreferredMediaTypes(This,plMediaTypes)
   1027 #define IRTCClient_get_MediaCapabilities(This,plMediaTypes) (This)->lpVtbl->get_MediaCapabilities(This,plMediaTypes)
   1028 #define IRTCClient_CreateSession(This,enType,bstrLocalPhoneURI,pProfile,lFlags,ppSession) (This)->lpVtbl->CreateSession(This,enType,bstrLocalPhoneURI,pProfile,lFlags,ppSession)
   1029 #define IRTCClient_put_ListenForIncomingSessions(This,enListen) (This)->lpVtbl->put_ListenForIncomingSessions(This,enListen)
   1030 #define IRTCClient_get_ListenForIncomingSessions(This,penListen) (This)->lpVtbl->get_ListenForIncomingSessions(This,penListen)
   1031 #define IRTCClient_get_NetworkAddresses(This,fTCP,fExternal,pvAddresses) (This)->lpVtbl->get_NetworkAddresses(This,fTCP,fExternal,pvAddresses)
   1032 #define IRTCClient_put_Volume(This,enDevice,lVolume) (This)->lpVtbl->put_Volume(This,enDevice,lVolume)
   1033 #define IRTCClient_get_Volume(This,enDevice,plVolume) (This)->lpVtbl->get_Volume(This,enDevice,plVolume)
   1034 #define IRTCClient_put_AudioMuted(This,enDevice,fMuted) (This)->lpVtbl->put_AudioMuted(This,enDevice,fMuted)
   1035 #define IRTCClient_get_AudioMuted(This,enDevice,pfMuted) (This)->lpVtbl->get_AudioMuted(This,enDevice,pfMuted)
   1036 #define IRTCClient_get_IVideoWindow(This,enDevice,ppIVideoWindow) (This)->lpVtbl->get_IVideoWindow(This,enDevice,ppIVideoWindow)
   1037 #define IRTCClient_put_PreferredAudioDevice(This,enDevice,bstrDeviceName) (This)->lpVtbl->put_PreferredAudioDevice(This,enDevice,bstrDeviceName)
   1038 #define IRTCClient_get_PreferredAudioDevice(This,enDevice,pbstrDeviceName) (This)->lpVtbl->get_PreferredAudioDevice(This,enDevice,pbstrDeviceName)
   1039 #define IRTCClient_put_PreferredVolume(This,enDevice,lVolume) (This)->lpVtbl->put_PreferredVolume(This,enDevice,lVolume)
   1040 #define IRTCClient_get_PreferredVolume(This,enDevice,plVolume) (This)->lpVtbl->get_PreferredVolume(This,enDevice,plVolume)
   1041 #define IRTCClient_put_PreferredAEC(This,bEnable) (This)->lpVtbl->put_PreferredAEC(This,bEnable)
   1042 #define IRTCClient_get_PreferredAEC(This,pbEnabled) (This)->lpVtbl->get_PreferredAEC(This,pbEnabled)
   1043 #define IRTCClient_put_PreferredVideoDevice(This,bstrDeviceName) (This)->lpVtbl->put_PreferredVideoDevice(This,bstrDeviceName)
   1044 #define IRTCClient_get_PreferredVideoDevice(This,pbstrDeviceName) (This)->lpVtbl->get_PreferredVideoDevice(This,pbstrDeviceName)
   1045 #define IRTCClient_get_ActiveMedia(This,plMediaType) (This)->lpVtbl->get_ActiveMedia(This,plMediaType)
   1046 #define IRTCClient_put_MaxBitrate(This,lMaxBitrate) (This)->lpVtbl->put_MaxBitrate(This,lMaxBitrate)
   1047 #define IRTCClient_get_MaxBitrate(This,plMaxBitrate) (This)->lpVtbl->get_MaxBitrate(This,plMaxBitrate)
   1048 #define IRTCClient_put_TemporalSpatialTradeOff(This,lValue) (This)->lpVtbl->put_TemporalSpatialTradeOff(This,lValue)
   1049 #define IRTCClient_get_TemporalSpatialTradeOff(This,plValue) (This)->lpVtbl->get_TemporalSpatialTradeOff(This,plValue)
   1050 #define IRTCClient_get_NetworkQuality(This,plNetworkQuality) (This)->lpVtbl->get_NetworkQuality(This,plNetworkQuality)
   1051 #define IRTCClient_StartT120Applet(This,enApplet) (This)->lpVtbl->StartT120Applet(This,enApplet)
   1052 #define IRTCClient_StopT120Applets(This) (This)->lpVtbl->StopT120Applets(This)
   1053 #define IRTCClient_get_IsT120AppletRunning(This,enApplet,pfRunning) (This)->lpVtbl->get_IsT120AppletRunning(This,enApplet,pfRunning)
   1054 #define IRTCClient_get_LocalUserURI(This,pbstrUserURI) (This)->lpVtbl->get_LocalUserURI(This,pbstrUserURI)
   1055 #define IRTCClient_put_LocalUserURI(This,bstrUserURI) (This)->lpVtbl->put_LocalUserURI(This,bstrUserURI)
   1056 #define IRTCClient_get_LocalUserName(This,pbstrUserName) (This)->lpVtbl->get_LocalUserName(This,pbstrUserName)
   1057 #define IRTCClient_put_LocalUserName(This,bstrUserName) (This)->lpVtbl->put_LocalUserName(This,bstrUserName)
   1058 #define IRTCClient_PlayRing(This,enType,bPlay) (This)->lpVtbl->PlayRing(This,enType,bPlay)
   1059 #define IRTCClient_SendDTMF(This,enDTMF) (This)->lpVtbl->SendDTMF(This,enDTMF)
   1060 #define IRTCClient_InvokeTuningWizard(This,hwndParent) (This)->lpVtbl->InvokeTuningWizard(This,hwndParent)
   1061 #define IRTCClient_get_IsTuned(This,pfTuned) (This)->lpVtbl->get_IsTuned(This,pfTuned)
   1062 #endif
   1063 #endif
   1064   HRESULT WINAPI IRTCClient_Initialize_Proxy(IRTCClient *This);
   1065   void __RPC_STUB IRTCClient_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1066   HRESULT WINAPI IRTCClient_Shutdown_Proxy(IRTCClient *This);
   1067   void __RPC_STUB IRTCClient_Shutdown_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1068   HRESULT WINAPI IRTCClient_PrepareForShutdown_Proxy(IRTCClient *This);
   1069   void __RPC_STUB IRTCClient_PrepareForShutdown_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1070   HRESULT WINAPI IRTCClient_put_EventFilter_Proxy(IRTCClient *This,__LONG32 lFilter);
   1071   void __RPC_STUB IRTCClient_put_EventFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1072   HRESULT WINAPI IRTCClient_get_EventFilter_Proxy(IRTCClient *This,__LONG32 *plFilter);
   1073   void __RPC_STUB IRTCClient_get_EventFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1074   HRESULT WINAPI IRTCClient_SetPreferredMediaTypes_Proxy(IRTCClient *This,__LONG32 lMediaTypes,VARIANT_BOOL fPersistent);
   1075   void __RPC_STUB IRTCClient_SetPreferredMediaTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1076   HRESULT WINAPI IRTCClient_get_PreferredMediaTypes_Proxy(IRTCClient *This,__LONG32 *plMediaTypes);
   1077   void __RPC_STUB IRTCClient_get_PreferredMediaTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1078   HRESULT WINAPI IRTCClient_get_MediaCapabilities_Proxy(IRTCClient *This,__LONG32 *plMediaTypes);
   1079   void __RPC_STUB IRTCClient_get_MediaCapabilities_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1080   HRESULT WINAPI IRTCClient_CreateSession_Proxy(IRTCClient *This,RTC_SESSION_TYPE enType,BSTR bstrLocalPhoneURI,IRTCProfile *pProfile,__LONG32 lFlags,IRTCSession **ppSession);
   1081   void __RPC_STUB IRTCClient_CreateSession_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1082   HRESULT WINAPI IRTCClient_put_ListenForIncomingSessions_Proxy(IRTCClient *This,RTC_LISTEN_MODE enListen);
   1083   void __RPC_STUB IRTCClient_put_ListenForIncomingSessions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1084   HRESULT WINAPI IRTCClient_get_ListenForIncomingSessions_Proxy(IRTCClient *This,RTC_LISTEN_MODE *penListen);
   1085   void __RPC_STUB IRTCClient_get_ListenForIncomingSessions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1086   HRESULT WINAPI IRTCClient_get_NetworkAddresses_Proxy(IRTCClient *This,VARIANT_BOOL fTCP,VARIANT_BOOL fExternal,VARIANT *pvAddresses);
   1087   void __RPC_STUB IRTCClient_get_NetworkAddresses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1088   HRESULT WINAPI IRTCClient_put_Volume_Proxy(IRTCClient *This,RTC_AUDIO_DEVICE enDevice,__LONG32 lVolume);
   1089   void __RPC_STUB IRTCClient_put_Volume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1090   HRESULT WINAPI IRTCClient_get_Volume_Proxy(IRTCClient *This,RTC_AUDIO_DEVICE enDevice,__LONG32 *plVolume);
   1091   void __RPC_STUB IRTCClient_get_Volume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1092   HRESULT WINAPI IRTCClient_put_AudioMuted_Proxy(IRTCClient *This,RTC_AUDIO_DEVICE enDevice,VARIANT_BOOL fMuted);
   1093   void __RPC_STUB IRTCClient_put_AudioMuted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1094   HRESULT WINAPI IRTCClient_get_AudioMuted_Proxy(IRTCClient *This,RTC_AUDIO_DEVICE enDevice,VARIANT_BOOL *pfMuted);
   1095   void __RPC_STUB IRTCClient_get_AudioMuted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1096   HRESULT WINAPI IRTCClient_get_IVideoWindow_Proxy(IRTCClient *This,RTC_VIDEO_DEVICE enDevice,IVideoWindow **ppIVideoWindow);
   1097   void __RPC_STUB IRTCClient_get_IVideoWindow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1098   HRESULT WINAPI IRTCClient_put_PreferredAudioDevice_Proxy(IRTCClient *This,RTC_AUDIO_DEVICE enDevice,BSTR bstrDeviceName);
   1099   void __RPC_STUB IRTCClient_put_PreferredAudioDevice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1100   HRESULT WINAPI IRTCClient_get_PreferredAudioDevice_Proxy(IRTCClient *This,RTC_AUDIO_DEVICE enDevice,BSTR *pbstrDeviceName);
   1101   void __RPC_STUB IRTCClient_get_PreferredAudioDevice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1102   HRESULT WINAPI IRTCClient_put_PreferredVolume_Proxy(IRTCClient *This,RTC_AUDIO_DEVICE enDevice,__LONG32 lVolume);
   1103   void __RPC_STUB IRTCClient_put_PreferredVolume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1104   HRESULT WINAPI IRTCClient_get_PreferredVolume_Proxy(IRTCClient *This,RTC_AUDIO_DEVICE enDevice,__LONG32 *plVolume);
   1105   void __RPC_STUB IRTCClient_get_PreferredVolume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1106   HRESULT WINAPI IRTCClient_put_PreferredAEC_Proxy(IRTCClient *This,VARIANT_BOOL bEnable);
   1107   void __RPC_STUB IRTCClient_put_PreferredAEC_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1108   HRESULT WINAPI IRTCClient_get_PreferredAEC_Proxy(IRTCClient *This,VARIANT_BOOL *pbEnabled);
   1109   void __RPC_STUB IRTCClient_get_PreferredAEC_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1110   HRESULT WINAPI IRTCClient_put_PreferredVideoDevice_Proxy(IRTCClient *This,BSTR bstrDeviceName);
   1111   void __RPC_STUB IRTCClient_put_PreferredVideoDevice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1112   HRESULT WINAPI IRTCClient_get_PreferredVideoDevice_Proxy(IRTCClient *This,BSTR *pbstrDeviceName);
   1113   void __RPC_STUB IRTCClient_get_PreferredVideoDevice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1114   HRESULT WINAPI IRTCClient_get_ActiveMedia_Proxy(IRTCClient *This,__LONG32 *plMediaType);
   1115   void __RPC_STUB IRTCClient_get_ActiveMedia_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1116   HRESULT WINAPI IRTCClient_put_MaxBitrate_Proxy(IRTCClient *This,__LONG32 lMaxBitrate);
   1117   void __RPC_STUB IRTCClient_put_MaxBitrate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1118   HRESULT WINAPI IRTCClient_get_MaxBitrate_Proxy(IRTCClient *This,__LONG32 *plMaxBitrate);
   1119   void __RPC_STUB IRTCClient_get_MaxBitrate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1120   HRESULT WINAPI IRTCClient_put_TemporalSpatialTradeOff_Proxy(IRTCClient *This,__LONG32 lValue);
   1121   void __RPC_STUB IRTCClient_put_TemporalSpatialTradeOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1122   HRESULT WINAPI IRTCClient_get_TemporalSpatialTradeOff_Proxy(IRTCClient *This,__LONG32 *plValue);
   1123   void __RPC_STUB IRTCClient_get_TemporalSpatialTradeOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1124   HRESULT WINAPI IRTCClient_get_NetworkQuality_Proxy(IRTCClient *This,__LONG32 *plNetworkQuality);
   1125   void __RPC_STUB IRTCClient_get_NetworkQuality_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1126   HRESULT WINAPI IRTCClient_StartT120Applet_Proxy(IRTCClient *This,RTC_T120_APPLET enApplet);
   1127   void __RPC_STUB IRTCClient_StartT120Applet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1128   HRESULT WINAPI IRTCClient_StopT120Applets_Proxy(IRTCClient *This);
   1129   void __RPC_STUB IRTCClient_StopT120Applets_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1130   HRESULT WINAPI IRTCClient_get_IsT120AppletRunning_Proxy(IRTCClient *This,RTC_T120_APPLET enApplet,VARIANT_BOOL *pfRunning);
   1131   void __RPC_STUB IRTCClient_get_IsT120AppletRunning_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1132   HRESULT WINAPI IRTCClient_get_LocalUserURI_Proxy(IRTCClient *This,BSTR *pbstrUserURI);
   1133   void __RPC_STUB IRTCClient_get_LocalUserURI_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1134   HRESULT WINAPI IRTCClient_put_LocalUserURI_Proxy(IRTCClient *This,BSTR bstrUserURI);
   1135   void __RPC_STUB IRTCClient_put_LocalUserURI_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1136   HRESULT WINAPI IRTCClient_get_LocalUserName_Proxy(IRTCClient *This,BSTR *pbstrUserName);
   1137   void __RPC_STUB IRTCClient_get_LocalUserName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1138   HRESULT WINAPI IRTCClient_put_LocalUserName_Proxy(IRTCClient *This,BSTR bstrUserName);
   1139   void __RPC_STUB IRTCClient_put_LocalUserName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1140   HRESULT WINAPI IRTCClient_PlayRing_Proxy(IRTCClient *This,RTC_RING_TYPE enType,VARIANT_BOOL bPlay);
   1141   void __RPC_STUB IRTCClient_PlayRing_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1142   HRESULT WINAPI IRTCClient_SendDTMF_Proxy(IRTCClient *This,RTC_DTMF enDTMF);
   1143   void __RPC_STUB IRTCClient_SendDTMF_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1144   HRESULT WINAPI IRTCClient_InvokeTuningWizard_Proxy(IRTCClient *This,OAHWND hwndParent);
   1145   void __RPC_STUB IRTCClient_InvokeTuningWizard_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1146   HRESULT WINAPI IRTCClient_get_IsTuned_Proxy(IRTCClient *This,VARIANT_BOOL *pfTuned);
   1147   void __RPC_STUB IRTCClient_get_IsTuned_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1148 #endif
   1149 
   1150 #ifndef __IRTCClient2_INTERFACE_DEFINED__
   1151 #define __IRTCClient2_INTERFACE_DEFINED__
   1152   EXTERN_C const IID IID_IRTCClient2;
   1153 #if defined(__cplusplus) && !defined(CINTERFACE)
   1154   struct IRTCClient2 : public IRTCClient {
   1155   public:
   1156     virtual HRESULT WINAPI put_AnswerMode(RTC_SESSION_TYPE enType,RTC_ANSWER_MODE enMode) = 0;
   1157     virtual HRESULT WINAPI get_AnswerMode(RTC_SESSION_TYPE enType,RTC_ANSWER_MODE *penMode) = 0;
   1158     virtual HRESULT WINAPI InvokeTuningWizardEx(OAHWND hwndParent,VARIANT_BOOL fAllowAudio,VARIANT_BOOL fAllowVideo) = 0;
   1159     virtual HRESULT WINAPI get_Version(__LONG32 *plVersion) = 0;
   1160     virtual HRESULT WINAPI put_ClientName(BSTR bstrClientName) = 0;
   1161     virtual HRESULT WINAPI put_ClientCurVer(BSTR bstrClientCurVer) = 0;
   1162     virtual HRESULT WINAPI InitializeEx(__LONG32 lFlags) = 0;
   1163     virtual HRESULT WINAPI CreateSessionWithDescription(BSTR bstrContentType,BSTR bstrSessionDescription,IRTCProfile *pProfile,__LONG32 lFlags,IRTCSession2 **ppSession2) = 0;
   1164     virtual HRESULT WINAPI SetSessionDescriptionManager(IRTCSessionDescriptionManager *pSessionDescriptionManager) = 0;
   1165     virtual HRESULT WINAPI put_PreferredSecurityLevel(RTC_SECURITY_TYPE enSecurityType,RTC_SECURITY_LEVEL enSecurityLevel) = 0;
   1166     virtual HRESULT WINAPI get_PreferredSecurityLevel(RTC_SECURITY_TYPE enSecurityType,RTC_SECURITY_LEVEL *penSecurityLevel) = 0;
   1167     virtual HRESULT WINAPI put_AllowedPorts(__LONG32 lTransport,RTC_LISTEN_MODE enListenMode) = 0;
   1168     virtual HRESULT WINAPI get_AllowedPorts(__LONG32 lTransport,RTC_LISTEN_MODE *penListenMode) = 0;
   1169   };
   1170 #else
   1171   typedef struct IRTCClient2Vtbl {
   1172     BEGIN_INTERFACE
   1173       HRESULT (WINAPI *QueryInterface)(IRTCClient2 *This,REFIID riid,void **ppvObject);
   1174       ULONG (WINAPI *AddRef)(IRTCClient2 *This);
   1175       ULONG (WINAPI *Release)(IRTCClient2 *This);
   1176       HRESULT (WINAPI *Initialize)(IRTCClient2 *This);
   1177       HRESULT (WINAPI *Shutdown)(IRTCClient2 *This);
   1178       HRESULT (WINAPI *PrepareForShutdown)(IRTCClient2 *This);
   1179       HRESULT (WINAPI *put_EventFilter)(IRTCClient2 *This,__LONG32 lFilter);
   1180       HRESULT (WINAPI *get_EventFilter)(IRTCClient2 *This,__LONG32 *plFilter);
   1181       HRESULT (WINAPI *SetPreferredMediaTypes)(IRTCClient2 *This,__LONG32 lMediaTypes,VARIANT_BOOL fPersistent);
   1182       HRESULT (WINAPI *get_PreferredMediaTypes)(IRTCClient2 *This,__LONG32 *plMediaTypes);
   1183       HRESULT (WINAPI *get_MediaCapabilities)(IRTCClient2 *This,__LONG32 *plMediaTypes);
   1184       HRESULT (WINAPI *CreateSession)(IRTCClient2 *This,RTC_SESSION_TYPE enType,BSTR bstrLocalPhoneURI,IRTCProfile *pProfile,__LONG32 lFlags,IRTCSession **ppSession);
   1185       HRESULT (WINAPI *put_ListenForIncomingSessions)(IRTCClient2 *This,RTC_LISTEN_MODE enListen);
   1186       HRESULT (WINAPI *get_ListenForIncomingSessions)(IRTCClient2 *This,RTC_LISTEN_MODE *penListen);
   1187       HRESULT (WINAPI *get_NetworkAddresses)(IRTCClient2 *This,VARIANT_BOOL fTCP,VARIANT_BOOL fExternal,VARIANT *pvAddresses);
   1188       HRESULT (WINAPI *put_Volume)(IRTCClient2 *This,RTC_AUDIO_DEVICE enDevice,__LONG32 lVolume);
   1189       HRESULT (WINAPI *get_Volume)(IRTCClient2 *This,RTC_AUDIO_DEVICE enDevice,__LONG32 *plVolume);
   1190       HRESULT (WINAPI *put_AudioMuted)(IRTCClient2 *This,RTC_AUDIO_DEVICE enDevice,VARIANT_BOOL fMuted);
   1191       HRESULT (WINAPI *get_AudioMuted)(IRTCClient2 *This,RTC_AUDIO_DEVICE enDevice,VARIANT_BOOL *pfMuted);
   1192       HRESULT (WINAPI *get_IVideoWindow)(IRTCClient2 *This,RTC_VIDEO_DEVICE enDevice,IVideoWindow **ppIVideoWindow);
   1193       HRESULT (WINAPI *put_PreferredAudioDevice)(IRTCClient2 *This,RTC_AUDIO_DEVICE enDevice,BSTR bstrDeviceName);
   1194       HRESULT (WINAPI *get_PreferredAudioDevice)(IRTCClient2 *This,RTC_AUDIO_DEVICE enDevice,BSTR *pbstrDeviceName);
   1195       HRESULT (WINAPI *put_PreferredVolume)(IRTCClient2 *This,RTC_AUDIO_DEVICE enDevice,__LONG32 lVolume);
   1196       HRESULT (WINAPI *get_PreferredVolume)(IRTCClient2 *This,RTC_AUDIO_DEVICE enDevice,__LONG32 *plVolume);
   1197       HRESULT (WINAPI *put_PreferredAEC)(IRTCClient2 *This,VARIANT_BOOL bEnable);
   1198       HRESULT (WINAPI *get_PreferredAEC)(IRTCClient2 *This,VARIANT_BOOL *pbEnabled);
   1199       HRESULT (WINAPI *put_PreferredVideoDevice)(IRTCClient2 *This,BSTR bstrDeviceName);
   1200       HRESULT (WINAPI *get_PreferredVideoDevice)(IRTCClient2 *This,BSTR *pbstrDeviceName);
   1201       HRESULT (WINAPI *get_ActiveMedia)(IRTCClient2 *This,__LONG32 *plMediaType);
   1202       HRESULT (WINAPI *put_MaxBitrate)(IRTCClient2 *This,__LONG32 lMaxBitrate);
   1203       HRESULT (WINAPI *get_MaxBitrate)(IRTCClient2 *This,__LONG32 *plMaxBitrate);
   1204       HRESULT (WINAPI *put_TemporalSpatialTradeOff)(IRTCClient2 *This,__LONG32 lValue);
   1205       HRESULT (WINAPI *get_TemporalSpatialTradeOff)(IRTCClient2 *This,__LONG32 *plValue);
   1206       HRESULT (WINAPI *get_NetworkQuality)(IRTCClient2 *This,__LONG32 *plNetworkQuality);
   1207       HRESULT (WINAPI *StartT120Applet)(IRTCClient2 *This,RTC_T120_APPLET enApplet);
   1208       HRESULT (WINAPI *StopT120Applets)(IRTCClient2 *This);
   1209       HRESULT (WINAPI *get_IsT120AppletRunning)(IRTCClient2 *This,RTC_T120_APPLET enApplet,VARIANT_BOOL *pfRunning);
   1210       HRESULT (WINAPI *get_LocalUserURI)(IRTCClient2 *This,BSTR *pbstrUserURI);
   1211       HRESULT (WINAPI *put_LocalUserURI)(IRTCClient2 *This,BSTR bstrUserURI);
   1212       HRESULT (WINAPI *get_LocalUserName)(IRTCClient2 *This,BSTR *pbstrUserName);
   1213       HRESULT (WINAPI *put_LocalUserName)(IRTCClient2 *This,BSTR bstrUserName);
   1214       HRESULT (WINAPI *PlayRing)(IRTCClient2 *This,RTC_RING_TYPE enType,VARIANT_BOOL bPlay);
   1215       HRESULT (WINAPI *SendDTMF)(IRTCClient2 *This,RTC_DTMF enDTMF);
   1216       HRESULT (WINAPI *InvokeTuningWizard)(IRTCClient2 *This,OAHWND hwndParent);
   1217       HRESULT (WINAPI *get_IsTuned)(IRTCClient2 *This,VARIANT_BOOL *pfTuned);
   1218       HRESULT (WINAPI *put_AnswerMode)(IRTCClient2 *This,RTC_SESSION_TYPE enType,RTC_ANSWER_MODE enMode);
   1219       HRESULT (WINAPI *get_AnswerMode)(IRTCClient2 *This,RTC_SESSION_TYPE enType,RTC_ANSWER_MODE *penMode);
   1220       HRESULT (WINAPI *InvokeTuningWizardEx)(IRTCClient2 *This,OAHWND hwndParent,VARIANT_BOOL fAllowAudio,VARIANT_BOOL fAllowVideo);
   1221       HRESULT (WINAPI *get_Version)(IRTCClient2 *This,__LONG32 *plVersion);
   1222       HRESULT (WINAPI *put_ClientName)(IRTCClient2 *This,BSTR bstrClientName);
   1223       HRESULT (WINAPI *put_ClientCurVer)(IRTCClient2 *This,BSTR bstrClientCurVer);
   1224       HRESULT (WINAPI *InitializeEx)(IRTCClient2 *This,__LONG32 lFlags);
   1225       HRESULT (WINAPI *CreateSessionWithDescription)(IRTCClient2 *This,BSTR bstrContentType,BSTR bstrSessionDescription,IRTCProfile *pProfile,__LONG32 lFlags,IRTCSession2 **ppSession2);
   1226       HRESULT (WINAPI *SetSessionDescriptionManager)(IRTCClient2 *This,IRTCSessionDescriptionManager *pSessionDescriptionManager);
   1227       HRESULT (WINAPI *put_PreferredSecurityLevel)(IRTCClient2 *This,RTC_SECURITY_TYPE enSecurityType,RTC_SECURITY_LEVEL enSecurityLevel);
   1228       HRESULT (WINAPI *get_PreferredSecurityLevel)(IRTCClient2 *This,RTC_SECURITY_TYPE enSecurityType,RTC_SECURITY_LEVEL *penSecurityLevel);
   1229       HRESULT (WINAPI *put_AllowedPorts)(IRTCClient2 *This,__LONG32 lTransport,RTC_LISTEN_MODE enListenMode);
   1230       HRESULT (WINAPI *get_AllowedPorts)(IRTCClient2 *This,__LONG32 lTransport,RTC_LISTEN_MODE *penListenMode);
   1231     END_INTERFACE
   1232   } IRTCClient2Vtbl;
   1233   struct IRTCClient2 {
   1234     CONST_VTBL struct IRTCClient2Vtbl *lpVtbl;
   1235   };
   1236 #ifdef COBJMACROS
   1237 #define IRTCClient2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1238 #define IRTCClient2_AddRef(This) (This)->lpVtbl->AddRef(This)
   1239 #define IRTCClient2_Release(This) (This)->lpVtbl->Release(This)
   1240 #define IRTCClient2_Initialize(This) (This)->lpVtbl->Initialize(This)
   1241 #define IRTCClient2_Shutdown(This) (This)->lpVtbl->Shutdown(This)
   1242 #define IRTCClient2_PrepareForShutdown(This) (This)->lpVtbl->PrepareForShutdown(This)
   1243 #define IRTCClient2_put_EventFilter(This,lFilter) (This)->lpVtbl->put_EventFilter(This,lFilter)
   1244 #define IRTCClient2_get_EventFilter(This,plFilter) (This)->lpVtbl->get_EventFilter(This,plFilter)
   1245 #define IRTCClient2_SetPreferredMediaTypes(This,lMediaTypes,fPersistent) (This)->lpVtbl->SetPreferredMediaTypes(This,lMediaTypes,fPersistent)
   1246 #define IRTCClient2_get_PreferredMediaTypes(This,plMediaTypes) (This)->lpVtbl->get_PreferredMediaTypes(This,plMediaTypes)
   1247 #define IRTCClient2_get_MediaCapabilities(This,plMediaTypes) (This)->lpVtbl->get_MediaCapabilities(This,plMediaTypes)
   1248 #define IRTCClient2_CreateSession(This,enType,bstrLocalPhoneURI,pProfile,lFlags,ppSession) (This)->lpVtbl->CreateSession(This,enType,bstrLocalPhoneURI,pProfile,lFlags,ppSession)
   1249 #define IRTCClient2_put_ListenForIncomingSessions(This,enListen) (This)->lpVtbl->put_ListenForIncomingSessions(This,enListen)
   1250 #define IRTCClient2_get_ListenForIncomingSessions(This,penListen) (This)->lpVtbl->get_ListenForIncomingSessions(This,penListen)
   1251 #define IRTCClient2_get_NetworkAddresses(This,fTCP,fExternal,pvAddresses) (This)->lpVtbl->get_NetworkAddresses(This,fTCP,fExternal,pvAddresses)
   1252 #define IRTCClient2_put_Volume(This,enDevice,lVolume) (This)->lpVtbl->put_Volume(This,enDevice,lVolume)
   1253 #define IRTCClient2_get_Volume(This,enDevice,plVolume) (This)->lpVtbl->get_Volume(This,enDevice,plVolume)
   1254 #define IRTCClient2_put_AudioMuted(This,enDevice,fMuted) (This)->lpVtbl->put_AudioMuted(This,enDevice,fMuted)
   1255 #define IRTCClient2_get_AudioMuted(This,enDevice,pfMuted) (This)->lpVtbl->get_AudioMuted(This,enDevice,pfMuted)
   1256 #define IRTCClient2_get_IVideoWindow(This,enDevice,ppIVideoWindow) (This)->lpVtbl->get_IVideoWindow(This,enDevice,ppIVideoWindow)
   1257 #define IRTCClient2_put_PreferredAudioDevice(This,enDevice,bstrDeviceName) (This)->lpVtbl->put_PreferredAudioDevice(This,enDevice,bstrDeviceName)
   1258 #define IRTCClient2_get_PreferredAudioDevice(This,enDevice,pbstrDeviceName) (This)->lpVtbl->get_PreferredAudioDevice(This,enDevice,pbstrDeviceName)
   1259 #define IRTCClient2_put_PreferredVolume(This,enDevice,lVolume) (This)->lpVtbl->put_PreferredVolume(This,enDevice,lVolume)
   1260 #define IRTCClient2_get_PreferredVolume(This,enDevice,plVolume) (This)->lpVtbl->get_PreferredVolume(This,enDevice,plVolume)
   1261 #define IRTCClient2_put_PreferredAEC(This,bEnable) (This)->lpVtbl->put_PreferredAEC(This,bEnable)
   1262 #define IRTCClient2_get_PreferredAEC(This,pbEnabled) (This)->lpVtbl->get_PreferredAEC(This,pbEnabled)
   1263 #define IRTCClient2_put_PreferredVideoDevice(This,bstrDeviceName) (This)->lpVtbl->put_PreferredVideoDevice(This,bstrDeviceName)
   1264 #define IRTCClient2_get_PreferredVideoDevice(This,pbstrDeviceName) (This)->lpVtbl->get_PreferredVideoDevice(This,pbstrDeviceName)
   1265 #define IRTCClient2_get_ActiveMedia(This,plMediaType) (This)->lpVtbl->get_ActiveMedia(This,plMediaType)
   1266 #define IRTCClient2_put_MaxBitrate(This,lMaxBitrate) (This)->lpVtbl->put_MaxBitrate(This,lMaxBitrate)
   1267 #define IRTCClient2_get_MaxBitrate(This,plMaxBitrate) (This)->lpVtbl->get_MaxBitrate(This,plMaxBitrate)
   1268 #define IRTCClient2_put_TemporalSpatialTradeOff(This,lValue) (This)->lpVtbl->put_TemporalSpatialTradeOff(This,lValue)
   1269 #define IRTCClient2_get_TemporalSpatialTradeOff(This,plValue) (This)->lpVtbl->get_TemporalSpatialTradeOff(This,plValue)
   1270 #define IRTCClient2_get_NetworkQuality(This,plNetworkQuality) (This)->lpVtbl->get_NetworkQuality(This,plNetworkQuality)
   1271 #define IRTCClient2_StartT120Applet(This,enApplet) (This)->lpVtbl->StartT120Applet(This,enApplet)
   1272 #define IRTCClient2_StopT120Applets(This) (This)->lpVtbl->StopT120Applets(This)
   1273 #define IRTCClient2_get_IsT120AppletRunning(This,enApplet,pfRunning) (This)->lpVtbl->get_IsT120AppletRunning(This,enApplet,pfRunning)
   1274 #define IRTCClient2_get_LocalUserURI(This,pbstrUserURI) (This)->lpVtbl->get_LocalUserURI(This,pbstrUserURI)
   1275 #define IRTCClient2_put_LocalUserURI(This,bstrUserURI) (This)->lpVtbl->put_LocalUserURI(This,bstrUserURI)
   1276 #define IRTCClient2_get_LocalUserName(This,pbstrUserName) (This)->lpVtbl->get_LocalUserName(This,pbstrUserName)
   1277 #define IRTCClient2_put_LocalUserName(This,bstrUserName) (This)->lpVtbl->put_LocalUserName(This,bstrUserName)
   1278 #define IRTCClient2_PlayRing(This,enType,bPlay) (This)->lpVtbl->PlayRing(This,enType,bPlay)
   1279 #define IRTCClient2_SendDTMF(This,enDTMF) (This)->lpVtbl->SendDTMF(This,enDTMF)
   1280 #define IRTCClient2_InvokeTuningWizard(This,hwndParent) (This)->lpVtbl->InvokeTuningWizard(This,hwndParent)
   1281 #define IRTCClient2_get_IsTuned(This,pfTuned) (This)->lpVtbl->get_IsTuned(This,pfTuned)
   1282 #define IRTCClient2_put_AnswerMode(This,enType,enMode) (This)->lpVtbl->put_AnswerMode(This,enType,enMode)
   1283 #define IRTCClient2_get_AnswerMode(This,enType,penMode) (This)->lpVtbl->get_AnswerMode(This,enType,penMode)
   1284 #define IRTCClient2_InvokeTuningWizardEx(This,hwndParent,fAllowAudio,fAllowVideo) (This)->lpVtbl->InvokeTuningWizardEx(This,hwndParent,fAllowAudio,fAllowVideo)
   1285 #define IRTCClient2_get_Version(This,plVersion) (This)->lpVtbl->get_Version(This,plVersion)
   1286 #define IRTCClient2_put_ClientName(This,bstrClientName) (This)->lpVtbl->put_ClientName(This,bstrClientName)
   1287 #define IRTCClient2_put_ClientCurVer(This,bstrClientCurVer) (This)->lpVtbl->put_ClientCurVer(This,bstrClientCurVer)
   1288 #define IRTCClient2_InitializeEx(This,lFlags) (This)->lpVtbl->InitializeEx(This,lFlags)
   1289 #define IRTCClient2_CreateSessionWithDescription(This,bstrContentType,bstrSessionDescription,pProfile,lFlags,ppSession2) (This)->lpVtbl->CreateSessionWithDescription(This,bstrContentType,bstrSessionDescription,pProfile,lFlags,ppSession2)
   1290 #define IRTCClient2_SetSessionDescriptionManager(This,pSessionDescriptionManager) (This)->lpVtbl->SetSessionDescriptionManager(This,pSessionDescriptionManager)
   1291 #define IRTCClient2_put_PreferredSecurityLevel(This,enSecurityType,enSecurityLevel) (This)->lpVtbl->put_PreferredSecurityLevel(This,enSecurityType,enSecurityLevel)
   1292 #define IRTCClient2_get_PreferredSecurityLevel(This,enSecurityType,penSecurityLevel) (This)->lpVtbl->get_PreferredSecurityLevel(This,enSecurityType,penSecurityLevel)
   1293 #define IRTCClient2_put_AllowedPorts(This,lTransport,enListenMode) (This)->lpVtbl->put_AllowedPorts(This,lTransport,enListenMode)
   1294 #define IRTCClient2_get_AllowedPorts(This,lTransport,penListenMode) (This)->lpVtbl->get_AllowedPorts(This,lTransport,penListenMode)
   1295 #endif
   1296 #endif
   1297   HRESULT WINAPI IRTCClient2_put_AnswerMode_Proxy(IRTCClient2 *This,RTC_SESSION_TYPE enType,RTC_ANSWER_MODE enMode);
   1298   void __RPC_STUB IRTCClient2_put_AnswerMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1299   HRESULT WINAPI IRTCClient2_get_AnswerMode_Proxy(IRTCClient2 *This,RTC_SESSION_TYPE enType,RTC_ANSWER_MODE *penMode);
   1300   void __RPC_STUB IRTCClient2_get_AnswerMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1301   HRESULT WINAPI IRTCClient2_InvokeTuningWizardEx_Proxy(IRTCClient2 *This,OAHWND hwndParent,VARIANT_BOOL fAllowAudio,VARIANT_BOOL fAllowVideo);
   1302   void __RPC_STUB IRTCClient2_InvokeTuningWizardEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1303   HRESULT WINAPI IRTCClient2_get_Version_Proxy(IRTCClient2 *This,__LONG32 *plVersion);
   1304   void __RPC_STUB IRTCClient2_get_Version_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1305   HRESULT WINAPI IRTCClient2_put_ClientName_Proxy(IRTCClient2 *This,BSTR bstrClientName);
   1306   void __RPC_STUB IRTCClient2_put_ClientName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1307   HRESULT WINAPI IRTCClient2_put_ClientCurVer_Proxy(IRTCClient2 *This,BSTR bstrClientCurVer);
   1308   void __RPC_STUB IRTCClient2_put_ClientCurVer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1309   HRESULT WINAPI IRTCClient2_InitializeEx_Proxy(IRTCClient2 *This,__LONG32 lFlags);
   1310   void __RPC_STUB IRTCClient2_InitializeEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1311   HRESULT WINAPI IRTCClient2_CreateSessionWithDescription_Proxy(IRTCClient2 *This,BSTR bstrContentType,BSTR bstrSessionDescription,IRTCProfile *pProfile,__LONG32 lFlags,IRTCSession2 **ppSession2);
   1312   void __RPC_STUB IRTCClient2_CreateSessionWithDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1313   HRESULT WINAPI IRTCClient2_SetSessionDescriptionManager_Proxy(IRTCClient2 *This,IRTCSessionDescriptionManager *pSessionDescriptionManager);
   1314   void __RPC_STUB IRTCClient2_SetSessionDescriptionManager_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1315   HRESULT WINAPI IRTCClient2_put_PreferredSecurityLevel_Proxy(IRTCClient2 *This,RTC_SECURITY_TYPE enSecurityType,RTC_SECURITY_LEVEL enSecurityLevel);
   1316   void __RPC_STUB IRTCClient2_put_PreferredSecurityLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1317   HRESULT WINAPI IRTCClient2_get_PreferredSecurityLevel_Proxy(IRTCClient2 *This,RTC_SECURITY_TYPE enSecurityType,RTC_SECURITY_LEVEL *penSecurityLevel);
   1318   void __RPC_STUB IRTCClient2_get_PreferredSecurityLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1319   HRESULT WINAPI IRTCClient2_put_AllowedPorts_Proxy(IRTCClient2 *This,__LONG32 lTransport,RTC_LISTEN_MODE enListenMode);
   1320   void __RPC_STUB IRTCClient2_put_AllowedPorts_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1321   HRESULT WINAPI IRTCClient2_get_AllowedPorts_Proxy(IRTCClient2 *This,__LONG32 lTransport,RTC_LISTEN_MODE *penListenMode);
   1322   void __RPC_STUB IRTCClient2_get_AllowedPorts_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1323 #endif
   1324 
   1325 #ifndef __IRTCClientPresence_INTERFACE_DEFINED__
   1326 #define __IRTCClientPresence_INTERFACE_DEFINED__
   1327   EXTERN_C const IID IID_IRTCClientPresence;
   1328 #if defined(__cplusplus) && !defined(CINTERFACE)
   1329   struct IRTCClientPresence : public IUnknown {
   1330   public:
   1331     virtual HRESULT WINAPI EnablePresence(VARIANT_BOOL fUseStorage,VARIANT varStorage) = 0;
   1332     virtual HRESULT WINAPI Export(VARIANT varStorage) = 0;
   1333     virtual HRESULT WINAPI Import(VARIANT varStorage,VARIANT_BOOL fReplaceAll) = 0;
   1334     virtual HRESULT WINAPI EnumerateBuddies(IRTCEnumBuddies **ppEnum) = 0;
   1335     virtual HRESULT WINAPI get_Buddies(IRTCCollection **ppCollection) = 0;
   1336     virtual HRESULT WINAPI get_Buddy(BSTR bstrPresentityURI,IRTCBuddy **ppBuddy) = 0;
   1337     virtual HRESULT WINAPI AddBuddy(BSTR bstrPresentityURI,BSTR bstrUserName,BSTR bstrData,VARIANT_BOOL fPersistent,IRTCProfile *pProfile,__LONG32 lFlags,IRTCBuddy **ppBuddy) = 0;
   1338     virtual HRESULT WINAPI RemoveBuddy(IRTCBuddy *pBuddy) = 0;
   1339     virtual HRESULT WINAPI EnumerateWatchers(IRTCEnumWatchers **ppEnum) = 0;
   1340     virtual HRESULT WINAPI get_Watchers(IRTCCollection **ppCollection) = 0;
   1341     virtual HRESULT WINAPI get_Watcher(BSTR bstrPresentityURI,IRTCWatcher **ppWatcher) = 0;
   1342     virtual HRESULT WINAPI AddWatcher(BSTR bstrPresentityURI,BSTR bstrUserName,BSTR bstrData,VARIANT_BOOL fBlocked,VARIANT_BOOL fPersistent,IRTCWatcher **ppWatcher) = 0;
   1343     virtual HRESULT WINAPI RemoveWatcher(IRTCWatcher *pWatcher) = 0;
   1344     virtual HRESULT WINAPI SetLocalPresenceInfo(RTC_PRESENCE_STATUS enStatus,BSTR bstrNotes) = 0;
   1345     virtual HRESULT WINAPI get_OfferWatcherMode(RTC_OFFER_WATCHER_MODE *penMode) = 0;
   1346     virtual HRESULT WINAPI put_OfferWatcherMode(RTC_OFFER_WATCHER_MODE enMode) = 0;
   1347     virtual HRESULT WINAPI get_PrivacyMode(RTC_PRIVACY_MODE *penMode) = 0;
   1348     virtual HRESULT WINAPI put_PrivacyMode(RTC_PRIVACY_MODE enMode) = 0;
   1349   };
   1350 #else
   1351   typedef struct IRTCClientPresenceVtbl {
   1352     BEGIN_INTERFACE
   1353       HRESULT (WINAPI *QueryInterface)(IRTCClientPresence *This,REFIID riid,void **ppvObject);
   1354       ULONG (WINAPI *AddRef)(IRTCClientPresence *This);
   1355       ULONG (WINAPI *Release)(IRTCClientPresence *This);
   1356       HRESULT (WINAPI *EnablePresence)(IRTCClientPresence *This,VARIANT_BOOL fUseStorage,VARIANT varStorage);
   1357       HRESULT (WINAPI *Export)(IRTCClientPresence *This,VARIANT varStorage);
   1358       HRESULT (WINAPI *Import)(IRTCClientPresence *This,VARIANT varStorage,VARIANT_BOOL fReplaceAll);
   1359       HRESULT (WINAPI *EnumerateBuddies)(IRTCClientPresence *This,IRTCEnumBuddies **ppEnum);
   1360       HRESULT (WINAPI *get_Buddies)(IRTCClientPresence *This,IRTCCollection **ppCollection);
   1361       HRESULT (WINAPI *get_Buddy)(IRTCClientPresence *This,BSTR bstrPresentityURI,IRTCBuddy **ppBuddy);
   1362       HRESULT (WINAPI *AddBuddy)(IRTCClientPresence *This,BSTR bstrPresentityURI,BSTR bstrUserName,BSTR bstrData,VARIANT_BOOL fPersistent,IRTCProfile *pProfile,__LONG32 lFlags,IRTCBuddy **ppBuddy);
   1363       HRESULT (WINAPI *RemoveBuddy)(IRTCClientPresence *This,IRTCBuddy *pBuddy);
   1364       HRESULT (WINAPI *EnumerateWatchers)(IRTCClientPresence *This,IRTCEnumWatchers **ppEnum);
   1365       HRESULT (WINAPI *get_Watchers)(IRTCClientPresence *This,IRTCCollection **ppCollection);
   1366       HRESULT (WINAPI *get_Watcher)(IRTCClientPresence *This,BSTR bstrPresentityURI,IRTCWatcher **ppWatcher);
   1367       HRESULT (WINAPI *AddWatcher)(IRTCClientPresence *This,BSTR bstrPresentityURI,BSTR bstrUserName,BSTR bstrData,VARIANT_BOOL fBlocked,VARIANT_BOOL fPersistent,IRTCWatcher **ppWatcher);
   1368       HRESULT (WINAPI *RemoveWatcher)(IRTCClientPresence *This,IRTCWatcher *pWatcher);
   1369       HRESULT (WINAPI *SetLocalPresenceInfo)(IRTCClientPresence *This,RTC_PRESENCE_STATUS enStatus,BSTR bstrNotes);
   1370       HRESULT (WINAPI *get_OfferWatcherMode)(IRTCClientPresence *This,RTC_OFFER_WATCHER_MODE *penMode);
   1371       HRESULT (WINAPI *put_OfferWatcherMode)(IRTCClientPresence *This,RTC_OFFER_WATCHER_MODE enMode);
   1372       HRESULT (WINAPI *get_PrivacyMode)(IRTCClientPresence *This,RTC_PRIVACY_MODE *penMode);
   1373       HRESULT (WINAPI *put_PrivacyMode)(IRTCClientPresence *This,RTC_PRIVACY_MODE enMode);
   1374     END_INTERFACE
   1375   } IRTCClientPresenceVtbl;
   1376   struct IRTCClientPresence {
   1377     CONST_VTBL struct IRTCClientPresenceVtbl *lpVtbl;
   1378   };
   1379 #ifdef COBJMACROS
   1380 #define IRTCClientPresence_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1381 #define IRTCClientPresence_AddRef(This) (This)->lpVtbl->AddRef(This)
   1382 #define IRTCClientPresence_Release(This) (This)->lpVtbl->Release(This)
   1383 #define IRTCClientPresence_EnablePresence(This,fUseStorage,varStorage) (This)->lpVtbl->EnablePresence(This,fUseStorage,varStorage)
   1384 #define IRTCClientPresence_Export(This,varStorage) (This)->lpVtbl->Export(This,varStorage)
   1385 #define IRTCClientPresence_Import(This,varStorage,fReplaceAll) (This)->lpVtbl->Import(This,varStorage,fReplaceAll)
   1386 #define IRTCClientPresence_EnumerateBuddies(This,ppEnum) (This)->lpVtbl->EnumerateBuddies(This,ppEnum)
   1387 #define IRTCClientPresence_get_Buddies(This,ppCollection) (This)->lpVtbl->get_Buddies(This,ppCollection)
   1388 #define IRTCClientPresence_get_Buddy(This,bstrPresentityURI,ppBuddy) (This)->lpVtbl->get_Buddy(This,bstrPresentityURI,ppBuddy)
   1389 #define IRTCClientPresence_AddBuddy(This,bstrPresentityURI,bstrUserName,bstrData,fPersistent,pProfile,lFlags,ppBuddy) (This)->lpVtbl->AddBuddy(This,bstrPresentityURI,bstrUserName,bstrData,fPersistent,pProfile,lFlags,ppBuddy)
   1390 #define IRTCClientPresence_RemoveBuddy(This,pBuddy) (This)->lpVtbl->RemoveBuddy(This,pBuddy)
   1391 #define IRTCClientPresence_EnumerateWatchers(This,ppEnum) (This)->lpVtbl->EnumerateWatchers(This,ppEnum)
   1392 #define IRTCClientPresence_get_Watchers(This,ppCollection) (This)->lpVtbl->get_Watchers(This,ppCollection)
   1393 #define IRTCClientPresence_get_Watcher(This,bstrPresentityURI,ppWatcher) (This)->lpVtbl->get_Watcher(This,bstrPresentityURI,ppWatcher)
   1394 #define IRTCClientPresence_AddWatcher(This,bstrPresentityURI,bstrUserName,bstrData,fBlocked,fPersistent,ppWatcher) (This)->lpVtbl->AddWatcher(This,bstrPresentityURI,bstrUserName,bstrData,fBlocked,fPersistent,ppWatcher)
   1395 #define IRTCClientPresence_RemoveWatcher(This,pWatcher) (This)->lpVtbl->RemoveWatcher(This,pWatcher)
   1396 #define IRTCClientPresence_SetLocalPresenceInfo(This,enStatus,bstrNotes) (This)->lpVtbl->SetLocalPresenceInfo(This,enStatus,bstrNotes)
   1397 #define IRTCClientPresence_get_OfferWatcherMode(This,penMode) (This)->lpVtbl->get_OfferWatcherMode(This,penMode)
   1398 #define IRTCClientPresence_put_OfferWatcherMode(This,enMode) (This)->lpVtbl->put_OfferWatcherMode(This,enMode)
   1399 #define IRTCClientPresence_get_PrivacyMode(This,penMode) (This)->lpVtbl->get_PrivacyMode(This,penMode)
   1400 #define IRTCClientPresence_put_PrivacyMode(This,enMode) (This)->lpVtbl->put_PrivacyMode(This,enMode)
   1401 #endif
   1402 #endif
   1403   HRESULT WINAPI IRTCClientPresence_EnablePresence_Proxy(IRTCClientPresence *This,VARIANT_BOOL fUseStorage,VARIANT varStorage);
   1404   void __RPC_STUB IRTCClientPresence_EnablePresence_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1405   HRESULT WINAPI IRTCClientPresence_Export_Proxy(IRTCClientPresence *This,VARIANT varStorage);
   1406   void __RPC_STUB IRTCClientPresence_Export_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1407   HRESULT WINAPI IRTCClientPresence_Import_Proxy(IRTCClientPresence *This,VARIANT varStorage,VARIANT_BOOL fReplaceAll);
   1408   void __RPC_STUB IRTCClientPresence_Import_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1409   HRESULT WINAPI IRTCClientPresence_EnumerateBuddies_Proxy(IRTCClientPresence *This,IRTCEnumBuddies **ppEnum);
   1410   void __RPC_STUB IRTCClientPresence_EnumerateBuddies_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1411   HRESULT WINAPI IRTCClientPresence_get_Buddies_Proxy(IRTCClientPresence *This,IRTCCollection **ppCollection);
   1412   void __RPC_STUB IRTCClientPresence_get_Buddies_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1413   HRESULT WINAPI IRTCClientPresence_get_Buddy_Proxy(IRTCClientPresence *This,BSTR bstrPresentityURI,IRTCBuddy **ppBuddy);
   1414   void __RPC_STUB IRTCClientPresence_get_Buddy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1415   HRESULT WINAPI IRTCClientPresence_AddBuddy_Proxy(IRTCClientPresence *This,BSTR bstrPresentityURI,BSTR bstrUserName,BSTR bstrData,VARIANT_BOOL fPersistent,IRTCProfile *pProfile,__LONG32 lFlags,IRTCBuddy **ppBuddy);
   1416   void __RPC_STUB IRTCClientPresence_AddBuddy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1417   HRESULT WINAPI IRTCClientPresence_RemoveBuddy_Proxy(IRTCClientPresence *This,IRTCBuddy *pBuddy);
   1418   void __RPC_STUB IRTCClientPresence_RemoveBuddy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1419   HRESULT WINAPI IRTCClientPresence_EnumerateWatchers_Proxy(IRTCClientPresence *This,IRTCEnumWatchers **ppEnum);
   1420   void __RPC_STUB IRTCClientPresence_EnumerateWatchers_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1421   HRESULT WINAPI IRTCClientPresence_get_Watchers_Proxy(IRTCClientPresence *This,IRTCCollection **ppCollection);
   1422   void __RPC_STUB IRTCClientPresence_get_Watchers_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1423   HRESULT WINAPI IRTCClientPresence_get_Watcher_Proxy(IRTCClientPresence *This,BSTR bstrPresentityURI,IRTCWatcher **ppWatcher);
   1424   void __RPC_STUB IRTCClientPresence_get_Watcher_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1425   HRESULT WINAPI IRTCClientPresence_AddWatcher_Proxy(IRTCClientPresence *This,BSTR bstrPresentityURI,BSTR bstrUserName,BSTR bstrData,VARIANT_BOOL fBlocked,VARIANT_BOOL fPersistent,IRTCWatcher **ppWatcher);
   1426   void __RPC_STUB IRTCClientPresence_AddWatcher_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1427   HRESULT WINAPI IRTCClientPresence_RemoveWatcher_Proxy(IRTCClientPresence *This,IRTCWatcher *pWatcher);
   1428   void __RPC_STUB IRTCClientPresence_RemoveWatcher_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1429   HRESULT WINAPI IRTCClientPresence_SetLocalPresenceInfo_Proxy(IRTCClientPresence *This,RTC_PRESENCE_STATUS enStatus,BSTR bstrNotes);
   1430   void __RPC_STUB IRTCClientPresence_SetLocalPresenceInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1431   HRESULT WINAPI IRTCClientPresence_get_OfferWatcherMode_Proxy(IRTCClientPresence *This,RTC_OFFER_WATCHER_MODE *penMode);
   1432   void __RPC_STUB IRTCClientPresence_get_OfferWatcherMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1433   HRESULT WINAPI IRTCClientPresence_put_OfferWatcherMode_Proxy(IRTCClientPresence *This,RTC_OFFER_WATCHER_MODE enMode);
   1434   void __RPC_STUB IRTCClientPresence_put_OfferWatcherMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1435   HRESULT WINAPI IRTCClientPresence_get_PrivacyMode_Proxy(IRTCClientPresence *This,RTC_PRIVACY_MODE *penMode);
   1436   void __RPC_STUB IRTCClientPresence_get_PrivacyMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1437   HRESULT WINAPI IRTCClientPresence_put_PrivacyMode_Proxy(IRTCClientPresence *This,RTC_PRIVACY_MODE enMode);
   1438   void __RPC_STUB IRTCClientPresence_put_PrivacyMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1439 #endif
   1440 
   1441 #ifndef __IRTCClientPresence2_INTERFACE_DEFINED__
   1442 #define __IRTCClientPresence2_INTERFACE_DEFINED__
   1443   EXTERN_C const IID IID_IRTCClientPresence2;
   1444 #if defined(__cplusplus) && !defined(CINTERFACE)
   1445   struct IRTCClientPresence2 : public IRTCClientPresence {
   1446   public:
   1447     virtual HRESULT WINAPI EnablePresenceEx(IRTCProfile *pProfile,VARIANT varStorage,__LONG32 lFlags) = 0;
   1448     virtual HRESULT WINAPI DisablePresence(void) = 0;
   1449     virtual HRESULT WINAPI AddGroup(BSTR bstrGroupName,BSTR bstrData,IRTCProfile *pProfile,__LONG32 lFlags,IRTCBuddyGroup **ppGroup) = 0;
   1450     virtual HRESULT WINAPI RemoveGroup(IRTCBuddyGroup *pGroup) = 0;
   1451     virtual HRESULT WINAPI EnumerateGroups(IRTCEnumGroups **ppEnum) = 0;
   1452     virtual HRESULT WINAPI get_Groups(IRTCCollection **ppCollection) = 0;
   1453     virtual HRESULT WINAPI get_Group(BSTR bstrGroupName,IRTCBuddyGroup **ppGroup) = 0;
   1454     virtual HRESULT WINAPI AddWatcherEx(BSTR bstrPresentityURI,BSTR bstrUserName,BSTR bstrData,RTC_WATCHER_STATE enState,VARIANT_BOOL fPersistent,RTC_ACE_SCOPE enScope,IRTCProfile *pProfile,__LONG32 lFlags,IRTCWatcher2 **ppWatcher) = 0;
   1455     virtual HRESULT WINAPI get_WatcherEx(RTC_WATCHER_MATCH_MODE enMode,BSTR bstrPresentityURI,IRTCWatcher2 **ppWatcher) = 0;
   1456     virtual HRESULT WINAPI put_PresenceProperty(RTC_PRESENCE_PROPERTY enProperty,BSTR bstrProperty) = 0;
   1457     virtual HRESULT WINAPI get_PresenceProperty(RTC_PRESENCE_PROPERTY enProperty,BSTR *pbstrProperty) = 0;
   1458     virtual HRESULT WINAPI SetPresenceData(BSTR bstrNamespace,BSTR bstrData) = 0;
   1459     virtual HRESULT WINAPI GetPresenceData(BSTR *pbstrNamespace,BSTR *pbstrData) = 0;
   1460     virtual HRESULT WINAPI GetLocalPresenceInfo(RTC_PRESENCE_STATUS *penStatus,BSTR *pbstrNotes) = 0;
   1461     virtual HRESULT WINAPI AddBuddyEx(BSTR bstrPresentityURI,BSTR bstrUserName,BSTR bstrData,VARIANT_BOOL fPersistent,RTC_BUDDY_SUBSCRIPTION_TYPE enSubscriptionType,IRTCProfile *pProfile,__LONG32 lFlags,IRTCBuddy2 **ppBuddy) = 0;
   1462   };
   1463 #else
   1464   typedef struct IRTCClientPresence2Vtbl {
   1465     BEGIN_INTERFACE
   1466       HRESULT (WINAPI *QueryInterface)(IRTCClientPresence2 *This,REFIID riid,void **ppvObject);
   1467       ULONG (WINAPI *AddRef)(IRTCClientPresence2 *This);
   1468       ULONG (WINAPI *Release)(IRTCClientPresence2 *This);
   1469       HRESULT (WINAPI *EnablePresence)(IRTCClientPresence2 *This,VARIANT_BOOL fUseStorage,VARIANT varStorage);
   1470       HRESULT (WINAPI *Export)(IRTCClientPresence2 *This,VARIANT varStorage);
   1471       HRESULT (WINAPI *Import)(IRTCClientPresence2 *This,VARIANT varStorage,VARIANT_BOOL fReplaceAll);
   1472       HRESULT (WINAPI *EnumerateBuddies)(IRTCClientPresence2 *This,IRTCEnumBuddies **ppEnum);
   1473       HRESULT (WINAPI *get_Buddies)(IRTCClientPresence2 *This,IRTCCollection **ppCollection);
   1474       HRESULT (WINAPI *get_Buddy)(IRTCClientPresence2 *This,BSTR bstrPresentityURI,IRTCBuddy **ppBuddy);
   1475       HRESULT (WINAPI *AddBuddy)(IRTCClientPresence2 *This,BSTR bstrPresentityURI,BSTR bstrUserName,BSTR bstrData,VARIANT_BOOL fPersistent,IRTCProfile *pProfile,__LONG32 lFlags,IRTCBuddy **ppBuddy);
   1476       HRESULT (WINAPI *RemoveBuddy)(IRTCClientPresence2 *This,IRTCBuddy *pBuddy);
   1477       HRESULT (WINAPI *EnumerateWatchers)(IRTCClientPresence2 *This,IRTCEnumWatchers **ppEnum);
   1478       HRESULT (WINAPI *get_Watchers)(IRTCClientPresence2 *This,IRTCCollection **ppCollection);
   1479       HRESULT (WINAPI *get_Watcher)(IRTCClientPresence2 *This,BSTR bstrPresentityURI,IRTCWatcher **ppWatcher);
   1480       HRESULT (WINAPI *AddWatcher)(IRTCClientPresence2 *This,BSTR bstrPresentityURI,BSTR bstrUserName,BSTR bstrData,VARIANT_BOOL fBlocked,VARIANT_BOOL fPersistent,IRTCWatcher **ppWatcher);
   1481       HRESULT (WINAPI *RemoveWatcher)(IRTCClientPresence2 *This,IRTCWatcher *pWatcher);
   1482       HRESULT (WINAPI *SetLocalPresenceInfo)(IRTCClientPresence2 *This,RTC_PRESENCE_STATUS enStatus,BSTR bstrNotes);
   1483       HRESULT (WINAPI *get_OfferWatcherMode)(IRTCClientPresence2 *This,RTC_OFFER_WATCHER_MODE *penMode);
   1484       HRESULT (WINAPI *put_OfferWatcherMode)(IRTCClientPresence2 *This,RTC_OFFER_WATCHER_MODE enMode);
   1485       HRESULT (WINAPI *get_PrivacyMode)(IRTCClientPresence2 *This,RTC_PRIVACY_MODE *penMode);
   1486       HRESULT (WINAPI *put_PrivacyMode)(IRTCClientPresence2 *This,RTC_PRIVACY_MODE enMode);
   1487       HRESULT (WINAPI *EnablePresenceEx)(IRTCClientPresence2 *This,IRTCProfile *pProfile,VARIANT varStorage,__LONG32 lFlags);
   1488       HRESULT (WINAPI *DisablePresence)(IRTCClientPresence2 *This);
   1489       HRESULT (WINAPI *AddGroup)(IRTCClientPresence2 *This,BSTR bstrGroupName,BSTR bstrData,IRTCProfile *pProfile,__LONG32 lFlags,IRTCBuddyGroup **ppGroup);
   1490       HRESULT (WINAPI *RemoveGroup)(IRTCClientPresence2 *This,IRTCBuddyGroup *pGroup);
   1491       HRESULT (WINAPI *EnumerateGroups)(IRTCClientPresence2 *This,IRTCEnumGroups **ppEnum);
   1492       HRESULT (WINAPI *get_Groups)(IRTCClientPresence2 *This,IRTCCollection **ppCollection);
   1493       HRESULT (WINAPI *get_Group)(IRTCClientPresence2 *This,BSTR bstrGroupName,IRTCBuddyGroup **ppGroup);
   1494       HRESULT (WINAPI *AddWatcherEx)(IRTCClientPresence2 *This,BSTR bstrPresentityURI,BSTR bstrUserName,BSTR bstrData,RTC_WATCHER_STATE enState,VARIANT_BOOL fPersistent,RTC_ACE_SCOPE enScope,IRTCProfile *pProfile,__LONG32 lFlags,IRTCWatcher2 **ppWatcher);
   1495       HRESULT (WINAPI *get_WatcherEx)(IRTCClientPresence2 *This,RTC_WATCHER_MATCH_MODE enMode,BSTR bstrPresentityURI,IRTCWatcher2 **ppWatcher);
   1496       HRESULT (WINAPI *put_PresenceProperty)(IRTCClientPresence2 *This,RTC_PRESENCE_PROPERTY enProperty,BSTR bstrProperty);
   1497       HRESULT (WINAPI *get_PresenceProperty)(IRTCClientPresence2 *This,RTC_PRESENCE_PROPERTY enProperty,BSTR *pbstrProperty);
   1498       HRESULT (WINAPI *SetPresenceData)(IRTCClientPresence2 *This,BSTR bstrNamespace,BSTR bstrData);
   1499       HRESULT (WINAPI *GetPresenceData)(IRTCClientPresence2 *This,BSTR *pbstrNamespace,BSTR *pbstrData);
   1500       HRESULT (WINAPI *GetLocalPresenceInfo)(IRTCClientPresence2 *This,RTC_PRESENCE_STATUS *penStatus,BSTR *pbstrNotes);
   1501       HRESULT (WINAPI *AddBuddyEx)(IRTCClientPresence2 *This,BSTR bstrPresentityURI,BSTR bstrUserName,BSTR bstrData,VARIANT_BOOL fPersistent,RTC_BUDDY_SUBSCRIPTION_TYPE enSubscriptionType,IRTCProfile *pProfile,__LONG32 lFlags,IRTCBuddy2 **ppBuddy);
   1502     END_INTERFACE
   1503   } IRTCClientPresence2Vtbl;
   1504   struct IRTCClientPresence2 {
   1505     CONST_VTBL struct IRTCClientPresence2Vtbl *lpVtbl;
   1506   };
   1507 #ifdef COBJMACROS
   1508 #define IRTCClientPresence2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1509 #define IRTCClientPresence2_AddRef(This) (This)->lpVtbl->AddRef(This)
   1510 #define IRTCClientPresence2_Release(This) (This)->lpVtbl->Release(This)
   1511 #define IRTCClientPresence2_EnablePresence(This,fUseStorage,varStorage) (This)->lpVtbl->EnablePresence(This,fUseStorage,varStorage)
   1512 #define IRTCClientPresence2_Export(This,varStorage) (This)->lpVtbl->Export(This,varStorage)
   1513 #define IRTCClientPresence2_Import(This,varStorage,fReplaceAll) (This)->lpVtbl->Import(This,varStorage,fReplaceAll)
   1514 #define IRTCClientPresence2_EnumerateBuddies(This,ppEnum) (This)->lpVtbl->EnumerateBuddies(This,ppEnum)
   1515 #define IRTCClientPresence2_get_Buddies(This,ppCollection) (This)->lpVtbl->get_Buddies(This,ppCollection)
   1516 #define IRTCClientPresence2_get_Buddy(This,bstrPresentityURI,ppBuddy) (This)->lpVtbl->get_Buddy(This,bstrPresentityURI,ppBuddy)
   1517 #define IRTCClientPresence2_AddBuddy(This,bstrPresentityURI,bstrUserName,bstrData,fPersistent,pProfile,lFlags,ppBuddy) (This)->lpVtbl->AddBuddy(This,bstrPresentityURI,bstrUserName,bstrData,fPersistent,pProfile,lFlags,ppBuddy)
   1518 #define IRTCClientPresence2_RemoveBuddy(This,pBuddy) (This)->lpVtbl->RemoveBuddy(This,pBuddy)
   1519 #define IRTCClientPresence2_EnumerateWatchers(This,ppEnum) (This)->lpVtbl->EnumerateWatchers(This,ppEnum)
   1520 #define IRTCClientPresence2_get_Watchers(This,ppCollection) (This)->lpVtbl->get_Watchers(This,ppCollection)
   1521 #define IRTCClientPresence2_get_Watcher(This,bstrPresentityURI,ppWatcher) (This)->lpVtbl->get_Watcher(This,bstrPresentityURI,ppWatcher)
   1522 #define IRTCClientPresence2_AddWatcher(This,bstrPresentityURI,bstrUserName,bstrData,fBlocked,fPersistent,ppWatcher) (This)->lpVtbl->AddWatcher(This,bstrPresentityURI,bstrUserName,bstrData,fBlocked,fPersistent,ppWatcher)
   1523 #define IRTCClientPresence2_RemoveWatcher(This,pWatcher) (This)->lpVtbl->RemoveWatcher(This,pWatcher)
   1524 #define IRTCClientPresence2_SetLocalPresenceInfo(This,enStatus,bstrNotes) (This)->lpVtbl->SetLocalPresenceInfo(This,enStatus,bstrNotes)
   1525 #define IRTCClientPresence2_get_OfferWatcherMode(This,penMode) (This)->lpVtbl->get_OfferWatcherMode(This,penMode)
   1526 #define IRTCClientPresence2_put_OfferWatcherMode(This,enMode) (This)->lpVtbl->put_OfferWatcherMode(This,enMode)
   1527 #define IRTCClientPresence2_get_PrivacyMode(This,penMode) (This)->lpVtbl->get_PrivacyMode(This,penMode)
   1528 #define IRTCClientPresence2_put_PrivacyMode(This,enMode) (This)->lpVtbl->put_PrivacyMode(This,enMode)
   1529 #define IRTCClientPresence2_EnablePresenceEx(This,pProfile,varStorage,lFlags) (This)->lpVtbl->EnablePresenceEx(This,pProfile,varStorage,lFlags)
   1530 #define IRTCClientPresence2_DisablePresence(This) (This)->lpVtbl->DisablePresence(This)
   1531 #define IRTCClientPresence2_AddGroup(This,bstrGroupName,bstrData,pProfile,lFlags,ppGroup) (This)->lpVtbl->AddGroup(This,bstrGroupName,bstrData,pProfile,lFlags,ppGroup)
   1532 #define IRTCClientPresence2_RemoveGroup(This,pGroup) (This)->lpVtbl->RemoveGroup(This,pGroup)
   1533 #define IRTCClientPresence2_EnumerateGroups(This,ppEnum) (This)->lpVtbl->EnumerateGroups(This,ppEnum)
   1534 #define IRTCClientPresence2_get_Groups(This,ppCollection) (This)->lpVtbl->get_Groups(This,ppCollection)
   1535 #define IRTCClientPresence2_get_Group(This,bstrGroupName,ppGroup) (This)->lpVtbl->get_Group(This,bstrGroupName,ppGroup)
   1536 #define IRTCClientPresence2_AddWatcherEx(This,bstrPresentityURI,bstrUserName,bstrData,enState,fPersistent,enScope,pProfile,lFlags,ppWatcher) (This)->lpVtbl->AddWatcherEx(This,bstrPresentityURI,bstrUserName,bstrData,enState,fPersistent,enScope,pProfile,lFlags,ppWatcher)
   1537 #define IRTCClientPresence2_get_WatcherEx(This,enMode,bstrPresentityURI,ppWatcher) (This)->lpVtbl->get_WatcherEx(This,enMode,bstrPresentityURI,ppWatcher)
   1538 #define IRTCClientPresence2_put_PresenceProperty(This,enProperty,bstrProperty) (This)->lpVtbl->put_PresenceProperty(This,enProperty,bstrProperty)
   1539 #define IRTCClientPresence2_get_PresenceProperty(This,enProperty,pbstrProperty) (This)->lpVtbl->get_PresenceProperty(This,enProperty,pbstrProperty)
   1540 #define IRTCClientPresence2_SetPresenceData(This,bstrNamespace,bstrData) (This)->lpVtbl->SetPresenceData(This,bstrNamespace,bstrData)
   1541 #define IRTCClientPresence2_GetPresenceData(This,pbstrNamespace,pbstrData) (This)->lpVtbl->GetPresenceData(This,pbstrNamespace,pbstrData)
   1542 #define IRTCClientPresence2_GetLocalPresenceInfo(This,penStatus,pbstrNotes) (This)->lpVtbl->GetLocalPresenceInfo(This,penStatus,pbstrNotes)
   1543 #define IRTCClientPresence2_AddBuddyEx(This,bstrPresentityURI,bstrUserName,bstrData,fPersistent,enSubscriptionType,pProfile,lFlags,ppBuddy) (This)->lpVtbl->AddBuddyEx(This,bstrPresentityURI,bstrUserName,bstrData,fPersistent,enSubscriptionType,pProfile,lFlags,ppBuddy)
   1544 #endif
   1545 #endif
   1546   HRESULT WINAPI IRTCClientPresence2_EnablePresenceEx_Proxy(IRTCClientPresence2 *This,IRTCProfile *pProfile,VARIANT varStorage,__LONG32 lFlags);
   1547   void __RPC_STUB IRTCClientPresence2_EnablePresenceEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1548   HRESULT WINAPI IRTCClientPresence2_DisablePresence_Proxy(IRTCClientPresence2 *This);
   1549   void __RPC_STUB IRTCClientPresence2_DisablePresence_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1550   HRESULT WINAPI IRTCClientPresence2_AddGroup_Proxy(IRTCClientPresence2 *This,BSTR bstrGroupName,BSTR bstrData,IRTCProfile *pProfile,__LONG32 lFlags,IRTCBuddyGroup **ppGroup);
   1551   void __RPC_STUB IRTCClientPresence2_AddGroup_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1552   HRESULT WINAPI IRTCClientPresence2_RemoveGroup_Proxy(IRTCClientPresence2 *This,IRTCBuddyGroup *pGroup);
   1553   void __RPC_STUB IRTCClientPresence2_RemoveGroup_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1554   HRESULT WINAPI IRTCClientPresence2_EnumerateGroups_Proxy(IRTCClientPresence2 *This,IRTCEnumGroups **ppEnum);
   1555   void __RPC_STUB IRTCClientPresence2_EnumerateGroups_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1556   HRESULT WINAPI IRTCClientPresence2_get_Groups_Proxy(IRTCClientPresence2 *This,IRTCCollection **ppCollection);
   1557   void __RPC_STUB IRTCClientPresence2_get_Groups_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1558   HRESULT WINAPI IRTCClientPresence2_get_Group_Proxy(IRTCClientPresence2 *This,BSTR bstrGroupName,IRTCBuddyGroup **ppGroup);
   1559   void __RPC_STUB IRTCClientPresence2_get_Group_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1560   HRESULT WINAPI IRTCClientPresence2_AddWatcherEx_Proxy(IRTCClientPresence2 *This,BSTR bstrPresentityURI,BSTR bstrUserName,BSTR bstrData,RTC_WATCHER_STATE enState,VARIANT_BOOL fPersistent,RTC_ACE_SCOPE enScope,IRTCProfile *pProfile,__LONG32 lFlags,IRTCWatcher2 **ppWatcher);
   1561   void __RPC_STUB IRTCClientPresence2_AddWatcherEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1562   HRESULT WINAPI IRTCClientPresence2_get_WatcherEx_Proxy(IRTCClientPresence2 *This,RTC_WATCHER_MATCH_MODE enMode,BSTR bstrPresentityURI,IRTCWatcher2 **ppWatcher);
   1563   void __RPC_STUB IRTCClientPresence2_get_WatcherEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1564   HRESULT WINAPI IRTCClientPresence2_put_PresenceProperty_Proxy(IRTCClientPresence2 *This,RTC_PRESENCE_PROPERTY enProperty,BSTR bstrProperty);
   1565   void __RPC_STUB IRTCClientPresence2_put_PresenceProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1566   HRESULT WINAPI IRTCClientPresence2_get_PresenceProperty_Proxy(IRTCClientPresence2 *This,RTC_PRESENCE_PROPERTY enProperty,BSTR *pbstrProperty);
   1567   void __RPC_STUB IRTCClientPresence2_get_PresenceProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1568   HRESULT WINAPI IRTCClientPresence2_SetPresenceData_Proxy(IRTCClientPresence2 *This,BSTR bstrNamespace,BSTR bstrData);
   1569   void __RPC_STUB IRTCClientPresence2_SetPresenceData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1570   HRESULT WINAPI IRTCClientPresence2_GetPresenceData_Proxy(IRTCClientPresence2 *This,BSTR *pbstrNamespace,BSTR *pbstrData);
   1571   void __RPC_STUB IRTCClientPresence2_GetPresenceData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1572   HRESULT WINAPI IRTCClientPresence2_GetLocalPresenceInfo_Proxy(IRTCClientPresence2 *This,RTC_PRESENCE_STATUS *penStatus,BSTR *pbstrNotes);
   1573   void __RPC_STUB IRTCClientPresence2_GetLocalPresenceInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1574   HRESULT WINAPI IRTCClientPresence2_AddBuddyEx_Proxy(IRTCClientPresence2 *This,BSTR bstrPresentityURI,BSTR bstrUserName,BSTR bstrData,VARIANT_BOOL fPersistent,RTC_BUDDY_SUBSCRIPTION_TYPE enSubscriptionType,IRTCProfile *pProfile,__LONG32 lFlags,IRTCBuddy2 **ppBuddy);
   1575   void __RPC_STUB IRTCClientPresence2_AddBuddyEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1576 #endif
   1577 
   1578 #ifndef __IRTCClientProvisioning_INTERFACE_DEFINED__
   1579 #define __IRTCClientProvisioning_INTERFACE_DEFINED__
   1580   EXTERN_C const IID IID_IRTCClientProvisioning;
   1581 #if defined(__cplusplus) && !defined(CINTERFACE)
   1582   struct IRTCClientProvisioning : public IUnknown {
   1583   public:
   1584     virtual HRESULT WINAPI CreateProfile(BSTR bstrProfileXML,IRTCProfile **ppProfile) = 0;
   1585     virtual HRESULT WINAPI EnableProfile(IRTCProfile *pProfile,__LONG32 lRegisterFlags) = 0;
   1586     virtual HRESULT WINAPI DisableProfile(IRTCProfile *pProfile) = 0;
   1587     virtual HRESULT WINAPI EnumerateProfiles(IRTCEnumProfiles **ppEnum) = 0;
   1588     virtual HRESULT WINAPI get_Profiles(IRTCCollection **ppCollection) = 0;
   1589     virtual HRESULT WINAPI GetProfile(BSTR bstrUserAccount,BSTR bstrUserPassword,BSTR bstrUserURI,BSTR bstrServer,__LONG32 lTransport,LONG_PTR lCookie) = 0;
   1590     virtual HRESULT WINAPI get_SessionCapabilities(__LONG32 *plSupportedSessions) = 0;
   1591   };
   1592 #else
   1593   typedef struct IRTCClientProvisioningVtbl {
   1594     BEGIN_INTERFACE
   1595       HRESULT (WINAPI *QueryInterface)(IRTCClientProvisioning *This,REFIID riid,void **ppvObject);
   1596       ULONG (WINAPI *AddRef)(IRTCClientProvisioning *This);
   1597       ULONG (WINAPI *Release)(IRTCClientProvisioning *This);
   1598       HRESULT (WINAPI *CreateProfile)(IRTCClientProvisioning *This,BSTR bstrProfileXML,IRTCProfile **ppProfile);
   1599       HRESULT (WINAPI *EnableProfile)(IRTCClientProvisioning *This,IRTCProfile *pProfile,__LONG32 lRegisterFlags);
   1600       HRESULT (WINAPI *DisableProfile)(IRTCClientProvisioning *This,IRTCProfile *pProfile);
   1601       HRESULT (WINAPI *EnumerateProfiles)(IRTCClientProvisioning *This,IRTCEnumProfiles **ppEnum);
   1602       HRESULT (WINAPI *get_Profiles)(IRTCClientProvisioning *This,IRTCCollection **ppCollection);
   1603       HRESULT (WINAPI *GetProfile)(IRTCClientProvisioning *This,BSTR bstrUserAccount,BSTR bstrUserPassword,BSTR bstrUserURI,BSTR bstrServer,__LONG32 lTransport,LONG_PTR lCookie);
   1604       HRESULT (WINAPI *get_SessionCapabilities)(IRTCClientProvisioning *This,__LONG32 *plSupportedSessions);
   1605     END_INTERFACE
   1606   } IRTCClientProvisioningVtbl;
   1607   struct IRTCClientProvisioning {
   1608     CONST_VTBL struct IRTCClientProvisioningVtbl *lpVtbl;
   1609   };
   1610 #ifdef COBJMACROS
   1611 #define IRTCClientProvisioning_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1612 #define IRTCClientProvisioning_AddRef(This) (This)->lpVtbl->AddRef(This)
   1613 #define IRTCClientProvisioning_Release(This) (This)->lpVtbl->Release(This)
   1614 #define IRTCClientProvisioning_CreateProfile(This,bstrProfileXML,ppProfile) (This)->lpVtbl->CreateProfile(This,bstrProfileXML,ppProfile)
   1615 #define IRTCClientProvisioning_EnableProfile(This,pProfile,lRegisterFlags) (This)->lpVtbl->EnableProfile(This,pProfile,lRegisterFlags)
   1616 #define IRTCClientProvisioning_DisableProfile(This,pProfile) (This)->lpVtbl->DisableProfile(This,pProfile)
   1617 #define IRTCClientProvisioning_EnumerateProfiles(This,ppEnum) (This)->lpVtbl->EnumerateProfiles(This,ppEnum)
   1618 #define IRTCClientProvisioning_get_Profiles(This,ppCollection) (This)->lpVtbl->get_Profiles(This,ppCollection)
   1619 #define IRTCClientProvisioning_GetProfile(This,bstrUserAccount,bstrUserPassword,bstrUserURI,bstrServer,lTransport,lCookie) (This)->lpVtbl->GetProfile(This,bstrUserAccount,bstrUserPassword,bstrUserURI,bstrServer,lTransport,lCookie)
   1620 #define IRTCClientProvisioning_get_SessionCapabilities(This,plSupportedSessions) (This)->lpVtbl->get_SessionCapabilities(This,plSupportedSessions)
   1621 #endif
   1622 #endif
   1623   HRESULT WINAPI IRTCClientProvisioning_CreateProfile_Proxy(IRTCClientProvisioning *This,BSTR bstrProfileXML,IRTCProfile **ppProfile);
   1624   void __RPC_STUB IRTCClientProvisioning_CreateProfile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1625   HRESULT WINAPI IRTCClientProvisioning_EnableProfile_Proxy(IRTCClientProvisioning *This,IRTCProfile *pProfile,__LONG32 lRegisterFlags);
   1626   void __RPC_STUB IRTCClientProvisioning_EnableProfile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1627   HRESULT WINAPI IRTCClientProvisioning_DisableProfile_Proxy(IRTCClientProvisioning *This,IRTCProfile *pProfile);
   1628   void __RPC_STUB IRTCClientProvisioning_DisableProfile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1629   HRESULT WINAPI IRTCClientProvisioning_EnumerateProfiles_Proxy(IRTCClientProvisioning *This,IRTCEnumProfiles **ppEnum);
   1630   void __RPC_STUB IRTCClientProvisioning_EnumerateProfiles_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1631   HRESULT WINAPI IRTCClientProvisioning_get_Profiles_Proxy(IRTCClientProvisioning *This,IRTCCollection **ppCollection);
   1632   void __RPC_STUB IRTCClientProvisioning_get_Profiles_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1633   HRESULT WINAPI IRTCClientProvisioning_GetProfile_Proxy(IRTCClientProvisioning *This,BSTR bstrUserAccount,BSTR bstrUserPassword,BSTR bstrUserURI,BSTR bstrServer,__LONG32 lTransport,LONG_PTR lCookie);
   1634   void __RPC_STUB IRTCClientProvisioning_GetProfile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1635   HRESULT WINAPI IRTCClientProvisioning_get_SessionCapabilities_Proxy(IRTCClientProvisioning *This,__LONG32 *plSupportedSessions);
   1636   void __RPC_STUB IRTCClientProvisioning_get_SessionCapabilities_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1637 #endif
   1638 
   1639 #ifndef __IRTCClientProvisioning2_INTERFACE_DEFINED__
   1640 #define __IRTCClientProvisioning2_INTERFACE_DEFINED__
   1641   EXTERN_C const IID IID_IRTCClientProvisioning2;
   1642 #if defined(__cplusplus) && !defined(CINTERFACE)
   1643   struct IRTCClientProvisioning2 : public IRTCClientProvisioning {
   1644   public:
   1645     virtual HRESULT WINAPI EnableProfileEx(IRTCProfile *pProfile,__LONG32 lRegisterFlags,__LONG32 lRoamingFlags) = 0;
   1646   };
   1647 #else
   1648   typedef struct IRTCClientProvisioning2Vtbl {
   1649     BEGIN_INTERFACE
   1650       HRESULT (WINAPI *QueryInterface)(IRTCClientProvisioning2 *This,REFIID riid,void **ppvObject);
   1651       ULONG (WINAPI *AddRef)(IRTCClientProvisioning2 *This);
   1652       ULONG (WINAPI *Release)(IRTCClientProvisioning2 *This);
   1653       HRESULT (WINAPI *CreateProfile)(IRTCClientProvisioning2 *This,BSTR bstrProfileXML,IRTCProfile **ppProfile);
   1654       HRESULT (WINAPI *EnableProfile)(IRTCClientProvisioning2 *This,IRTCProfile *pProfile,__LONG32 lRegisterFlags);
   1655       HRESULT (WINAPI *DisableProfile)(IRTCClientProvisioning2 *This,IRTCProfile *pProfile);
   1656       HRESULT (WINAPI *EnumerateProfiles)(IRTCClientProvisioning2 *This,IRTCEnumProfiles **ppEnum);
   1657       HRESULT (WINAPI *get_Profiles)(IRTCClientProvisioning2 *This,IRTCCollection **ppCollection);
   1658       HRESULT (WINAPI *GetProfile)(IRTCClientProvisioning2 *This,BSTR bstrUserAccount,BSTR bstrUserPassword,BSTR bstrUserURI,BSTR bstrServer,__LONG32 lTransport,LONG_PTR lCookie);
   1659       HRESULT (WINAPI *get_SessionCapabilities)(IRTCClientProvisioning2 *This,__LONG32 *plSupportedSessions);
   1660       HRESULT (WINAPI *EnableProfileEx)(IRTCClientProvisioning2 *This,IRTCProfile *pProfile,__LONG32 lRegisterFlags,__LONG32 lRoamingFlags);
   1661     END_INTERFACE
   1662   } IRTCClientProvisioning2Vtbl;
   1663   struct IRTCClientProvisioning2 {
   1664     CONST_VTBL struct IRTCClientProvisioning2Vtbl *lpVtbl;
   1665   };
   1666 #ifdef COBJMACROS
   1667 #define IRTCClientProvisioning2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1668 #define IRTCClientProvisioning2_AddRef(This) (This)->lpVtbl->AddRef(This)
   1669 #define IRTCClientProvisioning2_Release(This) (This)->lpVtbl->Release(This)
   1670 #define IRTCClientProvisioning2_CreateProfile(This,bstrProfileXML,ppProfile) (This)->lpVtbl->CreateProfile(This,bstrProfileXML,ppProfile)
   1671 #define IRTCClientProvisioning2_EnableProfile(This,pProfile,lRegisterFlags) (This)->lpVtbl->EnableProfile(This,pProfile,lRegisterFlags)
   1672 #define IRTCClientProvisioning2_DisableProfile(This,pProfile) (This)->lpVtbl->DisableProfile(This,pProfile)
   1673 #define IRTCClientProvisioning2_EnumerateProfiles(This,ppEnum) (This)->lpVtbl->EnumerateProfiles(This,ppEnum)
   1674 #define IRTCClientProvisioning2_get_Profiles(This,ppCollection) (This)->lpVtbl->get_Profiles(This,ppCollection)
   1675 #define IRTCClientProvisioning2_GetProfile(This,bstrUserAccount,bstrUserPassword,bstrUserURI,bstrServer,lTransport,lCookie) (This)->lpVtbl->GetProfile(This,bstrUserAccount,bstrUserPassword,bstrUserURI,bstrServer,lTransport,lCookie)
   1676 #define IRTCClientProvisioning2_get_SessionCapabilities(This,plSupportedSessions) (This)->lpVtbl->get_SessionCapabilities(This,plSupportedSessions)
   1677 #define IRTCClientProvisioning2_EnableProfileEx(This,pProfile,lRegisterFlags,lRoamingFlags) (This)->lpVtbl->EnableProfileEx(This,pProfile,lRegisterFlags,lRoamingFlags)
   1678 #endif
   1679 #endif
   1680   HRESULT WINAPI IRTCClientProvisioning2_EnableProfileEx_Proxy(IRTCClientProvisioning2 *This,IRTCProfile *pProfile,__LONG32 lRegisterFlags,__LONG32 lRoamingFlags);
   1681   void __RPC_STUB IRTCClientProvisioning2_EnableProfileEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1682 #endif
   1683 
   1684 #ifndef __IRTCProfile_INTERFACE_DEFINED__
   1685 #define __IRTCProfile_INTERFACE_DEFINED__
   1686   EXTERN_C const IID IID_IRTCProfile;
   1687 #if defined(__cplusplus) && !defined(CINTERFACE)
   1688   struct IRTCProfile : public IUnknown {
   1689   public:
   1690     virtual HRESULT WINAPI get_Key(BSTR *pbstrKey) = 0;
   1691     virtual HRESULT WINAPI get_Name(BSTR *pbstrName) = 0;
   1692     virtual HRESULT WINAPI get_XML(BSTR *pbstrXML) = 0;
   1693     virtual HRESULT WINAPI get_ProviderName(BSTR *pbstrName) = 0;
   1694     virtual HRESULT WINAPI get_ProviderURI(RTC_PROVIDER_URI enURI,BSTR *pbstrURI) = 0;
   1695     virtual HRESULT WINAPI get_ProviderData(BSTR *pbstrData) = 0;
   1696     virtual HRESULT WINAPI get_ClientName(BSTR *pbstrName) = 0;
   1697     virtual HRESULT WINAPI get_ClientBanner(VARIANT_BOOL *pfBanner) = 0;
   1698     virtual HRESULT WINAPI get_ClientMinVer(BSTR *pbstrMinVer) = 0;
   1699     virtual HRESULT WINAPI get_ClientCurVer(BSTR *pbstrCurVer) = 0;
   1700     virtual HRESULT WINAPI get_ClientUpdateURI(BSTR *pbstrUpdateURI) = 0;
   1701     virtual HRESULT WINAPI get_ClientData(BSTR *pbstrData) = 0;
   1702     virtual HRESULT WINAPI get_UserURI(BSTR *pbstrUserURI) = 0;
   1703     virtual HRESULT WINAPI get_UserName(BSTR *pbstrUserName) = 0;
   1704     virtual HRESULT WINAPI get_UserAccount(BSTR *pbstrUserAccount) = 0;
   1705     virtual HRESULT WINAPI SetCredentials(BSTR bstrUserURI,BSTR bstrUserAccount,BSTR bstrPassword) = 0;
   1706     virtual HRESULT WINAPI get_SessionCapabilities(__LONG32 *plSupportedSessions) = 0;
   1707     virtual HRESULT WINAPI get_State(RTC_REGISTRATION_STATE *penState) = 0;
   1708   };
   1709 #else
   1710   typedef struct IRTCProfileVtbl {
   1711     BEGIN_INTERFACE
   1712       HRESULT (WINAPI *QueryInterface)(IRTCProfile *This,REFIID riid,void **ppvObject);
   1713       ULONG (WINAPI *AddRef)(IRTCProfile *This);
   1714       ULONG (WINAPI *Release)(IRTCProfile *This);
   1715       HRESULT (WINAPI *get_Key)(IRTCProfile *This,BSTR *pbstrKey);
   1716       HRESULT (WINAPI *get_Name)(IRTCProfile *This,BSTR *pbstrName);
   1717       HRESULT (WINAPI *get_XML)(IRTCProfile *This,BSTR *pbstrXML);
   1718       HRESULT (WINAPI *get_ProviderName)(IRTCProfile *This,BSTR *pbstrName);
   1719       HRESULT (WINAPI *get_ProviderURI)(IRTCProfile *This,RTC_PROVIDER_URI enURI,BSTR *pbstrURI);
   1720       HRESULT (WINAPI *get_ProviderData)(IRTCProfile *This,BSTR *pbstrData);
   1721       HRESULT (WINAPI *get_ClientName)(IRTCProfile *This,BSTR *pbstrName);
   1722       HRESULT (WINAPI *get_ClientBanner)(IRTCProfile *This,VARIANT_BOOL *pfBanner);
   1723       HRESULT (WINAPI *get_ClientMinVer)(IRTCProfile *This,BSTR *pbstrMinVer);
   1724       HRESULT (WINAPI *get_ClientCurVer)(IRTCProfile *This,BSTR *pbstrCurVer);
   1725       HRESULT (WINAPI *get_ClientUpdateURI)(IRTCProfile *This,BSTR *pbstrUpdateURI);
   1726       HRESULT (WINAPI *get_ClientData)(IRTCProfile *This,BSTR *pbstrData);
   1727       HRESULT (WINAPI *get_UserURI)(IRTCProfile *This,BSTR *pbstrUserURI);
   1728       HRESULT (WINAPI *get_UserName)(IRTCProfile *This,BSTR *pbstrUserName);
   1729       HRESULT (WINAPI *get_UserAccount)(IRTCProfile *This,BSTR *pbstrUserAccount);
   1730       HRESULT (WINAPI *SetCredentials)(IRTCProfile *This,BSTR bstrUserURI,BSTR bstrUserAccount,BSTR bstrPassword);
   1731       HRESULT (WINAPI *get_SessionCapabilities)(IRTCProfile *This,__LONG32 *plSupportedSessions);
   1732       HRESULT (WINAPI *get_State)(IRTCProfile *This,RTC_REGISTRATION_STATE *penState);
   1733     END_INTERFACE
   1734   } IRTCProfileVtbl;
   1735   struct IRTCProfile {
   1736     CONST_VTBL struct IRTCProfileVtbl *lpVtbl;
   1737   };
   1738 #ifdef COBJMACROS
   1739 #define IRTCProfile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1740 #define IRTCProfile_AddRef(This) (This)->lpVtbl->AddRef(This)
   1741 #define IRTCProfile_Release(This) (This)->lpVtbl->Release(This)
   1742 #define IRTCProfile_get_Key(This,pbstrKey) (This)->lpVtbl->get_Key(This,pbstrKey)
   1743 #define IRTCProfile_get_Name(This,pbstrName) (This)->lpVtbl->get_Name(This,pbstrName)
   1744 #define IRTCProfile_get_XML(This,pbstrXML) (This)->lpVtbl->get_XML(This,pbstrXML)
   1745 #define IRTCProfile_get_ProviderName(This,pbstrName) (This)->lpVtbl->get_ProviderName(This,pbstrName)
   1746 #define IRTCProfile_get_ProviderURI(This,enURI,pbstrURI) (This)->lpVtbl->get_ProviderURI(This,enURI,pbstrURI)
   1747 #define IRTCProfile_get_ProviderData(This,pbstrData) (This)->lpVtbl->get_ProviderData(This,pbstrData)
   1748 #define IRTCProfile_get_ClientName(This,pbstrName) (This)->lpVtbl->get_ClientName(This,pbstrName)
   1749 #define IRTCProfile_get_ClientBanner(This,pfBanner) (This)->lpVtbl->get_ClientBanner(This,pfBanner)
   1750 #define IRTCProfile_get_ClientMinVer(This,pbstrMinVer) (This)->lpVtbl->get_ClientMinVer(This,pbstrMinVer)
   1751 #define IRTCProfile_get_ClientCurVer(This,pbstrCurVer) (This)->lpVtbl->get_ClientCurVer(This,pbstrCurVer)
   1752 #define IRTCProfile_get_ClientUpdateURI(This,pbstrUpdateURI) (This)->lpVtbl->get_ClientUpdateURI(This,pbstrUpdateURI)
   1753 #define IRTCProfile_get_ClientData(This,pbstrData) (This)->lpVtbl->get_ClientData(This,pbstrData)
   1754 #define IRTCProfile_get_UserURI(This,pbstrUserURI) (This)->lpVtbl->get_UserURI(This,pbstrUserURI)
   1755 #define IRTCProfile_get_UserName(This,pbstrUserName) (This)->lpVtbl->get_UserName(This,pbstrUserName)
   1756 #define IRTCProfile_get_UserAccount(This,pbstrUserAccount) (This)->lpVtbl->get_UserAccount(This,pbstrUserAccount)
   1757 #define IRTCProfile_SetCredentials(This,bstrUserURI,bstrUserAccount,bstrPassword) (This)->lpVtbl->SetCredentials(This,bstrUserURI,bstrUserAccount,bstrPassword)
   1758 #define IRTCProfile_get_SessionCapabilities(This,plSupportedSessions) (This)->lpVtbl->get_SessionCapabilities(This,plSupportedSessions)
   1759 #define IRTCProfile_get_State(This,penState) (This)->lpVtbl->get_State(This,penState)
   1760 #endif
   1761 #endif
   1762   HRESULT WINAPI IRTCProfile_get_Key_Proxy(IRTCProfile *This,BSTR *pbstrKey);
   1763   void __RPC_STUB IRTCProfile_get_Key_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1764   HRESULT WINAPI IRTCProfile_get_Name_Proxy(IRTCProfile *This,BSTR *pbstrName);
   1765   void __RPC_STUB IRTCProfile_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1766   HRESULT WINAPI IRTCProfile_get_XML_Proxy(IRTCProfile *This,BSTR *pbstrXML);
   1767   void __RPC_STUB IRTCProfile_get_XML_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1768   HRESULT WINAPI IRTCProfile_get_ProviderName_Proxy(IRTCProfile *This,BSTR *pbstrName);
   1769   void __RPC_STUB IRTCProfile_get_ProviderName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1770   HRESULT WINAPI IRTCProfile_get_ProviderURI_Proxy(IRTCProfile *This,RTC_PROVIDER_URI enURI,BSTR *pbstrURI);
   1771   void __RPC_STUB IRTCProfile_get_ProviderURI_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1772   HRESULT WINAPI IRTCProfile_get_ProviderData_Proxy(IRTCProfile *This,BSTR *pbstrData);
   1773   void __RPC_STUB IRTCProfile_get_ProviderData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1774   HRESULT WINAPI IRTCProfile_get_ClientName_Proxy(IRTCProfile *This,BSTR *pbstrName);
   1775   void __RPC_STUB IRTCProfile_get_ClientName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1776   HRESULT WINAPI IRTCProfile_get_ClientBanner_Proxy(IRTCProfile *This,VARIANT_BOOL *pfBanner);
   1777   void __RPC_STUB IRTCProfile_get_ClientBanner_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1778   HRESULT WINAPI IRTCProfile_get_ClientMinVer_Proxy(IRTCProfile *This,BSTR *pbstrMinVer);
   1779   void __RPC_STUB IRTCProfile_get_ClientMinVer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1780   HRESULT WINAPI IRTCProfile_get_ClientCurVer_Proxy(IRTCProfile *This,BSTR *pbstrCurVer);
   1781   void __RPC_STUB IRTCProfile_get_ClientCurVer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1782   HRESULT WINAPI IRTCProfile_get_ClientUpdateURI_Proxy(IRTCProfile *This,BSTR *pbstrUpdateURI);
   1783   void __RPC_STUB IRTCProfile_get_ClientUpdateURI_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1784   HRESULT WINAPI IRTCProfile_get_ClientData_Proxy(IRTCProfile *This,BSTR *pbstrData);
   1785   void __RPC_STUB IRTCProfile_get_ClientData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1786   HRESULT WINAPI IRTCProfile_get_UserURI_Proxy(IRTCProfile *This,BSTR *pbstrUserURI);
   1787   void __RPC_STUB IRTCProfile_get_UserURI_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1788   HRESULT WINAPI IRTCProfile_get_UserName_Proxy(IRTCProfile *This,BSTR *pbstrUserName);
   1789   void __RPC_STUB IRTCProfile_get_UserName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1790   HRESULT WINAPI IRTCProfile_get_UserAccount_Proxy(IRTCProfile *This,BSTR *pbstrUserAccount);
   1791   void __RPC_STUB IRTCProfile_get_UserAccount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1792   HRESULT WINAPI IRTCProfile_SetCredentials_Proxy(IRTCProfile *This,BSTR bstrUserURI,BSTR bstrUserAccount,BSTR bstrPassword);
   1793   void __RPC_STUB IRTCProfile_SetCredentials_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1794   HRESULT WINAPI IRTCProfile_get_SessionCapabilities_Proxy(IRTCProfile *This,__LONG32 *plSupportedSessions);
   1795   void __RPC_STUB IRTCProfile_get_SessionCapabilities_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1796   HRESULT WINAPI IRTCProfile_get_State_Proxy(IRTCProfile *This,RTC_REGISTRATION_STATE *penState);
   1797   void __RPC_STUB IRTCProfile_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1798 #endif
   1799 
   1800 #ifndef __IRTCProfile2_INTERFACE_DEFINED__
   1801 #define __IRTCProfile2_INTERFACE_DEFINED__
   1802   EXTERN_C const IID IID_IRTCProfile2;
   1803 #if defined(__cplusplus) && !defined(CINTERFACE)
   1804   struct IRTCProfile2 : public IRTCProfile {
   1805   public:
   1806     virtual HRESULT WINAPI get_Realm(BSTR *pbstrRealm) = 0;
   1807     virtual HRESULT WINAPI put_Realm(BSTR bstrRealm) = 0;
   1808     virtual HRESULT WINAPI get_AllowedAuth(__LONG32 *plAllowedAuth) = 0;
   1809     virtual HRESULT WINAPI put_AllowedAuth(__LONG32 lAllowedAuth) = 0;
   1810   };
   1811 #else
   1812   typedef struct IRTCProfile2Vtbl {
   1813     BEGIN_INTERFACE
   1814       HRESULT (WINAPI *QueryInterface)(IRTCProfile2 *This,REFIID riid,void **ppvObject);
   1815       ULONG (WINAPI *AddRef)(IRTCProfile2 *This);
   1816       ULONG (WINAPI *Release)(IRTCProfile2 *This);
   1817       HRESULT (WINAPI *get_Key)(IRTCProfile2 *This,BSTR *pbstrKey);
   1818       HRESULT (WINAPI *get_Name)(IRTCProfile2 *This,BSTR *pbstrName);
   1819       HRESULT (WINAPI *get_XML)(IRTCProfile2 *This,BSTR *pbstrXML);
   1820       HRESULT (WINAPI *get_ProviderName)(IRTCProfile2 *This,BSTR *pbstrName);
   1821       HRESULT (WINAPI *get_ProviderURI)(IRTCProfile2 *This,RTC_PROVIDER_URI enURI,BSTR *pbstrURI);
   1822       HRESULT (WINAPI *get_ProviderData)(IRTCProfile2 *This,BSTR *pbstrData);
   1823       HRESULT (WINAPI *get_ClientName)(IRTCProfile2 *This,BSTR *pbstrName);
   1824       HRESULT (WINAPI *get_ClientBanner)(IRTCProfile2 *This,VARIANT_BOOL *pfBanner);
   1825       HRESULT (WINAPI *get_ClientMinVer)(IRTCProfile2 *This,BSTR *pbstrMinVer);
   1826       HRESULT (WINAPI *get_ClientCurVer)(IRTCProfile2 *This,BSTR *pbstrCurVer);
   1827       HRESULT (WINAPI *get_ClientUpdateURI)(IRTCProfile2 *This,BSTR *pbstrUpdateURI);
   1828       HRESULT (WINAPI *get_ClientData)(IRTCProfile2 *This,BSTR *pbstrData);
   1829       HRESULT (WINAPI *get_UserURI)(IRTCProfile2 *This,BSTR *pbstrUserURI);
   1830       HRESULT (WINAPI *get_UserName)(IRTCProfile2 *This,BSTR *pbstrUserName);
   1831       HRESULT (WINAPI *get_UserAccount)(IRTCProfile2 *This,BSTR *pbstrUserAccount);
   1832       HRESULT (WINAPI *SetCredentials)(IRTCProfile2 *This,BSTR bstrUserURI,BSTR bstrUserAccount,BSTR bstrPassword);
   1833       HRESULT (WINAPI *get_SessionCapabilities)(IRTCProfile2 *This,__LONG32 *plSupportedSessions);
   1834       HRESULT (WINAPI *get_State)(IRTCProfile2 *This,RTC_REGISTRATION_STATE *penState);
   1835       HRESULT (WINAPI *get_Realm)(IRTCProfile2 *This,BSTR *pbstrRealm);
   1836       HRESULT (WINAPI *put_Realm)(IRTCProfile2 *This,BSTR bstrRealm);
   1837       HRESULT (WINAPI *get_AllowedAuth)(IRTCProfile2 *This,__LONG32 *plAllowedAuth);
   1838       HRESULT (WINAPI *put_AllowedAuth)(IRTCProfile2 *This,__LONG32 lAllowedAuth);
   1839     END_INTERFACE
   1840   } IRTCProfile2Vtbl;
   1841   struct IRTCProfile2 {
   1842     CONST_VTBL struct IRTCProfile2Vtbl *lpVtbl;
   1843   };
   1844 #ifdef COBJMACROS
   1845 #define IRTCProfile2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1846 #define IRTCProfile2_AddRef(This) (This)->lpVtbl->AddRef(This)
   1847 #define IRTCProfile2_Release(This) (This)->lpVtbl->Release(This)
   1848 #define IRTCProfile2_get_Key(This,pbstrKey) (This)->lpVtbl->get_Key(This,pbstrKey)
   1849 #define IRTCProfile2_get_Name(This,pbstrName) (This)->lpVtbl->get_Name(This,pbstrName)
   1850 #define IRTCProfile2_get_XML(This,pbstrXML) (This)->lpVtbl->get_XML(This,pbstrXML)
   1851 #define IRTCProfile2_get_ProviderName(This,pbstrName) (This)->lpVtbl->get_ProviderName(This,pbstrName)
   1852 #define IRTCProfile2_get_ProviderURI(This,enURI,pbstrURI) (This)->lpVtbl->get_ProviderURI(This,enURI,pbstrURI)
   1853 #define IRTCProfile2_get_ProviderData(This,pbstrData) (This)->lpVtbl->get_ProviderData(This,pbstrData)
   1854 #define IRTCProfile2_get_ClientName(This,pbstrName) (This)->lpVtbl->get_ClientName(This,pbstrName)
   1855 #define IRTCProfile2_get_ClientBanner(This,pfBanner) (This)->lpVtbl->get_ClientBanner(This,pfBanner)
   1856 #define IRTCProfile2_get_ClientMinVer(This,pbstrMinVer) (This)->lpVtbl->get_ClientMinVer(This,pbstrMinVer)
   1857 #define IRTCProfile2_get_ClientCurVer(This,pbstrCurVer) (This)->lpVtbl->get_ClientCurVer(This,pbstrCurVer)
   1858 #define IRTCProfile2_get_ClientUpdateURI(This,pbstrUpdateURI) (This)->lpVtbl->get_ClientUpdateURI(This,pbstrUpdateURI)
   1859 #define IRTCProfile2_get_ClientData(This,pbstrData) (This)->lpVtbl->get_ClientData(This,pbstrData)
   1860 #define IRTCProfile2_get_UserURI(This,pbstrUserURI) (This)->lpVtbl->get_UserURI(This,pbstrUserURI)
   1861 #define IRTCProfile2_get_UserName(This,pbstrUserName) (This)->lpVtbl->get_UserName(This,pbstrUserName)
   1862 #define IRTCProfile2_get_UserAccount(This,pbstrUserAccount) (This)->lpVtbl->get_UserAccount(This,pbstrUserAccount)
   1863 #define IRTCProfile2_SetCredentials(This,bstrUserURI,bstrUserAccount,bstrPassword) (This)->lpVtbl->SetCredentials(This,bstrUserURI,bstrUserAccount,bstrPassword)
   1864 #define IRTCProfile2_get_SessionCapabilities(This,plSupportedSessions) (This)->lpVtbl->get_SessionCapabilities(This,plSupportedSessions)
   1865 #define IRTCProfile2_get_State(This,penState) (This)->lpVtbl->get_State(This,penState)
   1866 #define IRTCProfile2_get_Realm(This,pbstrRealm) (This)->lpVtbl->get_Realm(This,pbstrRealm)
   1867 #define IRTCProfile2_put_Realm(This,bstrRealm) (This)->lpVtbl->put_Realm(This,bstrRealm)
   1868 #define IRTCProfile2_get_AllowedAuth(This,plAllowedAuth) (This)->lpVtbl->get_AllowedAuth(This,plAllowedAuth)
   1869 #define IRTCProfile2_put_AllowedAuth(This,lAllowedAuth) (This)->lpVtbl->put_AllowedAuth(This,lAllowedAuth)
   1870 #endif
   1871 #endif
   1872   HRESULT WINAPI IRTCProfile2_get_Realm_Proxy(IRTCProfile2 *This,BSTR *pbstrRealm);
   1873   void __RPC_STUB IRTCProfile2_get_Realm_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1874   HRESULT WINAPI IRTCProfile2_put_Realm_Proxy(IRTCProfile2 *This,BSTR bstrRealm);
   1875   void __RPC_STUB IRTCProfile2_put_Realm_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1876   HRESULT WINAPI IRTCProfile2_get_AllowedAuth_Proxy(IRTCProfile2 *This,__LONG32 *plAllowedAuth);
   1877   void __RPC_STUB IRTCProfile2_get_AllowedAuth_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1878   HRESULT WINAPI IRTCProfile2_put_AllowedAuth_Proxy(IRTCProfile2 *This,__LONG32 lAllowedAuth);
   1879   void __RPC_STUB IRTCProfile2_put_AllowedAuth_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1880 #endif
   1881 
   1882 #ifndef __IRTCSession_INTERFACE_DEFINED__
   1883 #define __IRTCSession_INTERFACE_DEFINED__
   1884   EXTERN_C const IID IID_IRTCSession;
   1885 #if defined(__cplusplus) && !defined(CINTERFACE)
   1886   struct IRTCSession : public IUnknown {
   1887   public:
   1888     virtual HRESULT WINAPI get_Client(IRTCClient **ppClient) = 0;
   1889     virtual HRESULT WINAPI get_State(RTC_SESSION_STATE *penState) = 0;
   1890     virtual HRESULT WINAPI get_Type(RTC_SESSION_TYPE *penType) = 0;
   1891     virtual HRESULT WINAPI get_Profile(IRTCProfile **ppProfile) = 0;
   1892     virtual HRESULT WINAPI get_Participants(IRTCCollection **ppCollection) = 0;
   1893     virtual HRESULT WINAPI Answer(void) = 0;
   1894     virtual HRESULT WINAPI Terminate(RTC_TERMINATE_REASON enReason) = 0;
   1895     virtual HRESULT WINAPI Redirect(RTC_SESSION_TYPE enType,BSTR bstrLocalPhoneURI,IRTCProfile *pProfile,__LONG32 lFlags) = 0;
   1896     virtual HRESULT WINAPI AddParticipant(BSTR bstrAddress,BSTR bstrName,IRTCParticipant **ppParticipant) = 0;
   1897     virtual HRESULT WINAPI RemoveParticipant(IRTCParticipant *pParticipant) = 0;
   1898     virtual HRESULT WINAPI EnumerateParticipants(IRTCEnumParticipants **ppEnum) = 0;
   1899     virtual HRESULT WINAPI get_CanAddParticipants(VARIANT_BOOL *pfCanAdd) = 0;
   1900     virtual HRESULT WINAPI get_RedirectedUserURI(BSTR *pbstrUserURI) = 0;
   1901     virtual HRESULT WINAPI get_RedirectedUserName(BSTR *pbstrUserName) = 0;
   1902     virtual HRESULT WINAPI NextRedirectedUser(void) = 0;
   1903     virtual HRESULT WINAPI SendMessage(BSTR bstrMessageHeader,BSTR bstrMessage,LONG_PTR lCookie) = 0;
   1904     virtual HRESULT WINAPI SendMessageStatus(RTC_MESSAGING_USER_STATUS enUserStatus,LONG_PTR lCookie) = 0;
   1905     virtual HRESULT WINAPI AddStream(__LONG32 lMediaType,LONG_PTR lCookie) = 0;
   1906     virtual HRESULT WINAPI RemoveStream(__LONG32 lMediaType,LONG_PTR lCookie) = 0;
   1907     virtual HRESULT WINAPI put_EncryptionKey(__LONG32 lMediaType,BSTR EncryptionKey) = 0;
   1908   };
   1909 #else
   1910   typedef struct IRTCSessionVtbl {
   1911     BEGIN_INTERFACE
   1912       HRESULT (WINAPI *QueryInterface)(IRTCSession *This,REFIID riid,void **ppvObject);
   1913       ULONG (WINAPI *AddRef)(IRTCSession *This);
   1914       ULONG (WINAPI *Release)(IRTCSession *This);
   1915       HRESULT (WINAPI *get_Client)(IRTCSession *This,IRTCClient **ppClient);
   1916       HRESULT (WINAPI *get_State)(IRTCSession *This,RTC_SESSION_STATE *penState);
   1917       HRESULT (WINAPI *get_Type)(IRTCSession *This,RTC_SESSION_TYPE *penType);
   1918       HRESULT (WINAPI *get_Profile)(IRTCSession *This,IRTCProfile **ppProfile);
   1919       HRESULT (WINAPI *get_Participants)(IRTCSession *This,IRTCCollection **ppCollection);
   1920       HRESULT (WINAPI *Answer)(IRTCSession *This);
   1921       HRESULT (WINAPI *Terminate)(IRTCSession *This,RTC_TERMINATE_REASON enReason);
   1922       HRESULT (WINAPI *Redirect)(IRTCSession *This,RTC_SESSION_TYPE enType,BSTR bstrLocalPhoneURI,IRTCProfile *pProfile,__LONG32 lFlags);
   1923       HRESULT (WINAPI *AddParticipant)(IRTCSession *This,BSTR bstrAddress,BSTR bstrName,IRTCParticipant **ppParticipant);
   1924       HRESULT (WINAPI *RemoveParticipant)(IRTCSession *This,IRTCParticipant *pParticipant);
   1925       HRESULT (WINAPI *EnumerateParticipants)(IRTCSession *This,IRTCEnumParticipants **ppEnum);
   1926       HRESULT (WINAPI *get_CanAddParticipants)(IRTCSession *This,VARIANT_BOOL *pfCanAdd);
   1927       HRESULT (WINAPI *get_RedirectedUserURI)(IRTCSession *This,BSTR *pbstrUserURI);
   1928       HRESULT (WINAPI *get_RedirectedUserName)(IRTCSession *This,BSTR *pbstrUserName);
   1929       HRESULT (WINAPI *NextRedirectedUser)(IRTCSession *This);
   1930       HRESULT (WINAPI *SendMessage)(IRTCSession *This,BSTR bstrMessageHeader,BSTR bstrMessage,LONG_PTR lCookie);
   1931       HRESULT (WINAPI *SendMessageStatus)(IRTCSession *This,RTC_MESSAGING_USER_STATUS enUserStatus,LONG_PTR lCookie);
   1932       HRESULT (WINAPI *AddStream)(IRTCSession *This,__LONG32 lMediaType,LONG_PTR lCookie);
   1933       HRESULT (WINAPI *RemoveStream)(IRTCSession *This,__LONG32 lMediaType,LONG_PTR lCookie);
   1934       HRESULT (WINAPI *put_EncryptionKey)(IRTCSession *This,__LONG32 lMediaType,BSTR EncryptionKey);
   1935     END_INTERFACE
   1936   } IRTCSessionVtbl;
   1937   struct IRTCSession {
   1938     CONST_VTBL struct IRTCSessionVtbl *lpVtbl;
   1939   };
   1940 #ifdef COBJMACROS
   1941 #define IRTCSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1942 #define IRTCSession_AddRef(This) (This)->lpVtbl->AddRef(This)
   1943 #define IRTCSession_Release(This) (This)->lpVtbl->Release(This)
   1944 #define IRTCSession_get_Client(This,ppClient) (This)->lpVtbl->get_Client(This,ppClient)
   1945 #define IRTCSession_get_State(This,penState) (This)->lpVtbl->get_State(This,penState)
   1946 #define IRTCSession_get_Type(This,penType) (This)->lpVtbl->get_Type(This,penType)
   1947 #define IRTCSession_get_Profile(This,ppProfile) (This)->lpVtbl->get_Profile(This,ppProfile)
   1948 #define IRTCSession_get_Participants(This,ppCollection) (This)->lpVtbl->get_Participants(This,ppCollection)
   1949 #define IRTCSession_Answer(This) (This)->lpVtbl->Answer(This)
   1950 #define IRTCSession_Terminate(This,enReason) (This)->lpVtbl->Terminate(This,enReason)
   1951 #define IRTCSession_Redirect(This,enType,bstrLocalPhoneURI,pProfile,lFlags) (This)->lpVtbl->Redirect(This,enType,bstrLocalPhoneURI,pProfile,lFlags)
   1952 #define IRTCSession_AddParticipant(This,bstrAddress,bstrName,ppParticipant) (This)->lpVtbl->AddParticipant(This,bstrAddress,bstrName,ppParticipant)
   1953 #define IRTCSession_RemoveParticipant(This,pParticipant) (This)->lpVtbl->RemoveParticipant(This,pParticipant)
   1954 #define IRTCSession_EnumerateParticipants(This,ppEnum) (This)->lpVtbl->EnumerateParticipants(This,ppEnum)
   1955 #define IRTCSession_get_CanAddParticipants(This,pfCanAdd) (This)->lpVtbl->get_CanAddParticipants(This,pfCanAdd)
   1956 #define IRTCSession_get_RedirectedUserURI(This,pbstrUserURI) (This)->lpVtbl->get_RedirectedUserURI(This,pbstrUserURI)
   1957 #define IRTCSession_get_RedirectedUserName(This,pbstrUserName) (This)->lpVtbl->get_RedirectedUserName(This,pbstrUserName)
   1958 #define IRTCSession_NextRedirectedUser(This) (This)->lpVtbl->NextRedirectedUser(This)
   1959 #define IRTCSession_SendMessage(This,bstrMessageHeader,bstrMessage,lCookie) (This)->lpVtbl->SendMessage(This,bstrMessageHeader,bstrMessage,lCookie)
   1960 #define IRTCSession_SendMessageStatus(This,enUserStatus,lCookie) (This)->lpVtbl->SendMessageStatus(This,enUserStatus,lCookie)
   1961 #define IRTCSession_AddStream(This,lMediaType,lCookie) (This)->lpVtbl->AddStream(This,lMediaType,lCookie)
   1962 #define IRTCSession_RemoveStream(This,lMediaType,lCookie) (This)->lpVtbl->RemoveStream(This,lMediaType,lCookie)
   1963 #define IRTCSession_put_EncryptionKey(This,lMediaType,EncryptionKey) (This)->lpVtbl->put_EncryptionKey(This,lMediaType,EncryptionKey)
   1964 #endif
   1965 #endif
   1966   HRESULT WINAPI IRTCSession_get_Client_Proxy(IRTCSession *This,IRTCClient **ppClient);
   1967   void __RPC_STUB IRTCSession_get_Client_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1968   HRESULT WINAPI IRTCSession_get_State_Proxy(IRTCSession *This,RTC_SESSION_STATE *penState);
   1969   void __RPC_STUB IRTCSession_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1970   HRESULT WINAPI IRTCSession_get_Type_Proxy(IRTCSession *This,RTC_SESSION_TYPE *penType);
   1971   void __RPC_STUB IRTCSession_get_Type_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1972   HRESULT WINAPI IRTCSession_get_Profile_Proxy(IRTCSession *This,IRTCProfile **ppProfile);
   1973   void __RPC_STUB IRTCSession_get_Profile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1974   HRESULT WINAPI IRTCSession_get_Participants_Proxy(IRTCSession *This,IRTCCollection **ppCollection);
   1975   void __RPC_STUB IRTCSession_get_Participants_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1976   HRESULT WINAPI IRTCSession_Answer_Proxy(IRTCSession *This);
   1977   void __RPC_STUB IRTCSession_Answer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1978   HRESULT WINAPI IRTCSession_Terminate_Proxy(IRTCSession *This,RTC_TERMINATE_REASON enReason);
   1979   void __RPC_STUB IRTCSession_Terminate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1980   HRESULT WINAPI IRTCSession_Redirect_Proxy(IRTCSession *This,RTC_SESSION_TYPE enType,BSTR bstrLocalPhoneURI,IRTCProfile *pProfile,__LONG32 lFlags);
   1981   void __RPC_STUB IRTCSession_Redirect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1982   HRESULT WINAPI IRTCSession_AddParticipant_Proxy(IRTCSession *This,BSTR bstrAddress,BSTR bstrName,IRTCParticipant **ppParticipant);
   1983   void __RPC_STUB IRTCSession_AddParticipant_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1984   HRESULT WINAPI IRTCSession_RemoveParticipant_Proxy(IRTCSession *This,IRTCParticipant *pParticipant);
   1985   void __RPC_STUB IRTCSession_RemoveParticipant_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1986   HRESULT WINAPI IRTCSession_EnumerateParticipants_Proxy(IRTCSession *This,IRTCEnumParticipants **ppEnum);
   1987   void __RPC_STUB IRTCSession_EnumerateParticipants_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1988   HRESULT WINAPI IRTCSession_get_CanAddParticipants_Proxy(IRTCSession *This,VARIANT_BOOL *pfCanAdd);
   1989   void __RPC_STUB IRTCSession_get_CanAddParticipants_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1990   HRESULT WINAPI IRTCSession_get_RedirectedUserURI_Proxy(IRTCSession *This,BSTR *pbstrUserURI);
   1991   void __RPC_STUB IRTCSession_get_RedirectedUserURI_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1992   HRESULT WINAPI IRTCSession_get_RedirectedUserName_Proxy(IRTCSession *This,BSTR *pbstrUserName);
   1993   void __RPC_STUB IRTCSession_get_RedirectedUserName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1994   HRESULT WINAPI IRTCSession_NextRedirectedUser_Proxy(IRTCSession *This);
   1995   void __RPC_STUB IRTCSession_NextRedirectedUser_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1996   HRESULT WINAPI IRTCSession_SendMessage_Proxy(IRTCSession *This,BSTR bstrMessageHeader,BSTR bstrMessage,LONG_PTR lCookie);
   1997   void __RPC_STUB IRTCSession_SendMessage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1998   HRESULT WINAPI IRTCSession_SendMessageStatus_Proxy(IRTCSession *This,RTC_MESSAGING_USER_STATUS enUserStatus,LONG_PTR lCookie);
   1999   void __RPC_STUB IRTCSession_SendMessageStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2000   HRESULT WINAPI IRTCSession_AddStream_Proxy(IRTCSession *This,__LONG32 lMediaType,LONG_PTR lCookie);
   2001   void __RPC_STUB IRTCSession_AddStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2002   HRESULT WINAPI IRTCSession_RemoveStream_Proxy(IRTCSession *This,__LONG32 lMediaType,LONG_PTR lCookie);
   2003   void __RPC_STUB IRTCSession_RemoveStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2004   HRESULT WINAPI IRTCSession_put_EncryptionKey_Proxy(IRTCSession *This,__LONG32 lMediaType,BSTR EncryptionKey);
   2005   void __RPC_STUB IRTCSession_put_EncryptionKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2006 #endif
   2007 
   2008 #ifndef __IRTCSession2_INTERFACE_DEFINED__
   2009 #define __IRTCSession2_INTERFACE_DEFINED__
   2010   EXTERN_C const IID IID_IRTCSession2;
   2011 #if defined(__cplusplus) && !defined(CINTERFACE)
   2012   struct IRTCSession2 : public IRTCSession {
   2013   public:
   2014     virtual HRESULT WINAPI SendInfo(BSTR bstrInfoHeader,BSTR bstrInfo,LONG_PTR lCookie) = 0;
   2015     virtual HRESULT WINAPI put_PreferredSecurityLevel(RTC_SECURITY_TYPE enSecurityType,RTC_SECURITY_LEVEL enSecurityLevel) = 0;
   2016     virtual HRESULT WINAPI get_PreferredSecurityLevel(RTC_SECURITY_TYPE enSecurityType,RTC_SECURITY_LEVEL *penSecurityLevel) = 0;
   2017     virtual HRESULT WINAPI IsSecurityEnabled(RTC_SECURITY_TYPE enSecurityType,VARIANT_BOOL *pfSecurityEnabled) = 0;
   2018     virtual HRESULT WINAPI AnswerWithSessionDescription(BSTR bstrContentType,BSTR bstrSessionDescription) = 0;
   2019     virtual HRESULT WINAPI ReInviteWithSessionDescription(BSTR bstrContentType,BSTR bstrSessionDescription,LONG_PTR lCookie) = 0;
   2020   };
   2021 #else
   2022   typedef struct IRTCSession2Vtbl {
   2023     BEGIN_INTERFACE
   2024       HRESULT (WINAPI *QueryInterface)(IRTCSession2 *This,REFIID riid,void **ppvObject);
   2025       ULONG (WINAPI *AddRef)(IRTCSession2 *This);
   2026       ULONG (WINAPI *Release)(IRTCSession2 *This);
   2027       HRESULT (WINAPI *get_Client)(IRTCSession2 *This,IRTCClient **ppClient);
   2028       HRESULT (WINAPI *get_State)(IRTCSession2 *This,RTC_SESSION_STATE *penState);
   2029       HRESULT (WINAPI *get_Type)(IRTCSession2 *This,RTC_SESSION_TYPE *penType);
   2030       HRESULT (WINAPI *get_Profile)(IRTCSession2 *This,IRTCProfile **ppProfile);
   2031       HRESULT (WINAPI *get_Participants)(IRTCSession2 *This,IRTCCollection **ppCollection);
   2032       HRESULT (WINAPI *Answer)(IRTCSession2 *This);
   2033       HRESULT (WINAPI *Terminate)(IRTCSession2 *This,RTC_TERMINATE_REASON enReason);
   2034       HRESULT (WINAPI *Redirect)(IRTCSession2 *This,RTC_SESSION_TYPE enType,BSTR bstrLocalPhoneURI,IRTCProfile *pProfile,__LONG32 lFlags);
   2035       HRESULT (WINAPI *AddParticipant)(IRTCSession2 *This,BSTR bstrAddress,BSTR bstrName,IRTCParticipant **ppParticipant);
   2036       HRESULT (WINAPI *RemoveParticipant)(IRTCSession2 *This,IRTCParticipant *pParticipant);
   2037       HRESULT (WINAPI *EnumerateParticipants)(IRTCSession2 *This,IRTCEnumParticipants **ppEnum);
   2038       HRESULT (WINAPI *get_CanAddParticipants)(IRTCSession2 *This,VARIANT_BOOL *pfCanAdd);
   2039       HRESULT (WINAPI *get_RedirectedUserURI)(IRTCSession2 *This,BSTR *pbstrUserURI);
   2040       HRESULT (WINAPI *get_RedirectedUserName)(IRTCSession2 *This,BSTR *pbstrUserName);
   2041       HRESULT (WINAPI *NextRedirectedUser)(IRTCSession2 *This);
   2042       HRESULT (WINAPI *SendMessage)(IRTCSession2 *This,BSTR bstrMessageHeader,BSTR bstrMessage,LONG_PTR lCookie);
   2043       HRESULT (WINAPI *SendMessageStatus)(IRTCSession2 *This,RTC_MESSAGING_USER_STATUS enUserStatus,LONG_PTR lCookie);
   2044       HRESULT (WINAPI *AddStream)(IRTCSession2 *This,__LONG32 lMediaType,LONG_PTR lCookie);
   2045       HRESULT (WINAPI *RemoveStream)(IRTCSession2 *This,__LONG32 lMediaType,LONG_PTR lCookie);
   2046       HRESULT (WINAPI *put_EncryptionKey)(IRTCSession2 *This,__LONG32 lMediaType,BSTR EncryptionKey);
   2047       HRESULT (WINAPI *SendInfo)(IRTCSession2 *This,BSTR bstrInfoHeader,BSTR bstrInfo,LONG_PTR lCookie);
   2048       HRESULT (WINAPI *put_PreferredSecurityLevel)(IRTCSession2 *This,RTC_SECURITY_TYPE enSecurityType,RTC_SECURITY_LEVEL enSecurityLevel);
   2049       HRESULT (WINAPI *get_PreferredSecurityLevel)(IRTCSession2 *This,RTC_SECURITY_TYPE enSecurityType,RTC_SECURITY_LEVEL *penSecurityLevel);
   2050       HRESULT (WINAPI *IsSecurityEnabled)(IRTCSession2 *This,RTC_SECURITY_TYPE enSecurityType,VARIANT_BOOL *pfSecurityEnabled);
   2051       HRESULT (WINAPI *AnswerWithSessionDescription)(IRTCSession2 *This,BSTR bstrContentType,BSTR bstrSessionDescription);
   2052       HRESULT (WINAPI *ReInviteWithSessionDescription)(IRTCSession2 *This,BSTR bstrContentType,BSTR bstrSessionDescription,LONG_PTR lCookie);
   2053     END_INTERFACE
   2054   } IRTCSession2Vtbl;
   2055   struct IRTCSession2 {
   2056     CONST_VTBL struct IRTCSession2Vtbl *lpVtbl;
   2057   };
   2058 #ifdef COBJMACROS
   2059 #define IRTCSession2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2060 #define IRTCSession2_AddRef(This) (This)->lpVtbl->AddRef(This)
   2061 #define IRTCSession2_Release(This) (This)->lpVtbl->Release(This)
   2062 #define IRTCSession2_get_Client(This,ppClient) (This)->lpVtbl->get_Client(This,ppClient)
   2063 #define IRTCSession2_get_State(This,penState) (This)->lpVtbl->get_State(This,penState)
   2064 #define IRTCSession2_get_Type(This,penType) (This)->lpVtbl->get_Type(This,penType)
   2065 #define IRTCSession2_get_Profile(This,ppProfile) (This)->lpVtbl->get_Profile(This,ppProfile)
   2066 #define IRTCSession2_get_Participants(This,ppCollection) (This)->lpVtbl->get_Participants(This,ppCollection)
   2067 #define IRTCSession2_Answer(This) (This)->lpVtbl->Answer(This)
   2068 #define IRTCSession2_Terminate(This,enReason) (This)->lpVtbl->Terminate(This,enReason)
   2069 #define IRTCSession2_Redirect(This,enType,bstrLocalPhoneURI,pProfile,lFlags) (This)->lpVtbl->Redirect(This,enType,bstrLocalPhoneURI,pProfile,lFlags)
   2070 #define IRTCSession2_AddParticipant(This,bstrAddress,bstrName,ppParticipant) (This)->lpVtbl->AddParticipant(This,bstrAddress,bstrName,ppParticipant)
   2071 #define IRTCSession2_RemoveParticipant(This,pParticipant) (This)->lpVtbl->RemoveParticipant(This,pParticipant)
   2072 #define IRTCSession2_EnumerateParticipants(This,ppEnum) (This)->lpVtbl->EnumerateParticipants(This,ppEnum)
   2073 #define IRTCSession2_get_CanAddParticipants(This,pfCanAdd) (This)->lpVtbl->get_CanAddParticipants(This,pfCanAdd)
   2074 #define IRTCSession2_get_RedirectedUserURI(This,pbstrUserURI) (This)->lpVtbl->get_RedirectedUserURI(This,pbstrUserURI)
   2075 #define IRTCSession2_get_RedirectedUserName(This,pbstrUserName) (This)->lpVtbl->get_RedirectedUserName(This,pbstrUserName)
   2076 #define IRTCSession2_NextRedirectedUser(This) (This)->lpVtbl->NextRedirectedUser(This)
   2077 #define IRTCSession2_SendMessage(This,bstrMessageHeader,bstrMessage,lCookie) (This)->lpVtbl->SendMessage(This,bstrMessageHeader,bstrMessage,lCookie)
   2078 #define IRTCSession2_SendMessageStatus(This,enUserStatus,lCookie) (This)->lpVtbl->SendMessageStatus(This,enUserStatus,lCookie)
   2079 #define IRTCSession2_AddStream(This,lMediaType,lCookie) (This)->lpVtbl->AddStream(This,lMediaType,lCookie)
   2080 #define IRTCSession2_RemoveStream(This,lMediaType,lCookie) (This)->lpVtbl->RemoveStream(This,lMediaType,lCookie)
   2081 #define IRTCSession2_put_EncryptionKey(This,lMediaType,EncryptionKey) (This)->lpVtbl->put_EncryptionKey(This,lMediaType,EncryptionKey)
   2082 #define IRTCSession2_SendInfo(This,bstrInfoHeader,bstrInfo,lCookie) (This)->lpVtbl->SendInfo(This,bstrInfoHeader,bstrInfo,lCookie)
   2083 #define IRTCSession2_put_PreferredSecurityLevel(This,enSecurityType,enSecurityLevel) (This)->lpVtbl->put_PreferredSecurityLevel(This,enSecurityType,enSecurityLevel)
   2084 #define IRTCSession2_get_PreferredSecurityLevel(This,enSecurityType,penSecurityLevel) (This)->lpVtbl->get_PreferredSecurityLevel(This,enSecurityType,penSecurityLevel)
   2085 #define IRTCSession2_IsSecurityEnabled(This,enSecurityType,pfSecurityEnabled) (This)->lpVtbl->IsSecurityEnabled(This,enSecurityType,pfSecurityEnabled)
   2086 #define IRTCSession2_AnswerWithSessionDescription(This,bstrContentType,bstrSessionDescription) (This)->lpVtbl->AnswerWithSessionDescription(This,bstrContentType,bstrSessionDescription)
   2087 #define IRTCSession2_ReInviteWithSessionDescription(This,bstrContentType,bstrSessionDescription,lCookie) (This)->lpVtbl->ReInviteWithSessionDescription(This,bstrContentType,bstrSessionDescription,lCookie)
   2088 #endif
   2089 #endif
   2090   HRESULT WINAPI IRTCSession2_SendInfo_Proxy(IRTCSession2 *This,BSTR bstrInfoHeader,BSTR bstrInfo,LONG_PTR lCookie);
   2091   void __RPC_STUB IRTCSession2_SendInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2092   HRESULT WINAPI IRTCSession2_put_PreferredSecurityLevel_Proxy(IRTCSession2 *This,RTC_SECURITY_TYPE enSecurityType,RTC_SECURITY_LEVEL enSecurityLevel);
   2093   void __RPC_STUB IRTCSession2_put_PreferredSecurityLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2094   HRESULT WINAPI IRTCSession2_get_PreferredSecurityLevel_Proxy(IRTCSession2 *This,RTC_SECURITY_TYPE enSecurityType,RTC_SECURITY_LEVEL *penSecurityLevel);
   2095   void __RPC_STUB IRTCSession2_get_PreferredSecurityLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2096   HRESULT WINAPI IRTCSession2_IsSecurityEnabled_Proxy(IRTCSession2 *This,RTC_SECURITY_TYPE enSecurityType,VARIANT_BOOL *pfSecurityEnabled);
   2097   void __RPC_STUB IRTCSession2_IsSecurityEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2098   HRESULT WINAPI IRTCSession2_AnswerWithSessionDescription_Proxy(IRTCSession2 *This,BSTR bstrContentType,BSTR bstrSessionDescription);
   2099   void __RPC_STUB IRTCSession2_AnswerWithSessionDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2100   HRESULT WINAPI IRTCSession2_ReInviteWithSessionDescription_Proxy(IRTCSession2 *This,BSTR bstrContentType,BSTR bstrSessionDescription,LONG_PTR lCookie);
   2101   void __RPC_STUB IRTCSession2_ReInviteWithSessionDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2102 #endif
   2103 
   2104 #ifndef __IRTCSessionCallControl_INTERFACE_DEFINED__
   2105 #define __IRTCSessionCallControl_INTERFACE_DEFINED__
   2106   EXTERN_C const IID IID_IRTCSessionCallControl;
   2107 #if defined(__cplusplus) && !defined(CINTERFACE)
   2108   struct IRTCSessionCallControl : public IUnknown {
   2109   public:
   2110     virtual HRESULT WINAPI Hold(LONG_PTR lCookie) = 0;
   2111     virtual HRESULT WINAPI UnHold(LONG_PTR lCookie) = 0;
   2112     virtual HRESULT WINAPI Forward(BSTR bstrForwardToURI) = 0;
   2113     virtual HRESULT WINAPI Refer(BSTR bstrReferToURI,BSTR bstrReferCookie) = 0;
   2114     virtual HRESULT WINAPI put_ReferredByURI(BSTR bstrReferredByURI) = 0;
   2115     virtual HRESULT WINAPI get_ReferredByURI(BSTR *pbstrReferredByURI) = 0;
   2116     virtual HRESULT WINAPI put_ReferCookie(BSTR bstrReferCookie) = 0;
   2117     virtual HRESULT WINAPI get_ReferCookie(BSTR *pbstrReferCookie) = 0;
   2118     virtual HRESULT WINAPI get_IsReferred(VARIANT_BOOL *pfIsReferred) = 0;
   2119   };
   2120 #else
   2121   typedef struct IRTCSessionCallControlVtbl {
   2122     BEGIN_INTERFACE
   2123       HRESULT (WINAPI *QueryInterface)(IRTCSessionCallControl *This,REFIID riid,void **ppvObject);
   2124       ULONG (WINAPI *AddRef)(IRTCSessionCallControl *This);
   2125       ULONG (WINAPI *Release)(IRTCSessionCallControl *This);
   2126       HRESULT (WINAPI *Hold)(IRTCSessionCallControl *This,LONG_PTR lCookie);
   2127       HRESULT (WINAPI *UnHold)(IRTCSessionCallControl *This,LONG_PTR lCookie);
   2128       HRESULT (WINAPI *Forward)(IRTCSessionCallControl *This,BSTR bstrForwardToURI);
   2129       HRESULT (WINAPI *Refer)(IRTCSessionCallControl *This,BSTR bstrReferToURI,BSTR bstrReferCookie);
   2130       HRESULT (WINAPI *put_ReferredByURI)(IRTCSessionCallControl *This,BSTR bstrReferredByURI);
   2131       HRESULT (WINAPI *get_ReferredByURI)(IRTCSessionCallControl *This,BSTR *pbstrReferredByURI);
   2132       HRESULT (WINAPI *put_ReferCookie)(IRTCSessionCallControl *This,BSTR bstrReferCookie);
   2133       HRESULT (WINAPI *get_ReferCookie)(IRTCSessionCallControl *This,BSTR *pbstrReferCookie);
   2134       HRESULT (WINAPI *get_IsReferred)(IRTCSessionCallControl *This,VARIANT_BOOL *pfIsReferred);
   2135     END_INTERFACE
   2136   } IRTCSessionCallControlVtbl;
   2137   struct IRTCSessionCallControl {
   2138     CONST_VTBL struct IRTCSessionCallControlVtbl *lpVtbl;
   2139   };
   2140 #ifdef COBJMACROS
   2141 #define IRTCSessionCallControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2142 #define IRTCSessionCallControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   2143 #define IRTCSessionCallControl_Release(This) (This)->lpVtbl->Release(This)
   2144 #define IRTCSessionCallControl_Hold(This,lCookie) (This)->lpVtbl->Hold(This,lCookie)
   2145 #define IRTCSessionCallControl_UnHold(This,lCookie) (This)->lpVtbl->UnHold(This,lCookie)
   2146 #define IRTCSessionCallControl_Forward(This,bstrForwardToURI) (This)->lpVtbl->Forward(This,bstrForwardToURI)
   2147 #define IRTCSessionCallControl_Refer(This,bstrReferToURI,bstrReferCookie) (This)->lpVtbl->Refer(This,bstrReferToURI,bstrReferCookie)
   2148 #define IRTCSessionCallControl_put_ReferredByURI(This,bstrReferredByURI) (This)->lpVtbl->put_ReferredByURI(This,bstrReferredByURI)
   2149 #define IRTCSessionCallControl_get_ReferredByURI(This,pbstrReferredByURI) (This)->lpVtbl->get_ReferredByURI(This,pbstrReferredByURI)
   2150 #define IRTCSessionCallControl_put_ReferCookie(This,bstrReferCookie) (This)->lpVtbl->put_ReferCookie(This,bstrReferCookie)
   2151 #define IRTCSessionCallControl_get_ReferCookie(This,pbstrReferCookie) (This)->lpVtbl->get_ReferCookie(This,pbstrReferCookie)
   2152 #define IRTCSessionCallControl_get_IsReferred(This,pfIsReferred) (This)->lpVtbl->get_IsReferred(This,pfIsReferred)
   2153 #endif
   2154 #endif
   2155   HRESULT WINAPI IRTCSessionCallControl_Hold_Proxy(IRTCSessionCallControl *This,LONG_PTR lCookie);
   2156   void __RPC_STUB IRTCSessionCallControl_Hold_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2157   HRESULT WINAPI IRTCSessionCallControl_UnHold_Proxy(IRTCSessionCallControl *This,LONG_PTR lCookie);
   2158   void __RPC_STUB IRTCSessionCallControl_UnHold_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2159   HRESULT WINAPI IRTCSessionCallControl_Forward_Proxy(IRTCSessionCallControl *This,BSTR bstrForwardToURI);
   2160   void __RPC_STUB IRTCSessionCallControl_Forward_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2161   HRESULT WINAPI IRTCSessionCallControl_Refer_Proxy(IRTCSessionCallControl *This,BSTR bstrReferToURI,BSTR bstrReferCookie);
   2162   void __RPC_STUB IRTCSessionCallControl_Refer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2163   HRESULT WINAPI IRTCSessionCallControl_put_ReferredByURI_Proxy(IRTCSessionCallControl *This,BSTR bstrReferredByURI);
   2164   void __RPC_STUB IRTCSessionCallControl_put_ReferredByURI_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2165   HRESULT WINAPI IRTCSessionCallControl_get_ReferredByURI_Proxy(IRTCSessionCallControl *This,BSTR *pbstrReferredByURI);
   2166   void __RPC_STUB IRTCSessionCallControl_get_ReferredByURI_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2167   HRESULT WINAPI IRTCSessionCallControl_put_ReferCookie_Proxy(IRTCSessionCallControl *This,BSTR bstrReferCookie);
   2168   void __RPC_STUB IRTCSessionCallControl_put_ReferCookie_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2169   HRESULT WINAPI IRTCSessionCallControl_get_ReferCookie_Proxy(IRTCSessionCallControl *This,BSTR *pbstrReferCookie);
   2170   void __RPC_STUB IRTCSessionCallControl_get_ReferCookie_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2171   HRESULT WINAPI IRTCSessionCallControl_get_IsReferred_Proxy(IRTCSessionCallControl *This,VARIANT_BOOL *pfIsReferred);
   2172   void __RPC_STUB IRTCSessionCallControl_get_IsReferred_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2173 #endif
   2174 
   2175 #ifndef __IRTCParticipant_INTERFACE_DEFINED__
   2176 #define __IRTCParticipant_INTERFACE_DEFINED__
   2177   EXTERN_C const IID IID_IRTCParticipant;
   2178 #if defined(__cplusplus) && !defined(CINTERFACE)
   2179   struct IRTCParticipant : public IUnknown {
   2180   public:
   2181     virtual HRESULT WINAPI get_UserURI(BSTR *pbstrUserURI) = 0;
   2182     virtual HRESULT WINAPI get_Name(BSTR *pbstrName) = 0;
   2183     virtual HRESULT WINAPI get_Removable(VARIANT_BOOL *pfRemovable) = 0;
   2184     virtual HRESULT WINAPI get_State(RTC_PARTICIPANT_STATE *penState) = 0;
   2185     virtual HRESULT WINAPI get_Session(IRTCSession **ppSession) = 0;
   2186   };
   2187 #else
   2188   typedef struct IRTCParticipantVtbl {
   2189     BEGIN_INTERFACE
   2190       HRESULT (WINAPI *QueryInterface)(IRTCParticipant *This,REFIID riid,void **ppvObject);
   2191       ULONG (WINAPI *AddRef)(IRTCParticipant *This);
   2192       ULONG (WINAPI *Release)(IRTCParticipant *This);
   2193       HRESULT (WINAPI *get_UserURI)(IRTCParticipant *This,BSTR *pbstrUserURI);
   2194       HRESULT (WINAPI *get_Name)(IRTCParticipant *This,BSTR *pbstrName);
   2195       HRESULT (WINAPI *get_Removable)(IRTCParticipant *This,VARIANT_BOOL *pfRemovable);
   2196       HRESULT (WINAPI *get_State)(IRTCParticipant *This,RTC_PARTICIPANT_STATE *penState);
   2197       HRESULT (WINAPI *get_Session)(IRTCParticipant *This,IRTCSession **ppSession);
   2198     END_INTERFACE
   2199   } IRTCParticipantVtbl;
   2200   struct IRTCParticipant {
   2201     CONST_VTBL struct IRTCParticipantVtbl *lpVtbl;
   2202   };
   2203 #ifdef COBJMACROS
   2204 #define IRTCParticipant_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2205 #define IRTCParticipant_AddRef(This) (This)->lpVtbl->AddRef(This)
   2206 #define IRTCParticipant_Release(This) (This)->lpVtbl->Release(This)
   2207 #define IRTCParticipant_get_UserURI(This,pbstrUserURI) (This)->lpVtbl->get_UserURI(This,pbstrUserURI)
   2208 #define IRTCParticipant_get_Name(This,pbstrName) (This)->lpVtbl->get_Name(This,pbstrName)
   2209 #define IRTCParticipant_get_Removable(This,pfRemovable) (This)->lpVtbl->get_Removable(This,pfRemovable)
   2210 #define IRTCParticipant_get_State(This,penState) (This)->lpVtbl->get_State(This,penState)
   2211 #define IRTCParticipant_get_Session(This,ppSession) (This)->lpVtbl->get_Session(This,ppSession)
   2212 #endif
   2213 #endif
   2214   HRESULT WINAPI IRTCParticipant_get_UserURI_Proxy(IRTCParticipant *This,BSTR *pbstrUserURI);
   2215   void __RPC_STUB IRTCParticipant_get_UserURI_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2216   HRESULT WINAPI IRTCParticipant_get_Name_Proxy(IRTCParticipant *This,BSTR *pbstrName);
   2217   void __RPC_STUB IRTCParticipant_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2218   HRESULT WINAPI IRTCParticipant_get_Removable_Proxy(IRTCParticipant *This,VARIANT_BOOL *pfRemovable);
   2219   void __RPC_STUB IRTCParticipant_get_Removable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2220   HRESULT WINAPI IRTCParticipant_get_State_Proxy(IRTCParticipant *This,RTC_PARTICIPANT_STATE *penState);
   2221   void __RPC_STUB IRTCParticipant_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2222   HRESULT WINAPI IRTCParticipant_get_Session_Proxy(IRTCParticipant *This,IRTCSession **ppSession);
   2223   void __RPC_STUB IRTCParticipant_get_Session_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2224 #endif
   2225 #ifndef __IRTCRoamingEvent_INTERFACE_DEFINED__
   2226 #define __IRTCRoamingEvent_INTERFACE_DEFINED__
   2227   EXTERN_C const IID IID_IRTCRoamingEvent;
   2228 #if defined(__cplusplus) && !defined(CINTERFACE)
   2229   struct IRTCRoamingEvent : public IDispatch {
   2230   public:
   2231     virtual HRESULT WINAPI get_EventType(RTC_ROAMING_EVENT_TYPE *pEventType) = 0;
   2232     virtual HRESULT WINAPI get_Profile(IRTCProfile2 **ppProfile) = 0;
   2233     virtual HRESULT WINAPI get_StatusCode(__LONG32 *plStatusCode) = 0;
   2234     virtual HRESULT WINAPI get_StatusText(BSTR *pbstrStatusText) = 0;
   2235   };
   2236 #else
   2237   typedef struct IRTCRoamingEventVtbl {
   2238     BEGIN_INTERFACE
   2239       HRESULT (WINAPI *QueryInterface)(IRTCRoamingEvent *This,REFIID riid,void **ppvObject);
   2240       ULONG (WINAPI *AddRef)(IRTCRoamingEvent *This);
   2241       ULONG (WINAPI *Release)(IRTCRoamingEvent *This);
   2242       HRESULT (WINAPI *GetTypeInfoCount)(IRTCRoamingEvent *This,UINT *pctinfo);
   2243       HRESULT (WINAPI *GetTypeInfo)(IRTCRoamingEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2244       HRESULT (WINAPI *GetIDsOfNames)(IRTCRoamingEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2245       HRESULT (WINAPI *Invoke)(IRTCRoamingEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2246       HRESULT (WINAPI *get_EventType)(IRTCRoamingEvent *This,RTC_ROAMING_EVENT_TYPE *pEventType);
   2247       HRESULT (WINAPI *get_Profile)(IRTCRoamingEvent *This,IRTCProfile2 **ppProfile);
   2248       HRESULT (WINAPI *get_StatusCode)(IRTCRoamingEvent *This,__LONG32 *plStatusCode);
   2249       HRESULT (WINAPI *get_StatusText)(IRTCRoamingEvent *This,BSTR *pbstrStatusText);
   2250     END_INTERFACE
   2251   } IRTCRoamingEventVtbl;
   2252   struct IRTCRoamingEvent {
   2253     CONST_VTBL struct IRTCRoamingEventVtbl *lpVtbl;
   2254   };
   2255 #ifdef COBJMACROS
   2256 #define IRTCRoamingEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2257 #define IRTCRoamingEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
   2258 #define IRTCRoamingEvent_Release(This) (This)->lpVtbl->Release(This)
   2259 #define IRTCRoamingEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2260 #define IRTCRoamingEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2261 #define IRTCRoamingEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2262 #define IRTCRoamingEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2263 #define IRTCRoamingEvent_get_EventType(This,pEventType) (This)->lpVtbl->get_EventType(This,pEventType)
   2264 #define IRTCRoamingEvent_get_Profile(This,ppProfile) (This)->lpVtbl->get_Profile(This,ppProfile)
   2265 #define IRTCRoamingEvent_get_StatusCode(This,plStatusCode) (This)->lpVtbl->get_StatusCode(This,plStatusCode)
   2266 #define IRTCRoamingEvent_get_StatusText(This,pbstrStatusText) (This)->lpVtbl->get_StatusText(This,pbstrStatusText)
   2267 #endif
   2268 #endif
   2269   HRESULT WINAPI IRTCRoamingEvent_get_EventType_Proxy(IRTCRoamingEvent *This,RTC_ROAMING_EVENT_TYPE *pEventType);
   2270   void __RPC_STUB IRTCRoamingEvent_get_EventType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2271   HRESULT WINAPI IRTCRoamingEvent_get_Profile_Proxy(IRTCRoamingEvent *This,IRTCProfile2 **ppProfile);
   2272   void __RPC_STUB IRTCRoamingEvent_get_Profile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2273   HRESULT WINAPI IRTCRoamingEvent_get_StatusCode_Proxy(IRTCRoamingEvent *This,__LONG32 *plStatusCode);
   2274   void __RPC_STUB IRTCRoamingEvent_get_StatusCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2275   HRESULT WINAPI IRTCRoamingEvent_get_StatusText_Proxy(IRTCRoamingEvent *This,BSTR *pbstrStatusText);
   2276   void __RPC_STUB IRTCRoamingEvent_get_StatusText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2277 #endif
   2278 
   2279 #ifndef __IRTCProfileEvent_INTERFACE_DEFINED__
   2280 #define __IRTCProfileEvent_INTERFACE_DEFINED__
   2281   EXTERN_C const IID IID_IRTCProfileEvent;
   2282 #if defined(__cplusplus) && !defined(CINTERFACE)
   2283   struct IRTCProfileEvent : public IDispatch {
   2284   public:
   2285     virtual HRESULT WINAPI get_Profile(IRTCProfile **ppProfile) = 0;
   2286     virtual HRESULT WINAPI get_Cookie(LONG_PTR *plCookie) = 0;
   2287     virtual HRESULT WINAPI get_StatusCode(__LONG32 *plStatusCode) = 0;
   2288   };
   2289 #else
   2290   typedef struct IRTCProfileEventVtbl {
   2291     BEGIN_INTERFACE
   2292       HRESULT (WINAPI *QueryInterface)(IRTCProfileEvent *This,REFIID riid,void **ppvObject);
   2293       ULONG (WINAPI *AddRef)(IRTCProfileEvent *This);
   2294       ULONG (WINAPI *Release)(IRTCProfileEvent *This);
   2295       HRESULT (WINAPI *GetTypeInfoCount)(IRTCProfileEvent *This,UINT *pctinfo);
   2296       HRESULT (WINAPI *GetTypeInfo)(IRTCProfileEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2297       HRESULT (WINAPI *GetIDsOfNames)(IRTCProfileEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2298       HRESULT (WINAPI *Invoke)(IRTCProfileEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2299       HRESULT (WINAPI *get_Profile)(IRTCProfileEvent *This,IRTCProfile **ppProfile);
   2300       HRESULT (WINAPI *get_Cookie)(IRTCProfileEvent *This,LONG_PTR *plCookie);
   2301       HRESULT (WINAPI *get_StatusCode)(IRTCProfileEvent *This,__LONG32 *plStatusCode);
   2302     END_INTERFACE
   2303   } IRTCProfileEventVtbl;
   2304   struct IRTCProfileEvent {
   2305     CONST_VTBL struct IRTCProfileEventVtbl *lpVtbl;
   2306   };
   2307 #ifdef COBJMACROS
   2308 #define IRTCProfileEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2309 #define IRTCProfileEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
   2310 #define IRTCProfileEvent_Release(This) (This)->lpVtbl->Release(This)
   2311 #define IRTCProfileEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2312 #define IRTCProfileEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2313 #define IRTCProfileEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2314 #define IRTCProfileEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2315 #define IRTCProfileEvent_get_Profile(This,ppProfile) (This)->lpVtbl->get_Profile(This,ppProfile)
   2316 #define IRTCProfileEvent_get_Cookie(This,plCookie) (This)->lpVtbl->get_Cookie(This,plCookie)
   2317 #define IRTCProfileEvent_get_StatusCode(This,plStatusCode) (This)->lpVtbl->get_StatusCode(This,plStatusCode)
   2318 #endif
   2319 #endif
   2320   HRESULT WINAPI IRTCProfileEvent_get_Profile_Proxy(IRTCProfileEvent *This,IRTCProfile **ppProfile);
   2321   void __RPC_STUB IRTCProfileEvent_get_Profile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2322   HRESULT WINAPI IRTCProfileEvent_get_Cookie_Proxy(IRTCProfileEvent *This,LONG_PTR *plCookie);
   2323   void __RPC_STUB IRTCProfileEvent_get_Cookie_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2324   HRESULT WINAPI IRTCProfileEvent_get_StatusCode_Proxy(IRTCProfileEvent *This,__LONG32 *plStatusCode);
   2325   void __RPC_STUB IRTCProfileEvent_get_StatusCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2326 #endif
   2327 
   2328 #ifndef __IRTCProfileEvent2_INTERFACE_DEFINED__
   2329 #define __IRTCProfileEvent2_INTERFACE_DEFINED__
   2330   EXTERN_C const IID IID_IRTCProfileEvent2;
   2331 #if defined(__cplusplus) && !defined(CINTERFACE)
   2332   struct IRTCProfileEvent2 : public IRTCProfileEvent {
   2333   public:
   2334     virtual HRESULT WINAPI get_EventType(RTC_PROFILE_EVENT_TYPE *pEventType) = 0;
   2335   };
   2336 #else
   2337   typedef struct IRTCProfileEvent2Vtbl {
   2338     BEGIN_INTERFACE
   2339       HRESULT (WINAPI *QueryInterface)(IRTCProfileEvent2 *This,REFIID riid,void **ppvObject);
   2340       ULONG (WINAPI *AddRef)(IRTCProfileEvent2 *This);
   2341       ULONG (WINAPI *Release)(IRTCProfileEvent2 *This);
   2342       HRESULT (WINAPI *GetTypeInfoCount)(IRTCProfileEvent2 *This,UINT *pctinfo);
   2343       HRESULT (WINAPI *GetTypeInfo)(IRTCProfileEvent2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2344       HRESULT (WINAPI *GetIDsOfNames)(IRTCProfileEvent2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2345       HRESULT (WINAPI *Invoke)(IRTCProfileEvent2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2346       HRESULT (WINAPI *get_Profile)(IRTCProfileEvent2 *This,IRTCProfile **ppProfile);
   2347       HRESULT (WINAPI *get_Cookie)(IRTCProfileEvent2 *This,LONG_PTR *plCookie);
   2348       HRESULT (WINAPI *get_StatusCode)(IRTCProfileEvent2 *This,__LONG32 *plStatusCode);
   2349       HRESULT (WINAPI *get_EventType)(IRTCProfileEvent2 *This,RTC_PROFILE_EVENT_TYPE *pEventType);
   2350     END_INTERFACE
   2351   } IRTCProfileEvent2Vtbl;
   2352   struct IRTCProfileEvent2 {
   2353     CONST_VTBL struct IRTCProfileEvent2Vtbl *lpVtbl;
   2354   };
   2355 #ifdef COBJMACROS
   2356 #define IRTCProfileEvent2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2357 #define IRTCProfileEvent2_AddRef(This) (This)->lpVtbl->AddRef(This)
   2358 #define IRTCProfileEvent2_Release(This) (This)->lpVtbl->Release(This)
   2359 #define IRTCProfileEvent2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2360 #define IRTCProfileEvent2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2361 #define IRTCProfileEvent2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2362 #define IRTCProfileEvent2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2363 #define IRTCProfileEvent2_get_Profile(This,ppProfile) (This)->lpVtbl->get_Profile(This,ppProfile)
   2364 #define IRTCProfileEvent2_get_Cookie(This,plCookie) (This)->lpVtbl->get_Cookie(This,plCookie)
   2365 #define IRTCProfileEvent2_get_StatusCode(This,plStatusCode) (This)->lpVtbl->get_StatusCode(This,plStatusCode)
   2366 #define IRTCProfileEvent2_get_EventType(This,pEventType) (This)->lpVtbl->get_EventType(This,pEventType)
   2367 #endif
   2368 #endif
   2369   HRESULT WINAPI IRTCProfileEvent2_get_EventType_Proxy(IRTCProfileEvent2 *This,RTC_PROFILE_EVENT_TYPE *pEventType);
   2370   void __RPC_STUB IRTCProfileEvent2_get_EventType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2371 #endif
   2372 
   2373 #ifndef __IRTCClientEvent_INTERFACE_DEFINED__
   2374 #define __IRTCClientEvent_INTERFACE_DEFINED__
   2375   EXTERN_C const IID IID_IRTCClientEvent;
   2376 #if defined(__cplusplus) && !defined(CINTERFACE)
   2377   struct IRTCClientEvent : public IDispatch {
   2378   public:
   2379     virtual HRESULT WINAPI get_EventType(RTC_CLIENT_EVENT_TYPE *penEventType) = 0;
   2380     virtual HRESULT WINAPI get_Client(IRTCClient **ppClient) = 0;
   2381   };
   2382 #else
   2383   typedef struct IRTCClientEventVtbl {
   2384     BEGIN_INTERFACE
   2385       HRESULT (WINAPI *QueryInterface)(IRTCClientEvent *This,REFIID riid,void **ppvObject);
   2386       ULONG (WINAPI *AddRef)(IRTCClientEvent *This);
   2387       ULONG (WINAPI *Release)(IRTCClientEvent *This);
   2388       HRESULT (WINAPI *GetTypeInfoCount)(IRTCClientEvent *This,UINT *pctinfo);
   2389       HRESULT (WINAPI *GetTypeInfo)(IRTCClientEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2390       HRESULT (WINAPI *GetIDsOfNames)(IRTCClientEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2391       HRESULT (WINAPI *Invoke)(IRTCClientEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2392       HRESULT (WINAPI *get_EventType)(IRTCClientEvent *This,RTC_CLIENT_EVENT_TYPE *penEventType);
   2393       HRESULT (WINAPI *get_Client)(IRTCClientEvent *This,IRTCClient **ppClient);
   2394     END_INTERFACE
   2395   } IRTCClientEventVtbl;
   2396   struct IRTCClientEvent {
   2397     CONST_VTBL struct IRTCClientEventVtbl *lpVtbl;
   2398   };
   2399 #ifdef COBJMACROS
   2400 #define IRTCClientEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2401 #define IRTCClientEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
   2402 #define IRTCClientEvent_Release(This) (This)->lpVtbl->Release(This)
   2403 #define IRTCClientEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2404 #define IRTCClientEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2405 #define IRTCClientEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2406 #define IRTCClientEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2407 #define IRTCClientEvent_get_EventType(This,penEventType) (This)->lpVtbl->get_EventType(This,penEventType)
   2408 #define IRTCClientEvent_get_Client(This,ppClient) (This)->lpVtbl->get_Client(This,ppClient)
   2409 #endif
   2410 #endif
   2411   HRESULT WINAPI IRTCClientEvent_get_EventType_Proxy(IRTCClientEvent *This,RTC_CLIENT_EVENT_TYPE *penEventType);
   2412   void __RPC_STUB IRTCClientEvent_get_EventType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2413   HRESULT WINAPI IRTCClientEvent_get_Client_Proxy(IRTCClientEvent *This,IRTCClient **ppClient);
   2414   void __RPC_STUB IRTCClientEvent_get_Client_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2415 #endif
   2416 
   2417 #ifndef __IRTCRegistrationStateChangeEvent_INTERFACE_DEFINED__
   2418 #define __IRTCRegistrationStateChangeEvent_INTERFACE_DEFINED__
   2419   EXTERN_C const IID IID_IRTCRegistrationStateChangeEvent;
   2420 #if defined(__cplusplus) && !defined(CINTERFACE)
   2421   struct IRTCRegistrationStateChangeEvent : public IDispatch {
   2422   public:
   2423     virtual HRESULT WINAPI get_Profile(IRTCProfile **ppProfile) = 0;
   2424     virtual HRESULT WINAPI get_State(RTC_REGISTRATION_STATE *penState) = 0;
   2425     virtual HRESULT WINAPI get_StatusCode(__LONG32 *plStatusCode) = 0;
   2426     virtual HRESULT WINAPI get_StatusText(BSTR *pbstrStatusText) = 0;
   2427   };
   2428 #else
   2429   typedef struct IRTCRegistrationStateChangeEventVtbl {
   2430     BEGIN_INTERFACE
   2431       HRESULT (WINAPI *QueryInterface)(IRTCRegistrationStateChangeEvent *This,REFIID riid,void **ppvObject);
   2432       ULONG (WINAPI *AddRef)(IRTCRegistrationStateChangeEvent *This);
   2433       ULONG (WINAPI *Release)(IRTCRegistrationStateChangeEvent *This);
   2434       HRESULT (WINAPI *GetTypeInfoCount)(IRTCRegistrationStateChangeEvent *This,UINT *pctinfo);
   2435       HRESULT (WINAPI *GetTypeInfo)(IRTCRegistrationStateChangeEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2436       HRESULT (WINAPI *GetIDsOfNames)(IRTCRegistrationStateChangeEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2437       HRESULT (WINAPI *Invoke)(IRTCRegistrationStateChangeEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2438       HRESULT (WINAPI *get_Profile)(IRTCRegistrationStateChangeEvent *This,IRTCProfile **ppProfile);
   2439       HRESULT (WINAPI *get_State)(IRTCRegistrationStateChangeEvent *This,RTC_REGISTRATION_STATE *penState);
   2440       HRESULT (WINAPI *get_StatusCode)(IRTCRegistrationStateChangeEvent *This,__LONG32 *plStatusCode);
   2441       HRESULT (WINAPI *get_StatusText)(IRTCRegistrationStateChangeEvent *This,BSTR *pbstrStatusText);
   2442     END_INTERFACE
   2443   } IRTCRegistrationStateChangeEventVtbl;
   2444   struct IRTCRegistrationStateChangeEvent {
   2445     CONST_VTBL struct IRTCRegistrationStateChangeEventVtbl *lpVtbl;
   2446   };
   2447 #ifdef COBJMACROS
   2448 #define IRTCRegistrationStateChangeEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2449 #define IRTCRegistrationStateChangeEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
   2450 #define IRTCRegistrationStateChangeEvent_Release(This) (This)->lpVtbl->Release(This)
   2451 #define IRTCRegistrationStateChangeEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2452 #define IRTCRegistrationStateChangeEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2453 #define IRTCRegistrationStateChangeEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2454 #define IRTCRegistrationStateChangeEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2455 #define IRTCRegistrationStateChangeEvent_get_Profile(This,ppProfile) (This)->lpVtbl->get_Profile(This,ppProfile)
   2456 #define IRTCRegistrationStateChangeEvent_get_State(This,penState) (This)->lpVtbl->get_State(This,penState)
   2457 #define IRTCRegistrationStateChangeEvent_get_StatusCode(This,plStatusCode) (This)->lpVtbl->get_StatusCode(This,plStatusCode)
   2458 #define IRTCRegistrationStateChangeEvent_get_StatusText(This,pbstrStatusText) (This)->lpVtbl->get_StatusText(This,pbstrStatusText)
   2459 #endif
   2460 #endif
   2461   HRESULT WINAPI IRTCRegistrationStateChangeEvent_get_Profile_Proxy(IRTCRegistrationStateChangeEvent *This,IRTCProfile **ppProfile);
   2462   void __RPC_STUB IRTCRegistrationStateChangeEvent_get_Profile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2463   HRESULT WINAPI IRTCRegistrationStateChangeEvent_get_State_Proxy(IRTCRegistrationStateChangeEvent *This,RTC_REGISTRATION_STATE *penState);
   2464   void __RPC_STUB IRTCRegistrationStateChangeEvent_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2465   HRESULT WINAPI IRTCRegistrationStateChangeEvent_get_StatusCode_Proxy(IRTCRegistrationStateChangeEvent *This,__LONG32 *plStatusCode);
   2466   void __RPC_STUB IRTCRegistrationStateChangeEvent_get_StatusCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2467   HRESULT WINAPI IRTCRegistrationStateChangeEvent_get_StatusText_Proxy(IRTCRegistrationStateChangeEvent *This,BSTR *pbstrStatusText);
   2468   void __RPC_STUB IRTCRegistrationStateChangeEvent_get_StatusText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2469 #endif
   2470 
   2471 #ifndef __IRTCSessionStateChangeEvent_INTERFACE_DEFINED__
   2472 #define __IRTCSessionStateChangeEvent_INTERFACE_DEFINED__
   2473   EXTERN_C const IID IID_IRTCSessionStateChangeEvent;
   2474 #if defined(__cplusplus) && !defined(CINTERFACE)
   2475   struct IRTCSessionStateChangeEvent : public IDispatch {
   2476   public:
   2477     virtual HRESULT WINAPI get_Session(IRTCSession **ppSession) = 0;
   2478     virtual HRESULT WINAPI get_State(RTC_SESSION_STATE *penState) = 0;
   2479     virtual HRESULT WINAPI get_StatusCode(__LONG32 *plStatusCode) = 0;
   2480     virtual HRESULT WINAPI get_StatusText(BSTR *pbstrStatusText) = 0;
   2481   };
   2482 #else
   2483   typedef struct IRTCSessionStateChangeEventVtbl {
   2484     BEGIN_INTERFACE
   2485       HRESULT (WINAPI *QueryInterface)(IRTCSessionStateChangeEvent *This,REFIID riid,void **ppvObject);
   2486       ULONG (WINAPI *AddRef)(IRTCSessionStateChangeEvent *This);
   2487       ULONG (WINAPI *Release)(IRTCSessionStateChangeEvent *This);
   2488       HRESULT (WINAPI *GetTypeInfoCount)(IRTCSessionStateChangeEvent *This,UINT *pctinfo);
   2489       HRESULT (WINAPI *GetTypeInfo)(IRTCSessionStateChangeEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2490       HRESULT (WINAPI *GetIDsOfNames)(IRTCSessionStateChangeEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2491       HRESULT (WINAPI *Invoke)(IRTCSessionStateChangeEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2492       HRESULT (WINAPI *get_Session)(IRTCSessionStateChangeEvent *This,IRTCSession **ppSession);
   2493       HRESULT (WINAPI *get_State)(IRTCSessionStateChangeEvent *This,RTC_SESSION_STATE *penState);
   2494       HRESULT (WINAPI *get_StatusCode)(IRTCSessionStateChangeEvent *This,__LONG32 *plStatusCode);
   2495       HRESULT (WINAPI *get_StatusText)(IRTCSessionStateChangeEvent *This,BSTR *pbstrStatusText);
   2496     END_INTERFACE
   2497   } IRTCSessionStateChangeEventVtbl;
   2498   struct IRTCSessionStateChangeEvent {
   2499     CONST_VTBL struct IRTCSessionStateChangeEventVtbl *lpVtbl;
   2500   };
   2501 #ifdef COBJMACROS
   2502 #define IRTCSessionStateChangeEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2503 #define IRTCSessionStateChangeEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
   2504 #define IRTCSessionStateChangeEvent_Release(This) (This)->lpVtbl->Release(This)
   2505 #define IRTCSessionStateChangeEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2506 #define IRTCSessionStateChangeEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2507 #define IRTCSessionStateChangeEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2508 #define IRTCSessionStateChangeEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2509 #define IRTCSessionStateChangeEvent_get_Session(This,ppSession) (This)->lpVtbl->get_Session(This,ppSession)
   2510 #define IRTCSessionStateChangeEvent_get_State(This,penState) (This)->lpVtbl->get_State(This,penState)
   2511 #define IRTCSessionStateChangeEvent_get_StatusCode(This,plStatusCode) (This)->lpVtbl->get_StatusCode(This,plStatusCode)
   2512 #define IRTCSessionStateChangeEvent_get_StatusText(This,pbstrStatusText) (This)->lpVtbl->get_StatusText(This,pbstrStatusText)
   2513 #endif
   2514 #endif
   2515   HRESULT WINAPI IRTCSessionStateChangeEvent_get_Session_Proxy(IRTCSessionStateChangeEvent *This,IRTCSession **ppSession);
   2516   void __RPC_STUB IRTCSessionStateChangeEvent_get_Session_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2517   HRESULT WINAPI IRTCSessionStateChangeEvent_get_State_Proxy(IRTCSessionStateChangeEvent *This,RTC_SESSION_STATE *penState);
   2518   void __RPC_STUB IRTCSessionStateChangeEvent_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2519   HRESULT WINAPI IRTCSessionStateChangeEvent_get_StatusCode_Proxy(IRTCSessionStateChangeEvent *This,__LONG32 *plStatusCode);
   2520   void __RPC_STUB IRTCSessionStateChangeEvent_get_StatusCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2521   HRESULT WINAPI IRTCSessionStateChangeEvent_get_StatusText_Proxy(IRTCSessionStateChangeEvent *This,BSTR *pbstrStatusText);
   2522   void __RPC_STUB IRTCSessionStateChangeEvent_get_StatusText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2523 #endif
   2524 
   2525 #ifndef __IRTCSessionStateChangeEvent2_INTERFACE_DEFINED__
   2526 #define __IRTCSessionStateChangeEvent2_INTERFACE_DEFINED__
   2527   EXTERN_C const IID IID_IRTCSessionStateChangeEvent2;
   2528 #if defined(__cplusplus) && !defined(CINTERFACE)
   2529   struct IRTCSessionStateChangeEvent2 : public IRTCSessionStateChangeEvent {
   2530   public:
   2531     virtual HRESULT WINAPI get_MediaTypes(__LONG32 *pMediaTypes) = 0;
   2532     virtual HRESULT WINAPI get_RemotePreferredSecurityLevel(RTC_SECURITY_TYPE enSecurityType,RTC_SECURITY_LEVEL *penSecurityLevel) = 0;
   2533     virtual HRESULT WINAPI get_IsForked(VARIANT_BOOL *pfIsForked) = 0;
   2534     virtual HRESULT WINAPI GetRemoteSessionDescription(BSTR *pbstrContentType,BSTR *pbstrSessionDescription) = 0;
   2535   };
   2536 #else
   2537   typedef struct IRTCSessionStateChangeEvent2Vtbl {
   2538     BEGIN_INTERFACE
   2539       HRESULT (WINAPI *QueryInterface)(IRTCSessionStateChangeEvent2 *This,REFIID riid,void **ppvObject);
   2540       ULONG (WINAPI *AddRef)(IRTCSessionStateChangeEvent2 *This);
   2541       ULONG (WINAPI *Release)(IRTCSessionStateChangeEvent2 *This);
   2542       HRESULT (WINAPI *GetTypeInfoCount)(IRTCSessionStateChangeEvent2 *This,UINT *pctinfo);
   2543       HRESULT (WINAPI *GetTypeInfo)(IRTCSessionStateChangeEvent2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2544       HRESULT (WINAPI *GetIDsOfNames)(IRTCSessionStateChangeEvent2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2545       HRESULT (WINAPI *Invoke)(IRTCSessionStateChangeEvent2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2546       HRESULT (WINAPI *get_Session)(IRTCSessionStateChangeEvent2 *This,IRTCSession **ppSession);
   2547       HRESULT (WINAPI *get_State)(IRTCSessionStateChangeEvent2 *This,RTC_SESSION_STATE *penState);
   2548       HRESULT (WINAPI *get_StatusCode)(IRTCSessionStateChangeEvent2 *This,__LONG32 *plStatusCode);
   2549       HRESULT (WINAPI *get_StatusText)(IRTCSessionStateChangeEvent2 *This,BSTR *pbstrStatusText);
   2550       HRESULT (WINAPI *get_MediaTypes)(IRTCSessionStateChangeEvent2 *This,__LONG32 *pMediaTypes);
   2551       HRESULT (WINAPI *get_RemotePreferredSecurityLevel)(IRTCSessionStateChangeEvent2 *This,RTC_SECURITY_TYPE enSecurityType,RTC_SECURITY_LEVEL *penSecurityLevel);
   2552       HRESULT (WINAPI *get_IsForked)(IRTCSessionStateChangeEvent2 *This,VARIANT_BOOL *pfIsForked);
   2553       HRESULT (WINAPI *GetRemoteSessionDescription)(IRTCSessionStateChangeEvent2 *This,BSTR *pbstrContentType,BSTR *pbstrSessionDescription);
   2554     END_INTERFACE
   2555   } IRTCSessionStateChangeEvent2Vtbl;
   2556   struct IRTCSessionStateChangeEvent2 {
   2557     CONST_VTBL struct IRTCSessionStateChangeEvent2Vtbl *lpVtbl;
   2558   };
   2559 #ifdef COBJMACROS
   2560 #define IRTCSessionStateChangeEvent2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2561 #define IRTCSessionStateChangeEvent2_AddRef(This) (This)->lpVtbl->AddRef(This)
   2562 #define IRTCSessionStateChangeEvent2_Release(This) (This)->lpVtbl->Release(This)
   2563 #define IRTCSessionStateChangeEvent2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2564 #define IRTCSessionStateChangeEvent2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2565 #define IRTCSessionStateChangeEvent2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2566 #define IRTCSessionStateChangeEvent2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2567 #define IRTCSessionStateChangeEvent2_get_Session(This,ppSession) (This)->lpVtbl->get_Session(This,ppSession)
   2568 #define IRTCSessionStateChangeEvent2_get_State(This,penState) (This)->lpVtbl->get_State(This,penState)
   2569 #define IRTCSessionStateChangeEvent2_get_StatusCode(This,plStatusCode) (This)->lpVtbl->get_StatusCode(This,plStatusCode)
   2570 #define IRTCSessionStateChangeEvent2_get_StatusText(This,pbstrStatusText) (This)->lpVtbl->get_StatusText(This,pbstrStatusText)
   2571 #define IRTCSessionStateChangeEvent2_get_MediaTypes(This,pMediaTypes) (This)->lpVtbl->get_MediaTypes(This,pMediaTypes)
   2572 #define IRTCSessionStateChangeEvent2_get_RemotePreferredSecurityLevel(This,enSecurityType,penSecurityLevel) (This)->lpVtbl->get_RemotePreferredSecurityLevel(This,enSecurityType,penSecurityLevel)
   2573 #define IRTCSessionStateChangeEvent2_get_IsForked(This,pfIsForked) (This)->lpVtbl->get_IsForked(This,pfIsForked)
   2574 #define IRTCSessionStateChangeEvent2_GetRemoteSessionDescription(This,pbstrContentType,pbstrSessionDescription) (This)->lpVtbl->GetRemoteSessionDescription(This,pbstrContentType,pbstrSessionDescription)
   2575 #endif
   2576 #endif
   2577   HRESULT WINAPI IRTCSessionStateChangeEvent2_get_MediaTypes_Proxy(IRTCSessionStateChangeEvent2 *This,__LONG32 *pMediaTypes);
   2578   void __RPC_STUB IRTCSessionStateChangeEvent2_get_MediaTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2579   HRESULT WINAPI IRTCSessionStateChangeEvent2_get_RemotePreferredSecurityLevel_Proxy(IRTCSessionStateChangeEvent2 *This,RTC_SECURITY_TYPE enSecurityType,RTC_SECURITY_LEVEL *penSecurityLevel);
   2580   void __RPC_STUB IRTCSessionStateChangeEvent2_get_RemotePreferredSecurityLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2581   HRESULT WINAPI IRTCSessionStateChangeEvent2_get_IsForked_Proxy(IRTCSessionStateChangeEvent2 *This,VARIANT_BOOL *pfIsForked);
   2582   void __RPC_STUB IRTCSessionStateChangeEvent2_get_IsForked_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2583   HRESULT WINAPI IRTCSessionStateChangeEvent2_GetRemoteSessionDescription_Proxy(IRTCSessionStateChangeEvent2 *This,BSTR *pbstrContentType,BSTR *pbstrSessionDescription);
   2584   void __RPC_STUB IRTCSessionStateChangeEvent2_GetRemoteSessionDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2585 #endif
   2586 
   2587 #ifndef __IRTCSessionOperationCompleteEvent_INTERFACE_DEFINED__
   2588 #define __IRTCSessionOperationCompleteEvent_INTERFACE_DEFINED__
   2589   EXTERN_C const IID IID_IRTCSessionOperationCompleteEvent;
   2590 #if defined(__cplusplus) && !defined(CINTERFACE)
   2591   struct IRTCSessionOperationCompleteEvent : public IDispatch {
   2592   public:
   2593     virtual HRESULT WINAPI get_Session(IRTCSession **ppSession) = 0;
   2594     virtual HRESULT WINAPI get_Cookie(LONG_PTR *plCookie) = 0;
   2595     virtual HRESULT WINAPI get_StatusCode(__LONG32 *plStatusCode) = 0;
   2596     virtual HRESULT WINAPI get_StatusText(BSTR *pbstrStatusText) = 0;
   2597   };
   2598 #else
   2599   typedef struct IRTCSessionOperationCompleteEventVtbl {
   2600     BEGIN_INTERFACE
   2601       HRESULT (WINAPI *QueryInterface)(IRTCSessionOperationCompleteEvent *This,REFIID riid,void **ppvObject);
   2602       ULONG (WINAPI *AddRef)(IRTCSessionOperationCompleteEvent *This);
   2603       ULONG (WINAPI *Release)(IRTCSessionOperationCompleteEvent *This);
   2604       HRESULT (WINAPI *GetTypeInfoCount)(IRTCSessionOperationCompleteEvent *This,UINT *pctinfo);
   2605       HRESULT (WINAPI *GetTypeInfo)(IRTCSessionOperationCompleteEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2606       HRESULT (WINAPI *GetIDsOfNames)(IRTCSessionOperationCompleteEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2607       HRESULT (WINAPI *Invoke)(IRTCSessionOperationCompleteEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2608       HRESULT (WINAPI *get_Session)(IRTCSessionOperationCompleteEvent *This,IRTCSession **ppSession);
   2609       HRESULT (WINAPI *get_Cookie)(IRTCSessionOperationCompleteEvent *This,LONG_PTR *plCookie);
   2610       HRESULT (WINAPI *get_StatusCode)(IRTCSessionOperationCompleteEvent *This,__LONG32 *plStatusCode);
   2611       HRESULT (WINAPI *get_StatusText)(IRTCSessionOperationCompleteEvent *This,BSTR *pbstrStatusText);
   2612     END_INTERFACE
   2613   } IRTCSessionOperationCompleteEventVtbl;
   2614   struct IRTCSessionOperationCompleteEvent {
   2615     CONST_VTBL struct IRTCSessionOperationCompleteEventVtbl *lpVtbl;
   2616   };
   2617 #ifdef COBJMACROS
   2618 #define IRTCSessionOperationCompleteEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2619 #define IRTCSessionOperationCompleteEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
   2620 #define IRTCSessionOperationCompleteEvent_Release(This) (This)->lpVtbl->Release(This)
   2621 #define IRTCSessionOperationCompleteEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2622 #define IRTCSessionOperationCompleteEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2623 #define IRTCSessionOperationCompleteEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2624 #define IRTCSessionOperationCompleteEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2625 #define IRTCSessionOperationCompleteEvent_get_Session(This,ppSession) (This)->lpVtbl->get_Session(This,ppSession)
   2626 #define IRTCSessionOperationCompleteEvent_get_Cookie(This,plCookie) (This)->lpVtbl->get_Cookie(This,plCookie)
   2627 #define IRTCSessionOperationCompleteEvent_get_StatusCode(This,plStatusCode) (This)->lpVtbl->get_StatusCode(This,plStatusCode)
   2628 #define IRTCSessionOperationCompleteEvent_get_StatusText(This,pbstrStatusText) (This)->lpVtbl->get_StatusText(This,pbstrStatusText)
   2629 #endif
   2630 #endif
   2631   HRESULT WINAPI IRTCSessionOperationCompleteEvent_get_Session_Proxy(IRTCSessionOperationCompleteEvent *This,IRTCSession **ppSession);
   2632   void __RPC_STUB IRTCSessionOperationCompleteEvent_get_Session_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2633   HRESULT WINAPI IRTCSessionOperationCompleteEvent_get_Cookie_Proxy(IRTCSessionOperationCompleteEvent *This,LONG_PTR *plCookie);
   2634   void __RPC_STUB IRTCSessionOperationCompleteEvent_get_Cookie_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2635   HRESULT WINAPI IRTCSessionOperationCompleteEvent_get_StatusCode_Proxy(IRTCSessionOperationCompleteEvent *This,__LONG32 *plStatusCode);
   2636   void __RPC_STUB IRTCSessionOperationCompleteEvent_get_StatusCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2637   HRESULT WINAPI IRTCSessionOperationCompleteEvent_get_StatusText_Proxy(IRTCSessionOperationCompleteEvent *This,BSTR *pbstrStatusText);
   2638   void __RPC_STUB IRTCSessionOperationCompleteEvent_get_StatusText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2639 #endif
   2640 
   2641 #ifndef __IRTCSessionOperationCompleteEvent2_INTERFACE_DEFINED__
   2642 #define __IRTCSessionOperationCompleteEvent2_INTERFACE_DEFINED__
   2643   EXTERN_C const IID IID_IRTCSessionOperationCompleteEvent2;
   2644 #if defined(__cplusplus) && !defined(CINTERFACE)
   2645   struct IRTCSessionOperationCompleteEvent2 : public IRTCSessionOperationCompleteEvent {
   2646   public:
   2647     virtual HRESULT WINAPI get_Participant(IRTCParticipant **ppParticipant) = 0;
   2648     virtual HRESULT WINAPI GetRemoteSessionDescription(BSTR *pbstrContentType,BSTR *pbstrSessionDescription) = 0;
   2649   };
   2650 #else
   2651   typedef struct IRTCSessionOperationCompleteEvent2Vtbl {
   2652     BEGIN_INTERFACE
   2653       HRESULT (WINAPI *QueryInterface)(IRTCSessionOperationCompleteEvent2 *This,REFIID riid,void **ppvObject);
   2654       ULONG (WINAPI *AddRef)(IRTCSessionOperationCompleteEvent2 *This);
   2655       ULONG (WINAPI *Release)(IRTCSessionOperationCompleteEvent2 *This);
   2656       HRESULT (WINAPI *GetTypeInfoCount)(IRTCSessionOperationCompleteEvent2 *This,UINT *pctinfo);
   2657       HRESULT (WINAPI *GetTypeInfo)(IRTCSessionOperationCompleteEvent2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2658       HRESULT (WINAPI *GetIDsOfNames)(IRTCSessionOperationCompleteEvent2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2659       HRESULT (WINAPI *Invoke)(IRTCSessionOperationCompleteEvent2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2660       HRESULT (WINAPI *get_Session)(IRTCSessionOperationCompleteEvent2 *This,IRTCSession **ppSession);
   2661       HRESULT (WINAPI *get_Cookie)(IRTCSessionOperationCompleteEvent2 *This,LONG_PTR *plCookie);
   2662       HRESULT (WINAPI *get_StatusCode)(IRTCSessionOperationCompleteEvent2 *This,__LONG32 *plStatusCode);
   2663       HRESULT (WINAPI *get_StatusText)(IRTCSessionOperationCompleteEvent2 *This,BSTR *pbstrStatusText);
   2664       HRESULT (WINAPI *get_Participant)(IRTCSessionOperationCompleteEvent2 *This,IRTCParticipant **ppParticipant);
   2665       HRESULT (WINAPI *GetRemoteSessionDescription)(IRTCSessionOperationCompleteEvent2 *This,BSTR *pbstrContentType,BSTR *pbstrSessionDescription);
   2666     END_INTERFACE
   2667   } IRTCSessionOperationCompleteEvent2Vtbl;
   2668   struct IRTCSessionOperationCompleteEvent2 {
   2669     CONST_VTBL struct IRTCSessionOperationCompleteEvent2Vtbl *lpVtbl;
   2670   };
   2671 #ifdef COBJMACROS
   2672 #define IRTCSessionOperationCompleteEvent2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2673 #define IRTCSessionOperationCompleteEvent2_AddRef(This) (This)->lpVtbl->AddRef(This)
   2674 #define IRTCSessionOperationCompleteEvent2_Release(This) (This)->lpVtbl->Release(This)
   2675 #define IRTCSessionOperationCompleteEvent2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2676 #define IRTCSessionOperationCompleteEvent2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2677 #define IRTCSessionOperationCompleteEvent2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2678 #define IRTCSessionOperationCompleteEvent2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2679 #define IRTCSessionOperationCompleteEvent2_get_Session(This,ppSession) (This)->lpVtbl->get_Session(This,ppSession)
   2680 #define IRTCSessionOperationCompleteEvent2_get_Cookie(This,plCookie) (This)->lpVtbl->get_Cookie(This,plCookie)
   2681 #define IRTCSessionOperationCompleteEvent2_get_StatusCode(This,plStatusCode) (This)->lpVtbl->get_StatusCode(This,plStatusCode)
   2682 #define IRTCSessionOperationCompleteEvent2_get_StatusText(This,pbstrStatusText) (This)->lpVtbl->get_StatusText(This,pbstrStatusText)
   2683 #define IRTCSessionOperationCompleteEvent2_get_Participant(This,ppParticipant) (This)->lpVtbl->get_Participant(This,ppParticipant)
   2684 #define IRTCSessionOperationCompleteEvent2_GetRemoteSessionDescription(This,pbstrContentType,pbstrSessionDescription) (This)->lpVtbl->GetRemoteSessionDescription(This,pbstrContentType,pbstrSessionDescription)
   2685 #endif
   2686 #endif
   2687   HRESULT WINAPI IRTCSessionOperationCompleteEvent2_get_Participant_Proxy(IRTCSessionOperationCompleteEvent2 *This,IRTCParticipant **ppParticipant);
   2688   void __RPC_STUB IRTCSessionOperationCompleteEvent2_get_Participant_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2689   HRESULT WINAPI IRTCSessionOperationCompleteEvent2_GetRemoteSessionDescription_Proxy(IRTCSessionOperationCompleteEvent2 *This,BSTR *pbstrContentType,BSTR *pbstrSessionDescription);
   2690   void __RPC_STUB IRTCSessionOperationCompleteEvent2_GetRemoteSessionDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2691 #endif
   2692 
   2693 #ifndef __IRTCParticipantStateChangeEvent_INTERFACE_DEFINED__
   2694 #define __IRTCParticipantStateChangeEvent_INTERFACE_DEFINED__
   2695   EXTERN_C const IID IID_IRTCParticipantStateChangeEvent;
   2696 #if defined(__cplusplus) && !defined(CINTERFACE)
   2697   struct IRTCParticipantStateChangeEvent : public IDispatch {
   2698   public:
   2699     virtual HRESULT WINAPI get_Participant(IRTCParticipant **ppParticipant) = 0;
   2700     virtual HRESULT WINAPI get_State(RTC_PARTICIPANT_STATE *penState) = 0;
   2701     virtual HRESULT WINAPI get_StatusCode(__LONG32 *plStatusCode) = 0;
   2702   };
   2703 #else
   2704   typedef struct IRTCParticipantStateChangeEventVtbl {
   2705     BEGIN_INTERFACE
   2706       HRESULT (WINAPI *QueryInterface)(IRTCParticipantStateChangeEvent *This,REFIID riid,void **ppvObject);
   2707       ULONG (WINAPI *AddRef)(IRTCParticipantStateChangeEvent *This);
   2708       ULONG (WINAPI *Release)(IRTCParticipantStateChangeEvent *This);
   2709       HRESULT (WINAPI *GetTypeInfoCount)(IRTCParticipantStateChangeEvent *This,UINT *pctinfo);
   2710       HRESULT (WINAPI *GetTypeInfo)(IRTCParticipantStateChangeEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2711       HRESULT (WINAPI *GetIDsOfNames)(IRTCParticipantStateChangeEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2712       HRESULT (WINAPI *Invoke)(IRTCParticipantStateChangeEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2713       HRESULT (WINAPI *get_Participant)(IRTCParticipantStateChangeEvent *This,IRTCParticipant **ppParticipant);
   2714       HRESULT (WINAPI *get_State)(IRTCParticipantStateChangeEvent *This,RTC_PARTICIPANT_STATE *penState);
   2715       HRESULT (WINAPI *get_StatusCode)(IRTCParticipantStateChangeEvent *This,__LONG32 *plStatusCode);
   2716     END_INTERFACE
   2717   } IRTCParticipantStateChangeEventVtbl;
   2718   struct IRTCParticipantStateChangeEvent {
   2719     CONST_VTBL struct IRTCParticipantStateChangeEventVtbl *lpVtbl;
   2720   };
   2721 #ifdef COBJMACROS
   2722 #define IRTCParticipantStateChangeEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2723 #define IRTCParticipantStateChangeEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
   2724 #define IRTCParticipantStateChangeEvent_Release(This) (This)->lpVtbl->Release(This)
   2725 #define IRTCParticipantStateChangeEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2726 #define IRTCParticipantStateChangeEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2727 #define IRTCParticipantStateChangeEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2728 #define IRTCParticipantStateChangeEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2729 #define IRTCParticipantStateChangeEvent_get_Participant(This,ppParticipant) (This)->lpVtbl->get_Participant(This,ppParticipant)
   2730 #define IRTCParticipantStateChangeEvent_get_State(This,penState) (This)->lpVtbl->get_State(This,penState)
   2731 #define IRTCParticipantStateChangeEvent_get_StatusCode(This,plStatusCode) (This)->lpVtbl->get_StatusCode(This,plStatusCode)
   2732 #endif
   2733 #endif
   2734   HRESULT WINAPI IRTCParticipantStateChangeEvent_get_Participant_Proxy(IRTCParticipantStateChangeEvent *This,IRTCParticipant **ppParticipant);
   2735   void __RPC_STUB IRTCParticipantStateChangeEvent_get_Participant_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2736   HRESULT WINAPI IRTCParticipantStateChangeEvent_get_State_Proxy(IRTCParticipantStateChangeEvent *This,RTC_PARTICIPANT_STATE *penState);
   2737   void __RPC_STUB IRTCParticipantStateChangeEvent_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2738   HRESULT WINAPI IRTCParticipantStateChangeEvent_get_StatusCode_Proxy(IRTCParticipantStateChangeEvent *This,__LONG32 *plStatusCode);
   2739   void __RPC_STUB IRTCParticipantStateChangeEvent_get_StatusCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2740 #endif
   2741 
   2742 #ifndef __IRTCMediaEvent_INTERFACE_DEFINED__
   2743 #define __IRTCMediaEvent_INTERFACE_DEFINED__
   2744   EXTERN_C const IID IID_IRTCMediaEvent;
   2745 #if defined(__cplusplus) && !defined(CINTERFACE)
   2746   struct IRTCMediaEvent : public IDispatch {
   2747   public:
   2748     virtual HRESULT WINAPI get_MediaType(__LONG32 *pMediaType) = 0;
   2749     virtual HRESULT WINAPI get_EventType(RTC_MEDIA_EVENT_TYPE *penEventType) = 0;
   2750     virtual HRESULT WINAPI get_EventReason(RTC_MEDIA_EVENT_REASON *penEventReason) = 0;
   2751   };
   2752 #else
   2753   typedef struct IRTCMediaEventVtbl {
   2754     BEGIN_INTERFACE
   2755       HRESULT (WINAPI *QueryInterface)(IRTCMediaEvent *This,REFIID riid,void **ppvObject);
   2756       ULONG (WINAPI *AddRef)(IRTCMediaEvent *This);
   2757       ULONG (WINAPI *Release)(IRTCMediaEvent *This);
   2758       HRESULT (WINAPI *GetTypeInfoCount)(IRTCMediaEvent *This,UINT *pctinfo);
   2759       HRESULT (WINAPI *GetTypeInfo)(IRTCMediaEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2760       HRESULT (WINAPI *GetIDsOfNames)(IRTCMediaEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2761       HRESULT (WINAPI *Invoke)(IRTCMediaEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2762       HRESULT (WINAPI *get_MediaType)(IRTCMediaEvent *This,__LONG32 *pMediaType);
   2763       HRESULT (WINAPI *get_EventType)(IRTCMediaEvent *This,RTC_MEDIA_EVENT_TYPE *penEventType);
   2764       HRESULT (WINAPI *get_EventReason)(IRTCMediaEvent *This,RTC_MEDIA_EVENT_REASON *penEventReason);
   2765     END_INTERFACE
   2766   } IRTCMediaEventVtbl;
   2767   struct IRTCMediaEvent {
   2768     CONST_VTBL struct IRTCMediaEventVtbl *lpVtbl;
   2769   };
   2770 #ifdef COBJMACROS
   2771 #define IRTCMediaEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2772 #define IRTCMediaEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
   2773 #define IRTCMediaEvent_Release(This) (This)->lpVtbl->Release(This)
   2774 #define IRTCMediaEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2775 #define IRTCMediaEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2776 #define IRTCMediaEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2777 #define IRTCMediaEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2778 #define IRTCMediaEvent_get_MediaType(This,pMediaType) (This)->lpVtbl->get_MediaType(This,pMediaType)
   2779 #define IRTCMediaEvent_get_EventType(This,penEventType) (This)->lpVtbl->get_EventType(This,penEventType)
   2780 #define IRTCMediaEvent_get_EventReason(This,penEventReason) (This)->lpVtbl->get_EventReason(This,penEventReason)
   2781 #endif
   2782 #endif
   2783   HRESULT WINAPI IRTCMediaEvent_get_MediaType_Proxy(IRTCMediaEvent *This,__LONG32 *pMediaType);
   2784   void __RPC_STUB IRTCMediaEvent_get_MediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2785   HRESULT WINAPI IRTCMediaEvent_get_EventType_Proxy(IRTCMediaEvent *This,RTC_MEDIA_EVENT_TYPE *penEventType);
   2786   void __RPC_STUB IRTCMediaEvent_get_EventType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2787   HRESULT WINAPI IRTCMediaEvent_get_EventReason_Proxy(IRTCMediaEvent *This,RTC_MEDIA_EVENT_REASON *penEventReason);
   2788   void __RPC_STUB IRTCMediaEvent_get_EventReason_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2789 #endif
   2790 
   2791 #ifndef __IRTCIntensityEvent_INTERFACE_DEFINED__
   2792 #define __IRTCIntensityEvent_INTERFACE_DEFINED__
   2793   EXTERN_C const IID IID_IRTCIntensityEvent;
   2794 #if defined(__cplusplus) && !defined(CINTERFACE)
   2795   struct IRTCIntensityEvent : public IDispatch {
   2796   public:
   2797     virtual HRESULT WINAPI get_Level(__LONG32 *plLevel) = 0;
   2798     virtual HRESULT WINAPI get_Min(__LONG32 *plMin) = 0;
   2799     virtual HRESULT WINAPI get_Max(__LONG32 *plMax) = 0;
   2800     virtual HRESULT WINAPI get_Direction(RTC_AUDIO_DEVICE *penDirection) = 0;
   2801   };
   2802 #else
   2803   typedef struct IRTCIntensityEventVtbl {
   2804     BEGIN_INTERFACE
   2805       HRESULT (WINAPI *QueryInterface)(IRTCIntensityEvent *This,REFIID riid,void **ppvObject);
   2806       ULONG (WINAPI *AddRef)(IRTCIntensityEvent *This);
   2807       ULONG (WINAPI *Release)(IRTCIntensityEvent *This);
   2808       HRESULT (WINAPI *GetTypeInfoCount)(IRTCIntensityEvent *This,UINT *pctinfo);
   2809       HRESULT (WINAPI *GetTypeInfo)(IRTCIntensityEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2810       HRESULT (WINAPI *GetIDsOfNames)(IRTCIntensityEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2811       HRESULT (WINAPI *Invoke)(IRTCIntensityEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2812       HRESULT (WINAPI *get_Level)(IRTCIntensityEvent *This,__LONG32 *plLevel);
   2813       HRESULT (WINAPI *get_Min)(IRTCIntensityEvent *This,__LONG32 *plMin);
   2814       HRESULT (WINAPI *get_Max)(IRTCIntensityEvent *This,__LONG32 *plMax);
   2815       HRESULT (WINAPI *get_Direction)(IRTCIntensityEvent *This,RTC_AUDIO_DEVICE *penDirection);
   2816     END_INTERFACE
   2817   } IRTCIntensityEventVtbl;
   2818   struct IRTCIntensityEvent {
   2819     CONST_VTBL struct IRTCIntensityEventVtbl *lpVtbl;
   2820   };
   2821 #ifdef COBJMACROS
   2822 #define IRTCIntensityEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2823 #define IRTCIntensityEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
   2824 #define IRTCIntensityEvent_Release(This) (This)->lpVtbl->Release(This)
   2825 #define IRTCIntensityEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2826 #define IRTCIntensityEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2827 #define IRTCIntensityEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2828 #define IRTCIntensityEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2829 #define IRTCIntensityEvent_get_Level(This,plLevel) (This)->lpVtbl->get_Level(This,plLevel)
   2830 #define IRTCIntensityEvent_get_Min(This,plMin) (This)->lpVtbl->get_Min(This,plMin)
   2831 #define IRTCIntensityEvent_get_Max(This,plMax) (This)->lpVtbl->get_Max(This,plMax)
   2832 #define IRTCIntensityEvent_get_Direction(This,penDirection) (This)->lpVtbl->get_Direction(This,penDirection)
   2833 #endif
   2834 #endif
   2835   HRESULT WINAPI IRTCIntensityEvent_get_Level_Proxy(IRTCIntensityEvent *This,__LONG32 *plLevel);
   2836   void __RPC_STUB IRTCIntensityEvent_get_Level_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2837   HRESULT WINAPI IRTCIntensityEvent_get_Min_Proxy(IRTCIntensityEvent *This,__LONG32 *plMin);
   2838   void __RPC_STUB IRTCIntensityEvent_get_Min_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2839   HRESULT WINAPI IRTCIntensityEvent_get_Max_Proxy(IRTCIntensityEvent *This,__LONG32 *plMax);
   2840   void __RPC_STUB IRTCIntensityEvent_get_Max_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2841   HRESULT WINAPI IRTCIntensityEvent_get_Direction_Proxy(IRTCIntensityEvent *This,RTC_AUDIO_DEVICE *penDirection);
   2842   void __RPC_STUB IRTCIntensityEvent_get_Direction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2843 #endif
   2844 
   2845 #ifndef __IRTCMessagingEvent_INTERFACE_DEFINED__
   2846 #define __IRTCMessagingEvent_INTERFACE_DEFINED__
   2847   EXTERN_C const IID IID_IRTCMessagingEvent;
   2848 #if defined(__cplusplus) && !defined(CINTERFACE)
   2849   struct IRTCMessagingEvent : public IDispatch {
   2850   public:
   2851     virtual HRESULT WINAPI get_Session(IRTCSession **ppSession) = 0;
   2852     virtual HRESULT WINAPI get_Participant(IRTCParticipant **ppParticipant) = 0;
   2853     virtual HRESULT WINAPI get_EventType(RTC_MESSAGING_EVENT_TYPE *penEventType) = 0;
   2854     virtual HRESULT WINAPI get_Message(BSTR *pbstrMessage) = 0;
   2855     virtual HRESULT WINAPI get_MessageHeader(BSTR *pbstrMessageHeader) = 0;
   2856     virtual HRESULT WINAPI get_UserStatus(RTC_MESSAGING_USER_STATUS *penUserStatus) = 0;
   2857   };
   2858 #else
   2859   typedef struct IRTCMessagingEventVtbl {
   2860     BEGIN_INTERFACE
   2861       HRESULT (WINAPI *QueryInterface)(IRTCMessagingEvent *This,REFIID riid,void **ppvObject);
   2862       ULONG (WINAPI *AddRef)(IRTCMessagingEvent *This);
   2863       ULONG (WINAPI *Release)(IRTCMessagingEvent *This);
   2864       HRESULT (WINAPI *GetTypeInfoCount)(IRTCMessagingEvent *This,UINT *pctinfo);
   2865       HRESULT (WINAPI *GetTypeInfo)(IRTCMessagingEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2866       HRESULT (WINAPI *GetIDsOfNames)(IRTCMessagingEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2867       HRESULT (WINAPI *Invoke)(IRTCMessagingEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2868       HRESULT (WINAPI *get_Session)(IRTCMessagingEvent *This,IRTCSession **ppSession);
   2869       HRESULT (WINAPI *get_Participant)(IRTCMessagingEvent *This,IRTCParticipant **ppParticipant);
   2870       HRESULT (WINAPI *get_EventType)(IRTCMessagingEvent *This,RTC_MESSAGING_EVENT_TYPE *penEventType);
   2871       HRESULT (WINAPI *get_Message)(IRTCMessagingEvent *This,BSTR *pbstrMessage);
   2872       HRESULT (WINAPI *get_MessageHeader)(IRTCMessagingEvent *This,BSTR *pbstrMessageHeader);
   2873       HRESULT (WINAPI *get_UserStatus)(IRTCMessagingEvent *This,RTC_MESSAGING_USER_STATUS *penUserStatus);
   2874     END_INTERFACE
   2875   } IRTCMessagingEventVtbl;
   2876   struct IRTCMessagingEvent {
   2877     CONST_VTBL struct IRTCMessagingEventVtbl *lpVtbl;
   2878   };
   2879 #ifdef COBJMACROS
   2880 #define IRTCMessagingEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2881 #define IRTCMessagingEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
   2882 #define IRTCMessagingEvent_Release(This) (This)->lpVtbl->Release(This)
   2883 #define IRTCMessagingEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2884 #define IRTCMessagingEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2885 #define IRTCMessagingEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2886 #define IRTCMessagingEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2887 #define IRTCMessagingEvent_get_Session(This,ppSession) (This)->lpVtbl->get_Session(This,ppSession)
   2888 #define IRTCMessagingEvent_get_Participant(This,ppParticipant) (This)->lpVtbl->get_Participant(This,ppParticipant)
   2889 #define IRTCMessagingEvent_get_EventType(This,penEventType) (This)->lpVtbl->get_EventType(This,penEventType)
   2890 #define IRTCMessagingEvent_get_Message(This,pbstrMessage) (This)->lpVtbl->get_Message(This,pbstrMessage)
   2891 #define IRTCMessagingEvent_get_MessageHeader(This,pbstrMessageHeader) (This)->lpVtbl->get_MessageHeader(This,pbstrMessageHeader)
   2892 #define IRTCMessagingEvent_get_UserStatus(This,penUserStatus) (This)->lpVtbl->get_UserStatus(This,penUserStatus)
   2893 #endif
   2894 #endif
   2895   HRESULT WINAPI IRTCMessagingEvent_get_Session_Proxy(IRTCMessagingEvent *This,IRTCSession **ppSession);
   2896   void __RPC_STUB IRTCMessagingEvent_get_Session_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2897   HRESULT WINAPI IRTCMessagingEvent_get_Participant_Proxy(IRTCMessagingEvent *This,IRTCParticipant **ppParticipant);
   2898   void __RPC_STUB IRTCMessagingEvent_get_Participant_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2899   HRESULT WINAPI IRTCMessagingEvent_get_EventType_Proxy(IRTCMessagingEvent *This,RTC_MESSAGING_EVENT_TYPE *penEventType);
   2900   void __RPC_STUB IRTCMessagingEvent_get_EventType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2901   HRESULT WINAPI IRTCMessagingEvent_get_Message_Proxy(IRTCMessagingEvent *This,BSTR *pbstrMessage);
   2902   void __RPC_STUB IRTCMessagingEvent_get_Message_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2903   HRESULT WINAPI IRTCMessagingEvent_get_MessageHeader_Proxy(IRTCMessagingEvent *This,BSTR *pbstrMessageHeader);
   2904   void __RPC_STUB IRTCMessagingEvent_get_MessageHeader_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2905   HRESULT WINAPI IRTCMessagingEvent_get_UserStatus_Proxy(IRTCMessagingEvent *This,RTC_MESSAGING_USER_STATUS *penUserStatus);
   2906   void __RPC_STUB IRTCMessagingEvent_get_UserStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2907 #endif
   2908 
   2909 #ifndef __IRTCBuddyEvent_INTERFACE_DEFINED__
   2910 #define __IRTCBuddyEvent_INTERFACE_DEFINED__
   2911   EXTERN_C const IID IID_IRTCBuddyEvent;
   2912 #if defined(__cplusplus) && !defined(CINTERFACE)
   2913   struct IRTCBuddyEvent : public IDispatch {
   2914   public:
   2915     virtual HRESULT WINAPI get_Buddy(IRTCBuddy **ppBuddy) = 0;
   2916   };
   2917 #else
   2918   typedef struct IRTCBuddyEventVtbl {
   2919     BEGIN_INTERFACE
   2920       HRESULT (WINAPI *QueryInterface)(IRTCBuddyEvent *This,REFIID riid,void **ppvObject);
   2921       ULONG (WINAPI *AddRef)(IRTCBuddyEvent *This);
   2922       ULONG (WINAPI *Release)(IRTCBuddyEvent *This);
   2923       HRESULT (WINAPI *GetTypeInfoCount)(IRTCBuddyEvent *This,UINT *pctinfo);
   2924       HRESULT (WINAPI *GetTypeInfo)(IRTCBuddyEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2925       HRESULT (WINAPI *GetIDsOfNames)(IRTCBuddyEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2926       HRESULT (WINAPI *Invoke)(IRTCBuddyEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2927       HRESULT (WINAPI *get_Buddy)(IRTCBuddyEvent *This,IRTCBuddy **ppBuddy);
   2928     END_INTERFACE
   2929   } IRTCBuddyEventVtbl;
   2930   struct IRTCBuddyEvent {
   2931     CONST_VTBL struct IRTCBuddyEventVtbl *lpVtbl;
   2932   };
   2933 #ifdef COBJMACROS
   2934 #define IRTCBuddyEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2935 #define IRTCBuddyEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
   2936 #define IRTCBuddyEvent_Release(This) (This)->lpVtbl->Release(This)
   2937 #define IRTCBuddyEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2938 #define IRTCBuddyEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2939 #define IRTCBuddyEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2940 #define IRTCBuddyEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2941 #define IRTCBuddyEvent_get_Buddy(This,ppBuddy) (This)->lpVtbl->get_Buddy(This,ppBuddy)
   2942 #endif
   2943 #endif
   2944   HRESULT WINAPI IRTCBuddyEvent_get_Buddy_Proxy(IRTCBuddyEvent *This,IRTCBuddy **ppBuddy);
   2945   void __RPC_STUB IRTCBuddyEvent_get_Buddy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2946 #endif
   2947 
   2948 #ifndef __IRTCBuddyEvent2_INTERFACE_DEFINED__
   2949 #define __IRTCBuddyEvent2_INTERFACE_DEFINED__
   2950   EXTERN_C const IID IID_IRTCBuddyEvent2;
   2951 #if defined(__cplusplus) && !defined(CINTERFACE)
   2952   struct IRTCBuddyEvent2 : public IRTCBuddyEvent {
   2953   public:
   2954     virtual HRESULT WINAPI get_EventType(RTC_BUDDY_EVENT_TYPE *pEventType) = 0;
   2955     virtual HRESULT WINAPI get_StatusCode(__LONG32 *plStatusCode) = 0;
   2956     virtual HRESULT WINAPI get_StatusText(BSTR *pbstrStatusText) = 0;
   2957   };
   2958 #else
   2959   typedef struct IRTCBuddyEvent2Vtbl {
   2960     BEGIN_INTERFACE
   2961       HRESULT (WINAPI *QueryInterface)(IRTCBuddyEvent2 *This,REFIID riid,void **ppvObject);
   2962       ULONG (WINAPI *AddRef)(IRTCBuddyEvent2 *This);
   2963       ULONG (WINAPI *Release)(IRTCBuddyEvent2 *This);
   2964       HRESULT (WINAPI *GetTypeInfoCount)(IRTCBuddyEvent2 *This,UINT *pctinfo);
   2965       HRESULT (WINAPI *GetTypeInfo)(IRTCBuddyEvent2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2966       HRESULT (WINAPI *GetIDsOfNames)(IRTCBuddyEvent2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2967       HRESULT (WINAPI *Invoke)(IRTCBuddyEvent2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2968       HRESULT (WINAPI *get_Buddy)(IRTCBuddyEvent2 *This,IRTCBuddy **ppBuddy);
   2969       HRESULT (WINAPI *get_EventType)(IRTCBuddyEvent2 *This,RTC_BUDDY_EVENT_TYPE *pEventType);
   2970       HRESULT (WINAPI *get_StatusCode)(IRTCBuddyEvent2 *This,__LONG32 *plStatusCode);
   2971       HRESULT (WINAPI *get_StatusText)(IRTCBuddyEvent2 *This,BSTR *pbstrStatusText);
   2972     END_INTERFACE
   2973   } IRTCBuddyEvent2Vtbl;
   2974   struct IRTCBuddyEvent2 {
   2975     CONST_VTBL struct IRTCBuddyEvent2Vtbl *lpVtbl;
   2976   };
   2977 #ifdef COBJMACROS
   2978 #define IRTCBuddyEvent2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2979 #define IRTCBuddyEvent2_AddRef(This) (This)->lpVtbl->AddRef(This)
   2980 #define IRTCBuddyEvent2_Release(This) (This)->lpVtbl->Release(This)
   2981 #define IRTCBuddyEvent2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2982 #define IRTCBuddyEvent2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2983 #define IRTCBuddyEvent2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2984 #define IRTCBuddyEvent2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2985 #define IRTCBuddyEvent2_get_Buddy(This,ppBuddy) (This)->lpVtbl->get_Buddy(This,ppBuddy)
   2986 #define IRTCBuddyEvent2_get_EventType(This,pEventType) (This)->lpVtbl->get_EventType(This,pEventType)
   2987 #define IRTCBuddyEvent2_get_StatusCode(This,plStatusCode) (This)->lpVtbl->get_StatusCode(This,plStatusCode)
   2988 #define IRTCBuddyEvent2_get_StatusText(This,pbstrStatusText) (This)->lpVtbl->get_StatusText(This,pbstrStatusText)
   2989 #endif
   2990 #endif
   2991   HRESULT WINAPI IRTCBuddyEvent2_get_EventType_Proxy(IRTCBuddyEvent2 *This,RTC_BUDDY_EVENT_TYPE *pEventType);
   2992   void __RPC_STUB IRTCBuddyEvent2_get_EventType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2993   HRESULT WINAPI IRTCBuddyEvent2_get_StatusCode_Proxy(IRTCBuddyEvent2 *This,__LONG32 *plStatusCode);
   2994   void __RPC_STUB IRTCBuddyEvent2_get_StatusCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2995   HRESULT WINAPI IRTCBuddyEvent2_get_StatusText_Proxy(IRTCBuddyEvent2 *This,BSTR *pbstrStatusText);
   2996   void __RPC_STUB IRTCBuddyEvent2_get_StatusText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2997 #endif
   2998 
   2999 #ifndef __IRTCWatcherEvent_INTERFACE_DEFINED__
   3000 #define __IRTCWatcherEvent_INTERFACE_DEFINED__
   3001   EXTERN_C const IID IID_IRTCWatcherEvent;
   3002 #if defined(__cplusplus) && !defined(CINTERFACE)
   3003   struct IRTCWatcherEvent : public IDispatch {
   3004   public:
   3005     virtual HRESULT WINAPI get_Watcher(IRTCWatcher **ppWatcher) = 0;
   3006   };
   3007 #else
   3008   typedef struct IRTCWatcherEventVtbl {
   3009     BEGIN_INTERFACE
   3010       HRESULT (WINAPI *QueryInterface)(IRTCWatcherEvent *This,REFIID riid,void **ppvObject);
   3011       ULONG (WINAPI *AddRef)(IRTCWatcherEvent *This);
   3012       ULONG (WINAPI *Release)(IRTCWatcherEvent *This);
   3013       HRESULT (WINAPI *GetTypeInfoCount)(IRTCWatcherEvent *This,UINT *pctinfo);
   3014       HRESULT (WINAPI *GetTypeInfo)(IRTCWatcherEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   3015       HRESULT (WINAPI *GetIDsOfNames)(IRTCWatcherEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   3016       HRESULT (WINAPI *Invoke)(IRTCWatcherEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   3017       HRESULT (WINAPI *get_Watcher)(IRTCWatcherEvent *This,IRTCWatcher **ppWatcher);
   3018     END_INTERFACE
   3019   } IRTCWatcherEventVtbl;
   3020   struct IRTCWatcherEvent {
   3021     CONST_VTBL struct IRTCWatcherEventVtbl *lpVtbl;
   3022   };
   3023 #ifdef COBJMACROS
   3024 #define IRTCWatcherEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3025 #define IRTCWatcherEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
   3026 #define IRTCWatcherEvent_Release(This) (This)->lpVtbl->Release(This)
   3027 #define IRTCWatcherEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3028 #define IRTCWatcherEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3029 #define IRTCWatcherEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3030 #define IRTCWatcherEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3031 #define IRTCWatcherEvent_get_Watcher(This,ppWatcher) (This)->lpVtbl->get_Watcher(This,ppWatcher)
   3032 #endif
   3033 #endif
   3034   HRESULT WINAPI IRTCWatcherEvent_get_Watcher_Proxy(IRTCWatcherEvent *This,IRTCWatcher **ppWatcher);
   3035   void __RPC_STUB IRTCWatcherEvent_get_Watcher_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3036 #endif
   3037 
   3038 #ifndef __IRTCWatcherEvent2_INTERFACE_DEFINED__
   3039 #define __IRTCWatcherEvent2_INTERFACE_DEFINED__
   3040   EXTERN_C const IID IID_IRTCWatcherEvent2;
   3041 #if defined(__cplusplus) && !defined(CINTERFACE)
   3042   struct IRTCWatcherEvent2 : public IRTCWatcherEvent {
   3043   public:
   3044     virtual HRESULT WINAPI get_EventType(RTC_WATCHER_EVENT_TYPE *pEventType) = 0;
   3045     virtual HRESULT WINAPI get_StatusCode(__LONG32 *plStatusCode) = 0;
   3046   };
   3047 #else
   3048   typedef struct IRTCWatcherEvent2Vtbl {
   3049     BEGIN_INTERFACE
   3050       HRESULT (WINAPI *QueryInterface)(IRTCWatcherEvent2 *This,REFIID riid,void **ppvObject);
   3051       ULONG (WINAPI *AddRef)(IRTCWatcherEvent2 *This);
   3052       ULONG (WINAPI *Release)(IRTCWatcherEvent2 *This);
   3053       HRESULT (WINAPI *GetTypeInfoCount)(IRTCWatcherEvent2 *This,UINT *pctinfo);
   3054       HRESULT (WINAPI *GetTypeInfo)(IRTCWatcherEvent2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   3055       HRESULT (WINAPI *GetIDsOfNames)(IRTCWatcherEvent2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   3056       HRESULT (WINAPI *Invoke)(IRTCWatcherEvent2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   3057       HRESULT (WINAPI *get_Watcher)(IRTCWatcherEvent2 *This,IRTCWatcher **ppWatcher);
   3058       HRESULT (WINAPI *get_EventType)(IRTCWatcherEvent2 *This,RTC_WATCHER_EVENT_TYPE *pEventType);
   3059       HRESULT (WINAPI *get_StatusCode)(IRTCWatcherEvent2 *This,__LONG32 *plStatusCode);
   3060     END_INTERFACE
   3061   } IRTCWatcherEvent2Vtbl;
   3062   struct IRTCWatcherEvent2 {
   3063     CONST_VTBL struct IRTCWatcherEvent2Vtbl *lpVtbl;
   3064   };
   3065 #ifdef COBJMACROS
   3066 #define IRTCWatcherEvent2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3067 #define IRTCWatcherEvent2_AddRef(This) (This)->lpVtbl->AddRef(This)
   3068 #define IRTCWatcherEvent2_Release(This) (This)->lpVtbl->Release(This)
   3069 #define IRTCWatcherEvent2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3070 #define IRTCWatcherEvent2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3071 #define IRTCWatcherEvent2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3072 #define IRTCWatcherEvent2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3073 #define IRTCWatcherEvent2_get_Watcher(This,ppWatcher) (This)->lpVtbl->get_Watcher(This,ppWatcher)
   3074 #define IRTCWatcherEvent2_get_EventType(This,pEventType) (This)->lpVtbl->get_EventType(This,pEventType)
   3075 #define IRTCWatcherEvent2_get_StatusCode(This,plStatusCode) (This)->lpVtbl->get_StatusCode(This,plStatusCode)
   3076 #endif
   3077 #endif
   3078   HRESULT WINAPI IRTCWatcherEvent2_get_EventType_Proxy(IRTCWatcherEvent2 *This,RTC_WATCHER_EVENT_TYPE *pEventType);
   3079   void __RPC_STUB IRTCWatcherEvent2_get_EventType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3080   HRESULT WINAPI IRTCWatcherEvent2_get_StatusCode_Proxy(IRTCWatcherEvent2 *This,__LONG32 *plStatusCode);
   3081   void __RPC_STUB IRTCWatcherEvent2_get_StatusCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3082 #endif
   3083 
   3084 #ifndef __IRTCBuddyGroupEvent_INTERFACE_DEFINED__
   3085 #define __IRTCBuddyGroupEvent_INTERFACE_DEFINED__
   3086   EXTERN_C const IID IID_IRTCBuddyGroupEvent;
   3087 #if defined(__cplusplus) && !defined(CINTERFACE)
   3088   struct IRTCBuddyGroupEvent : public IDispatch {
   3089   public:
   3090     virtual HRESULT WINAPI get_EventType(RTC_GROUP_EVENT_TYPE *pEventType) = 0;
   3091     virtual HRESULT WINAPI get_Group(IRTCBuddyGroup **ppGroup) = 0;
   3092     virtual HRESULT WINAPI get_Buddy(IRTCBuddy2 **ppBuddy) = 0;
   3093     virtual HRESULT WINAPI get_StatusCode(__LONG32 *plStatusCode) = 0;
   3094   };
   3095 #else
   3096   typedef struct IRTCBuddyGroupEventVtbl {
   3097     BEGIN_INTERFACE
   3098       HRESULT (WINAPI *QueryInterface)(IRTCBuddyGroupEvent *This,REFIID riid,void **ppvObject);
   3099       ULONG (WINAPI *AddRef)(IRTCBuddyGroupEvent *This);
   3100       ULONG (WINAPI *Release)(IRTCBuddyGroupEvent *This);
   3101       HRESULT (WINAPI *GetTypeInfoCount)(IRTCBuddyGroupEvent *This,UINT *pctinfo);
   3102       HRESULT (WINAPI *GetTypeInfo)(IRTCBuddyGroupEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   3103       HRESULT (WINAPI *GetIDsOfNames)(IRTCBuddyGroupEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   3104       HRESULT (WINAPI *Invoke)(IRTCBuddyGroupEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   3105       HRESULT (WINAPI *get_EventType)(IRTCBuddyGroupEvent *This,RTC_GROUP_EVENT_TYPE *pEventType);
   3106       HRESULT (WINAPI *get_Group)(IRTCBuddyGroupEvent *This,IRTCBuddyGroup **ppGroup);
   3107       HRESULT (WINAPI *get_Buddy)(IRTCBuddyGroupEvent *This,IRTCBuddy2 **ppBuddy);
   3108       HRESULT (WINAPI *get_StatusCode)(IRTCBuddyGroupEvent *This,__LONG32 *plStatusCode);
   3109     END_INTERFACE
   3110   } IRTCBuddyGroupEventVtbl;
   3111   struct IRTCBuddyGroupEvent {
   3112     CONST_VTBL struct IRTCBuddyGroupEventVtbl *lpVtbl;
   3113   };
   3114 #ifdef COBJMACROS
   3115 #define IRTCBuddyGroupEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3116 #define IRTCBuddyGroupEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
   3117 #define IRTCBuddyGroupEvent_Release(This) (This)->lpVtbl->Release(This)
   3118 #define IRTCBuddyGroupEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3119 #define IRTCBuddyGroupEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3120 #define IRTCBuddyGroupEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3121 #define IRTCBuddyGroupEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3122 #define IRTCBuddyGroupEvent_get_EventType(This,pEventType) (This)->lpVtbl->get_EventType(This,pEventType)
   3123 #define IRTCBuddyGroupEvent_get_Group(This,ppGroup) (This)->lpVtbl->get_Group(This,ppGroup)
   3124 #define IRTCBuddyGroupEvent_get_Buddy(This,ppBuddy) (This)->lpVtbl->get_Buddy(This,ppBuddy)
   3125 #define IRTCBuddyGroupEvent_get_StatusCode(This,plStatusCode) (This)->lpVtbl->get_StatusCode(This,plStatusCode)
   3126 #endif
   3127 #endif
   3128   HRESULT WINAPI IRTCBuddyGroupEvent_get_EventType_Proxy(IRTCBuddyGroupEvent *This,RTC_GROUP_EVENT_TYPE *pEventType);
   3129   void __RPC_STUB IRTCBuddyGroupEvent_get_EventType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3130   HRESULT WINAPI IRTCBuddyGroupEvent_get_Group_Proxy(IRTCBuddyGroupEvent *This,IRTCBuddyGroup **ppGroup);
   3131   void __RPC_STUB IRTCBuddyGroupEvent_get_Group_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3132   HRESULT WINAPI IRTCBuddyGroupEvent_get_Buddy_Proxy(IRTCBuddyGroupEvent *This,IRTCBuddy2 **ppBuddy);
   3133   void __RPC_STUB IRTCBuddyGroupEvent_get_Buddy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3134   HRESULT WINAPI IRTCBuddyGroupEvent_get_StatusCode_Proxy(IRTCBuddyGroupEvent *This,__LONG32 *plStatusCode);
   3135   void __RPC_STUB IRTCBuddyGroupEvent_get_StatusCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3136 #endif
   3137 
   3138 #ifndef __IRTCInfoEvent_INTERFACE_DEFINED__
   3139 #define __IRTCInfoEvent_INTERFACE_DEFINED__
   3140   EXTERN_C const IID IID_IRTCInfoEvent;
   3141 #if defined(__cplusplus) && !defined(CINTERFACE)
   3142   struct IRTCInfoEvent : public IDispatch {
   3143   public:
   3144     virtual HRESULT WINAPI get_Session(IRTCSession2 **ppSession) = 0;
   3145     virtual HRESULT WINAPI get_Participant(IRTCParticipant **ppParticipant) = 0;
   3146     virtual HRESULT WINAPI get_Info(BSTR *pbstrInfo) = 0;
   3147     virtual HRESULT WINAPI get_InfoHeader(BSTR *pbstrInfoHeader) = 0;
   3148   };
   3149 #else
   3150   typedef struct IRTCInfoEventVtbl {
   3151     BEGIN_INTERFACE
   3152       HRESULT (WINAPI *QueryInterface)(IRTCInfoEvent *This,REFIID riid,void **ppvObject);
   3153       ULONG (WINAPI *AddRef)(IRTCInfoEvent *This);
   3154       ULONG (WINAPI *Release)(IRTCInfoEvent *This);
   3155       HRESULT (WINAPI *GetTypeInfoCount)(IRTCInfoEvent *This,UINT *pctinfo);
   3156       HRESULT (WINAPI *GetTypeInfo)(IRTCInfoEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   3157       HRESULT (WINAPI *GetIDsOfNames)(IRTCInfoEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   3158       HRESULT (WINAPI *Invoke)(IRTCInfoEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   3159       HRESULT (WINAPI *get_Session)(IRTCInfoEvent *This,IRTCSession2 **ppSession);
   3160       HRESULT (WINAPI *get_Participant)(IRTCInfoEvent *This,IRTCParticipant **ppParticipant);
   3161       HRESULT (WINAPI *get_Info)(IRTCInfoEvent *This,BSTR *pbstrInfo);
   3162       HRESULT (WINAPI *get_InfoHeader)(IRTCInfoEvent *This,BSTR *pbstrInfoHeader);
   3163     END_INTERFACE
   3164   } IRTCInfoEventVtbl;
   3165   struct IRTCInfoEvent {
   3166     CONST_VTBL struct IRTCInfoEventVtbl *lpVtbl;
   3167   };
   3168 #ifdef COBJMACROS
   3169 #define IRTCInfoEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3170 #define IRTCInfoEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
   3171 #define IRTCInfoEvent_Release(This) (This)->lpVtbl->Release(This)
   3172 #define IRTCInfoEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3173 #define IRTCInfoEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3174 #define IRTCInfoEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3175 #define IRTCInfoEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3176 #define IRTCInfoEvent_get_Session(This,ppSession) (This)->lpVtbl->get_Session(This,ppSession)
   3177 #define IRTCInfoEvent_get_Participant(This,ppParticipant) (This)->lpVtbl->get_Participant(This,ppParticipant)
   3178 #define IRTCInfoEvent_get_Info(This,pbstrInfo) (This)->lpVtbl->get_Info(This,pbstrInfo)
   3179 #define IRTCInfoEvent_get_InfoHeader(This,pbstrInfoHeader) (This)->lpVtbl->get_InfoHeader(This,pbstrInfoHeader)
   3180 #endif
   3181 #endif
   3182   HRESULT WINAPI IRTCInfoEvent_get_Session_Proxy(IRTCInfoEvent *This,IRTCSession2 **ppSession);
   3183   void __RPC_STUB IRTCInfoEvent_get_Session_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3184   HRESULT WINAPI IRTCInfoEvent_get_Participant_Proxy(IRTCInfoEvent *This,IRTCParticipant **ppParticipant);
   3185   void __RPC_STUB IRTCInfoEvent_get_Participant_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3186   HRESULT WINAPI IRTCInfoEvent_get_Info_Proxy(IRTCInfoEvent *This,BSTR *pbstrInfo);
   3187   void __RPC_STUB IRTCInfoEvent_get_Info_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3188   HRESULT WINAPI IRTCInfoEvent_get_InfoHeader_Proxy(IRTCInfoEvent *This,BSTR *pbstrInfoHeader);
   3189   void __RPC_STUB IRTCInfoEvent_get_InfoHeader_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3190 #endif
   3191 
   3192 #ifndef __IRTCMediaRequestEvent_INTERFACE_DEFINED__
   3193 #define __IRTCMediaRequestEvent_INTERFACE_DEFINED__
   3194   EXTERN_C const IID IID_IRTCMediaRequestEvent;
   3195 #if defined(__cplusplus) && !defined(CINTERFACE)
   3196   struct IRTCMediaRequestEvent : public IDispatch {
   3197   public:
   3198     virtual HRESULT WINAPI get_Session(IRTCSession2 **ppSession) = 0;
   3199     virtual HRESULT WINAPI get_ProposedMedia(__LONG32 *plMediaTypes) = 0;
   3200     virtual HRESULT WINAPI get_CurrentMedia(__LONG32 *plMediaTypes) = 0;
   3201     virtual HRESULT WINAPI Accept(__LONG32 lMediaTypes) = 0;
   3202     virtual HRESULT WINAPI get_RemotePreferredSecurityLevel(RTC_SECURITY_TYPE enSecurityType,RTC_SECURITY_LEVEL *penSecurityLevel) = 0;
   3203     virtual HRESULT WINAPI Reject(void) = 0;
   3204     virtual HRESULT WINAPI get_State(RTC_REINVITE_STATE *pState) = 0;
   3205   };
   3206 #else
   3207   typedef struct IRTCMediaRequestEventVtbl {
   3208     BEGIN_INTERFACE
   3209       HRESULT (WINAPI *QueryInterface)(IRTCMediaRequestEvent *This,REFIID riid,void **ppvObject);
   3210       ULONG (WINAPI *AddRef)(IRTCMediaRequestEvent *This);
   3211       ULONG (WINAPI *Release)(IRTCMediaRequestEvent *This);
   3212       HRESULT (WINAPI *GetTypeInfoCount)(IRTCMediaRequestEvent *This,UINT *pctinfo);
   3213       HRESULT (WINAPI *GetTypeInfo)(IRTCMediaRequestEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   3214       HRESULT (WINAPI *GetIDsOfNames)(IRTCMediaRequestEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   3215       HRESULT (WINAPI *Invoke)(IRTCMediaRequestEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   3216       HRESULT (WINAPI *get_Session)(IRTCMediaRequestEvent *This,IRTCSession2 **ppSession);
   3217       HRESULT (WINAPI *get_ProposedMedia)(IRTCMediaRequestEvent *This,__LONG32 *plMediaTypes);
   3218       HRESULT (WINAPI *get_CurrentMedia)(IRTCMediaRequestEvent *This,__LONG32 *plMediaTypes);
   3219       HRESULT (WINAPI *Accept)(IRTCMediaRequestEvent *This,__LONG32 lMediaTypes);
   3220       HRESULT (WINAPI *get_RemotePreferredSecurityLevel)(IRTCMediaRequestEvent *This,RTC_SECURITY_TYPE enSecurityType,RTC_SECURITY_LEVEL *penSecurityLevel);
   3221       HRESULT (WINAPI *Reject)(IRTCMediaRequestEvent *This);
   3222       HRESULT (WINAPI *get_State)(IRTCMediaRequestEvent *This,RTC_REINVITE_STATE *pState);
   3223     END_INTERFACE
   3224   } IRTCMediaRequestEventVtbl;
   3225   struct IRTCMediaRequestEvent {
   3226     CONST_VTBL struct IRTCMediaRequestEventVtbl *lpVtbl;
   3227   };
   3228 #ifdef COBJMACROS
   3229 #define IRTCMediaRequestEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3230 #define IRTCMediaRequestEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
   3231 #define IRTCMediaRequestEvent_Release(This) (This)->lpVtbl->Release(This)
   3232 #define IRTCMediaRequestEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3233 #define IRTCMediaRequestEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3234 #define IRTCMediaRequestEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3235 #define IRTCMediaRequestEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3236 #define IRTCMediaRequestEvent_get_Session(This,ppSession) (This)->lpVtbl->get_Session(This,ppSession)
   3237 #define IRTCMediaRequestEvent_get_ProposedMedia(This,plMediaTypes) (This)->lpVtbl->get_ProposedMedia(This,plMediaTypes)
   3238 #define IRTCMediaRequestEvent_get_CurrentMedia(This,plMediaTypes) (This)->lpVtbl->get_CurrentMedia(This,plMediaTypes)
   3239 #define IRTCMediaRequestEvent_Accept(This,lMediaTypes) (This)->lpVtbl->Accept(This,lMediaTypes)
   3240 #define IRTCMediaRequestEvent_get_RemotePreferredSecurityLevel(This,enSecurityType,penSecurityLevel) (This)->lpVtbl->get_RemotePreferredSecurityLevel(This,enSecurityType,penSecurityLevel)
   3241 #define IRTCMediaRequestEvent_Reject(This) (This)->lpVtbl->Reject(This)
   3242 #define IRTCMediaRequestEvent_get_State(This,pState) (This)->lpVtbl->get_State(This,pState)
   3243 #endif
   3244 #endif
   3245   HRESULT WINAPI IRTCMediaRequestEvent_get_Session_Proxy(IRTCMediaRequestEvent *This,IRTCSession2 **ppSession);
   3246   void __RPC_STUB IRTCMediaRequestEvent_get_Session_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3247   HRESULT WINAPI IRTCMediaRequestEvent_get_ProposedMedia_Proxy(IRTCMediaRequestEvent *This,__LONG32 *plMediaTypes);
   3248   void __RPC_STUB IRTCMediaRequestEvent_get_ProposedMedia_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3249   HRESULT WINAPI IRTCMediaRequestEvent_get_CurrentMedia_Proxy(IRTCMediaRequestEvent *This,__LONG32 *plMediaTypes);
   3250   void __RPC_STUB IRTCMediaRequestEvent_get_CurrentMedia_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3251   HRESULT WINAPI IRTCMediaRequestEvent_Accept_Proxy(IRTCMediaRequestEvent *This,__LONG32 lMediaTypes);
   3252   void __RPC_STUB IRTCMediaRequestEvent_Accept_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3253   HRESULT WINAPI IRTCMediaRequestEvent_get_RemotePreferredSecurityLevel_Proxy(IRTCMediaRequestEvent *This,RTC_SECURITY_TYPE enSecurityType,RTC_SECURITY_LEVEL *penSecurityLevel);
   3254   void __RPC_STUB IRTCMediaRequestEvent_get_RemotePreferredSecurityLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3255   HRESULT WINAPI IRTCMediaRequestEvent_Reject_Proxy(IRTCMediaRequestEvent *This);
   3256   void __RPC_STUB IRTCMediaRequestEvent_Reject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3257   HRESULT WINAPI IRTCMediaRequestEvent_get_State_Proxy(IRTCMediaRequestEvent *This,RTC_REINVITE_STATE *pState);
   3258   void __RPC_STUB IRTCMediaRequestEvent_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3259 #endif
   3260 
   3261 #ifndef __IRTCReInviteEvent_INTERFACE_DEFINED__
   3262 #define __IRTCReInviteEvent_INTERFACE_DEFINED__
   3263   EXTERN_C const IID IID_IRTCReInviteEvent;
   3264 #if defined(__cplusplus) && !defined(CINTERFACE)
   3265   struct IRTCReInviteEvent : public IDispatch {
   3266   public:
   3267     virtual HRESULT WINAPI get_Session(IRTCSession2 **ppSession2) = 0;
   3268     virtual HRESULT WINAPI Accept(BSTR bstrContentType,BSTR bstrSessionDescription) = 0;
   3269     virtual HRESULT WINAPI Reject(void) = 0;
   3270     virtual HRESULT WINAPI get_State(RTC_REINVITE_STATE *pState) = 0;
   3271     virtual HRESULT WINAPI GetRemoteSessionDescription(BSTR *pbstrContentType,BSTR *pbstrSessionDescription) = 0;
   3272   };
   3273 #else
   3274   typedef struct IRTCReInviteEventVtbl {
   3275     BEGIN_INTERFACE
   3276       HRESULT (WINAPI *QueryInterface)(IRTCReInviteEvent *This,REFIID riid,void **ppvObject);
   3277       ULONG (WINAPI *AddRef)(IRTCReInviteEvent *This);
   3278       ULONG (WINAPI *Release)(IRTCReInviteEvent *This);
   3279       HRESULT (WINAPI *GetTypeInfoCount)(IRTCReInviteEvent *This,UINT *pctinfo);
   3280       HRESULT (WINAPI *GetTypeInfo)(IRTCReInviteEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   3281       HRESULT (WINAPI *GetIDsOfNames)(IRTCReInviteEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   3282       HRESULT (WINAPI *Invoke)(IRTCReInviteEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   3283       HRESULT (WINAPI *get_Session)(IRTCReInviteEvent *This,IRTCSession2 **ppSession2);
   3284       HRESULT (WINAPI *Accept)(IRTCReInviteEvent *This,BSTR bstrContentType,BSTR bstrSessionDescription);
   3285       HRESULT (WINAPI *Reject)(IRTCReInviteEvent *This);
   3286       HRESULT (WINAPI *get_State)(IRTCReInviteEvent *This,RTC_REINVITE_STATE *pState);
   3287       HRESULT (WINAPI *GetRemoteSessionDescription)(IRTCReInviteEvent *This,BSTR *pbstrContentType,BSTR *pbstrSessionDescription);
   3288     END_INTERFACE
   3289   } IRTCReInviteEventVtbl;
   3290   struct IRTCReInviteEvent {
   3291     CONST_VTBL struct IRTCReInviteEventVtbl *lpVtbl;
   3292   };
   3293 #ifdef COBJMACROS
   3294 #define IRTCReInviteEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3295 #define IRTCReInviteEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
   3296 #define IRTCReInviteEvent_Release(This) (This)->lpVtbl->Release(This)
   3297 #define IRTCReInviteEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3298 #define IRTCReInviteEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3299 #define IRTCReInviteEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3300 #define IRTCReInviteEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3301 #define IRTCReInviteEvent_get_Session(This,ppSession2) (This)->lpVtbl->get_Session(This,ppSession2)
   3302 #define IRTCReInviteEvent_Accept(This,bstrContentType,bstrSessionDescription) (This)->lpVtbl->Accept(This,bstrContentType,bstrSessionDescription)
   3303 #define IRTCReInviteEvent_Reject(This) (This)->lpVtbl->Reject(This)
   3304 #define IRTCReInviteEvent_get_State(This,pState) (This)->lpVtbl->get_State(This,pState)
   3305 #define IRTCReInviteEvent_GetRemoteSessionDescription(This,pbstrContentType,pbstrSessionDescription) (This)->lpVtbl->GetRemoteSessionDescription(This,pbstrContentType,pbstrSessionDescription)
   3306 #endif
   3307 #endif
   3308   HRESULT WINAPI IRTCReInviteEvent_get_Session_Proxy(IRTCReInviteEvent *This,IRTCSession2 **ppSession2);
   3309   void __RPC_STUB IRTCReInviteEvent_get_Session_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3310   HRESULT WINAPI IRTCReInviteEvent_Accept_Proxy(IRTCReInviteEvent *This,BSTR bstrContentType,BSTR bstrSessionDescription);
   3311   void __RPC_STUB IRTCReInviteEvent_Accept_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3312   HRESULT WINAPI IRTCReInviteEvent_Reject_Proxy(IRTCReInviteEvent *This);
   3313   void __RPC_STUB IRTCReInviteEvent_Reject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3314   HRESULT WINAPI IRTCReInviteEvent_get_State_Proxy(IRTCReInviteEvent *This,RTC_REINVITE_STATE *pState);
   3315   void __RPC_STUB IRTCReInviteEvent_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3316   HRESULT WINAPI IRTCReInviteEvent_GetRemoteSessionDescription_Proxy(IRTCReInviteEvent *This,BSTR *pbstrContentType,BSTR *pbstrSessionDescription);
   3317   void __RPC_STUB IRTCReInviteEvent_GetRemoteSessionDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3318 #endif
   3319 
   3320 #ifndef __IRTCPresencePropertyEvent_INTERFACE_DEFINED__
   3321 #define __IRTCPresencePropertyEvent_INTERFACE_DEFINED__
   3322   EXTERN_C const IID IID_IRTCPresencePropertyEvent;
   3323 #if defined(__cplusplus) && !defined(CINTERFACE)
   3324   struct IRTCPresencePropertyEvent : public IDispatch {
   3325   public:
   3326     virtual HRESULT WINAPI get_StatusCode(__LONG32 *plStatusCode) = 0;
   3327     virtual HRESULT WINAPI get_StatusText(BSTR *pbstrStatusText) = 0;
   3328     virtual HRESULT WINAPI get_PresenceProperty(RTC_PRESENCE_PROPERTY *penPresProp) = 0;
   3329     virtual HRESULT WINAPI get_Value(BSTR *pbstrValue) = 0;
   3330   };
   3331 #else
   3332   typedef struct IRTCPresencePropertyEventVtbl {
   3333     BEGIN_INTERFACE
   3334       HRESULT (WINAPI *QueryInterface)(IRTCPresencePropertyEvent *This,REFIID riid,void **ppvObject);
   3335       ULONG (WINAPI *AddRef)(IRTCPresencePropertyEvent *This);
   3336       ULONG (WINAPI *Release)(IRTCPresencePropertyEvent *This);
   3337       HRESULT (WINAPI *GetTypeInfoCount)(IRTCPresencePropertyEvent *This,UINT *pctinfo);
   3338       HRESULT (WINAPI *GetTypeInfo)(IRTCPresencePropertyEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   3339       HRESULT (WINAPI *GetIDsOfNames)(IRTCPresencePropertyEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   3340       HRESULT (WINAPI *Invoke)(IRTCPresencePropertyEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   3341       HRESULT (WINAPI *get_StatusCode)(IRTCPresencePropertyEvent *This,__LONG32 *plStatusCode);
   3342       HRESULT (WINAPI *get_StatusText)(IRTCPresencePropertyEvent *This,BSTR *pbstrStatusText);
   3343       HRESULT (WINAPI *get_PresenceProperty)(IRTCPresencePropertyEvent *This,RTC_PRESENCE_PROPERTY *penPresProp);
   3344       HRESULT (WINAPI *get_Value)(IRTCPresencePropertyEvent *This,BSTR *pbstrValue);
   3345     END_INTERFACE
   3346   } IRTCPresencePropertyEventVtbl;
   3347   struct IRTCPresencePropertyEvent {
   3348     CONST_VTBL struct IRTCPresencePropertyEventVtbl *lpVtbl;
   3349   };
   3350 #ifdef COBJMACROS
   3351 #define IRTCPresencePropertyEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3352 #define IRTCPresencePropertyEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
   3353 #define IRTCPresencePropertyEvent_Release(This) (This)->lpVtbl->Release(This)
   3354 #define IRTCPresencePropertyEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3355 #define IRTCPresencePropertyEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3356 #define IRTCPresencePropertyEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3357 #define IRTCPresencePropertyEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3358 #define IRTCPresencePropertyEvent_get_StatusCode(This,plStatusCode) (This)->lpVtbl->get_StatusCode(This,plStatusCode)
   3359 #define IRTCPresencePropertyEvent_get_StatusText(This,pbstrStatusText) (This)->lpVtbl->get_StatusText(This,pbstrStatusText)
   3360 #define IRTCPresencePropertyEvent_get_PresenceProperty(This,penPresProp) (This)->lpVtbl->get_PresenceProperty(This,penPresProp)
   3361 #define IRTCPresencePropertyEvent_get_Value(This,pbstrValue) (This)->lpVtbl->get_Value(This,pbstrValue)
   3362 #endif
   3363 #endif
   3364   HRESULT WINAPI IRTCPresencePropertyEvent_get_StatusCode_Proxy(IRTCPresencePropertyEvent *This,__LONG32 *plStatusCode);
   3365   void __RPC_STUB IRTCPresencePropertyEvent_get_StatusCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3366   HRESULT WINAPI IRTCPresencePropertyEvent_get_StatusText_Proxy(IRTCPresencePropertyEvent *This,BSTR *pbstrStatusText);
   3367   void __RPC_STUB IRTCPresencePropertyEvent_get_StatusText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3368   HRESULT WINAPI IRTCPresencePropertyEvent_get_PresenceProperty_Proxy(IRTCPresencePropertyEvent *This,RTC_PRESENCE_PROPERTY *penPresProp);
   3369   void __RPC_STUB IRTCPresencePropertyEvent_get_PresenceProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3370   HRESULT WINAPI IRTCPresencePropertyEvent_get_Value_Proxy(IRTCPresencePropertyEvent *This,BSTR *pbstrValue);
   3371   void __RPC_STUB IRTCPresencePropertyEvent_get_Value_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3372 #endif
   3373 
   3374 #ifndef __IRTCPresenceDataEvent_INTERFACE_DEFINED__
   3375 #define __IRTCPresenceDataEvent_INTERFACE_DEFINED__
   3376   EXTERN_C const IID IID_IRTCPresenceDataEvent;
   3377 #if defined(__cplusplus) && !defined(CINTERFACE)
   3378   struct IRTCPresenceDataEvent : public IDispatch {
   3379   public:
   3380     virtual HRESULT WINAPI get_StatusCode(__LONG32 *plStatusCode) = 0;
   3381     virtual HRESULT WINAPI get_StatusText(BSTR *pbstrStatusText) = 0;
   3382     virtual HRESULT WINAPI GetPresenceData(BSTR *pbstrNamespace,BSTR *pbstrData) = 0;
   3383   };
   3384 #else
   3385   typedef struct IRTCPresenceDataEventVtbl {
   3386     BEGIN_INTERFACE
   3387       HRESULT (WINAPI *QueryInterface)(IRTCPresenceDataEvent *This,REFIID riid,void **ppvObject);
   3388       ULONG (WINAPI *AddRef)(IRTCPresenceDataEvent *This);
   3389       ULONG (WINAPI *Release)(IRTCPresenceDataEvent *This);
   3390       HRESULT (WINAPI *GetTypeInfoCount)(IRTCPresenceDataEvent *This,UINT *pctinfo);
   3391       HRESULT (WINAPI *GetTypeInfo)(IRTCPresenceDataEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   3392       HRESULT (WINAPI *GetIDsOfNames)(IRTCPresenceDataEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   3393       HRESULT (WINAPI *Invoke)(IRTCPresenceDataEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   3394       HRESULT (WINAPI *get_StatusCode)(IRTCPresenceDataEvent *This,__LONG32 *plStatusCode);
   3395       HRESULT (WINAPI *get_StatusText)(IRTCPresenceDataEvent *This,BSTR *pbstrStatusText);
   3396       HRESULT (WINAPI *GetPresenceData)(IRTCPresenceDataEvent *This,BSTR *pbstrNamespace,BSTR *pbstrData);
   3397     END_INTERFACE
   3398   } IRTCPresenceDataEventVtbl;
   3399   struct IRTCPresenceDataEvent {
   3400     CONST_VTBL struct IRTCPresenceDataEventVtbl *lpVtbl;
   3401   };
   3402 #ifdef COBJMACROS
   3403 #define IRTCPresenceDataEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3404 #define IRTCPresenceDataEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
   3405 #define IRTCPresenceDataEvent_Release(This) (This)->lpVtbl->Release(This)
   3406 #define IRTCPresenceDataEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3407 #define IRTCPresenceDataEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3408 #define IRTCPresenceDataEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3409 #define IRTCPresenceDataEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3410 #define IRTCPresenceDataEvent_get_StatusCode(This,plStatusCode) (This)->lpVtbl->get_StatusCode(This,plStatusCode)
   3411 #define IRTCPresenceDataEvent_get_StatusText(This,pbstrStatusText) (This)->lpVtbl->get_StatusText(This,pbstrStatusText)
   3412 #define IRTCPresenceDataEvent_GetPresenceData(This,pbstrNamespace,pbstrData) (This)->lpVtbl->GetPresenceData(This,pbstrNamespace,pbstrData)
   3413 #endif
   3414 #endif
   3415   HRESULT WINAPI IRTCPresenceDataEvent_get_StatusCode_Proxy(IRTCPresenceDataEvent *This,__LONG32 *plStatusCode);
   3416   void __RPC_STUB IRTCPresenceDataEvent_get_StatusCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3417   HRESULT WINAPI IRTCPresenceDataEvent_get_StatusText_Proxy(IRTCPresenceDataEvent *This,BSTR *pbstrStatusText);
   3418   void __RPC_STUB IRTCPresenceDataEvent_get_StatusText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3419   HRESULT WINAPI IRTCPresenceDataEvent_GetPresenceData_Proxy(IRTCPresenceDataEvent *This,BSTR *pbstrNamespace,BSTR *pbstrData);
   3420   void __RPC_STUB IRTCPresenceDataEvent_GetPresenceData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3421 #endif
   3422 
   3423 #ifndef __IRTCPresenceStatusEvent_INTERFACE_DEFINED__
   3424 #define __IRTCPresenceStatusEvent_INTERFACE_DEFINED__
   3425   EXTERN_C const IID IID_IRTCPresenceStatusEvent;
   3426 #if defined(__cplusplus) && !defined(CINTERFACE)
   3427   struct IRTCPresenceStatusEvent : public IDispatch {
   3428   public:
   3429     virtual HRESULT WINAPI get_StatusCode(__LONG32 *plStatusCode) = 0;
   3430     virtual HRESULT WINAPI get_StatusText(BSTR *pbstrStatusText) = 0;
   3431     virtual HRESULT WINAPI GetLocalPresenceInfo(RTC_PRESENCE_STATUS *penStatus,BSTR *pbstrNotes) = 0;
   3432   };
   3433 #else
   3434   typedef struct IRTCPresenceStatusEventVtbl {
   3435     BEGIN_INTERFACE
   3436       HRESULT (WINAPI *QueryInterface)(IRTCPresenceStatusEvent *This,REFIID riid,void **ppvObject);
   3437       ULONG (WINAPI *AddRef)(IRTCPresenceStatusEvent *This);
   3438       ULONG (WINAPI *Release)(IRTCPresenceStatusEvent *This);
   3439       HRESULT (WINAPI *GetTypeInfoCount)(IRTCPresenceStatusEvent *This,UINT *pctinfo);
   3440       HRESULT (WINAPI *GetTypeInfo)(IRTCPresenceStatusEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   3441       HRESULT (WINAPI *GetIDsOfNames)(IRTCPresenceStatusEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   3442       HRESULT (WINAPI *Invoke)(IRTCPresenceStatusEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   3443       HRESULT (WINAPI *get_StatusCode)(IRTCPresenceStatusEvent *This,__LONG32 *plStatusCode);
   3444       HRESULT (WINAPI *get_StatusText)(IRTCPresenceStatusEvent *This,BSTR *pbstrStatusText);
   3445       HRESULT (WINAPI *GetLocalPresenceInfo)(IRTCPresenceStatusEvent *This,RTC_PRESENCE_STATUS *penStatus,BSTR *pbstrNotes);
   3446     END_INTERFACE
   3447   } IRTCPresenceStatusEventVtbl;
   3448   struct IRTCPresenceStatusEvent {
   3449     CONST_VTBL struct IRTCPresenceStatusEventVtbl *lpVtbl;
   3450   };
   3451 #ifdef COBJMACROS
   3452 #define IRTCPresenceStatusEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3453 #define IRTCPresenceStatusEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
   3454 #define IRTCPresenceStatusEvent_Release(This) (This)->lpVtbl->Release(This)
   3455 #define IRTCPresenceStatusEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3456 #define IRTCPresenceStatusEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3457 #define IRTCPresenceStatusEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3458 #define IRTCPresenceStatusEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3459 #define IRTCPresenceStatusEvent_get_StatusCode(This,plStatusCode) (This)->lpVtbl->get_StatusCode(This,plStatusCode)
   3460 #define IRTCPresenceStatusEvent_get_StatusText(This,pbstrStatusText) (This)->lpVtbl->get_StatusText(This,pbstrStatusText)
   3461 #define IRTCPresenceStatusEvent_GetLocalPresenceInfo(This,penStatus,pbstrNotes) (This)->lpVtbl->GetLocalPresenceInfo(This,penStatus,pbstrNotes)
   3462 #endif
   3463 #endif
   3464   HRESULT WINAPI IRTCPresenceStatusEvent_get_StatusCode_Proxy(IRTCPresenceStatusEvent *This,__LONG32 *plStatusCode);
   3465   void __RPC_STUB IRTCPresenceStatusEvent_get_StatusCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3466   HRESULT WINAPI IRTCPresenceStatusEvent_get_StatusText_Proxy(IRTCPresenceStatusEvent *This,BSTR *pbstrStatusText);
   3467   void __RPC_STUB IRTCPresenceStatusEvent_get_StatusText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3468   HRESULT WINAPI IRTCPresenceStatusEvent_GetLocalPresenceInfo_Proxy(IRTCPresenceStatusEvent *This,RTC_PRESENCE_STATUS *penStatus,BSTR *pbstrNotes);
   3469   void __RPC_STUB IRTCPresenceStatusEvent_GetLocalPresenceInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3470 #endif
   3471 
   3472 #ifndef __IRTCCollection_INTERFACE_DEFINED__
   3473 #define __IRTCCollection_INTERFACE_DEFINED__
   3474   EXTERN_C const IID IID_IRTCCollection;
   3475 #if defined(__cplusplus) && !defined(CINTERFACE)
   3476   struct IRTCCollection : public IDispatch {
   3477   public:
   3478     virtual HRESULT WINAPI get_Count(__LONG32 *lCount) = 0;
   3479     virtual HRESULT WINAPI get_Item(__LONG32 Index,VARIANT *pVariant) = 0;
   3480     virtual HRESULT WINAPI get__NewEnum(IUnknown **ppNewEnum) = 0;
   3481   };
   3482 #else
   3483   typedef struct IRTCCollectionVtbl {
   3484     BEGIN_INTERFACE
   3485       HRESULT (WINAPI *QueryInterface)(IRTCCollection *This,REFIID riid,void **ppvObject);
   3486       ULONG (WINAPI *AddRef)(IRTCCollection *This);
   3487       ULONG (WINAPI *Release)(IRTCCollection *This);
   3488       HRESULT (WINAPI *GetTypeInfoCount)(IRTCCollection *This,UINT *pctinfo);
   3489       HRESULT (WINAPI *GetTypeInfo)(IRTCCollection *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   3490       HRESULT (WINAPI *GetIDsOfNames)(IRTCCollection *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   3491       HRESULT (WINAPI *Invoke)(IRTCCollection *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   3492       HRESULT (WINAPI *get_Count)(IRTCCollection *This,__LONG32 *lCount);
   3493       HRESULT (WINAPI *get_Item)(IRTCCollection *This,__LONG32 Index,VARIANT *pVariant);
   3494       HRESULT (WINAPI *get__NewEnum)(IRTCCollection *This,IUnknown **ppNewEnum);
   3495     END_INTERFACE
   3496   } IRTCCollectionVtbl;
   3497   struct IRTCCollection {
   3498     CONST_VTBL struct IRTCCollectionVtbl *lpVtbl;
   3499   };
   3500 #ifdef COBJMACROS
   3501 #define IRTCCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3502 #define IRTCCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
   3503 #define IRTCCollection_Release(This) (This)->lpVtbl->Release(This)
   3504 #define IRTCCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3505 #define IRTCCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3506 #define IRTCCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3507 #define IRTCCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3508 #define IRTCCollection_get_Count(This,lCount) (This)->lpVtbl->get_Count(This,lCount)
   3509 #define IRTCCollection_get_Item(This,Index,pVariant) (This)->lpVtbl->get_Item(This,Index,pVariant)
   3510 #define IRTCCollection_get__NewEnum(This,ppNewEnum) (This)->lpVtbl->get__NewEnum(This,ppNewEnum)
   3511 #endif
   3512 #endif
   3513   HRESULT WINAPI IRTCCollection_get_Count_Proxy(IRTCCollection *This,__LONG32 *lCount);
   3514   void __RPC_STUB IRTCCollection_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3515   HRESULT WINAPI IRTCCollection_get_Item_Proxy(IRTCCollection *This,__LONG32 Index,VARIANT *pVariant);
   3516   void __RPC_STUB IRTCCollection_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3517   HRESULT WINAPI IRTCCollection_get__NewEnum_Proxy(IRTCCollection *This,IUnknown **ppNewEnum);
   3518   void __RPC_STUB IRTCCollection_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3519 #endif
   3520 
   3521 #ifndef __IRTCEnumParticipants_INTERFACE_DEFINED__
   3522 #define __IRTCEnumParticipants_INTERFACE_DEFINED__
   3523   EXTERN_C const IID IID_IRTCEnumParticipants;
   3524 #if defined(__cplusplus) && !defined(CINTERFACE)
   3525   struct IRTCEnumParticipants : public IUnknown {
   3526   public:
   3527     virtual HRESULT WINAPI Next(ULONG celt,IRTCParticipant **ppElements,ULONG *pceltFetched) = 0;
   3528     virtual HRESULT WINAPI Reset(void) = 0;
   3529     virtual HRESULT WINAPI Skip(ULONG celt) = 0;
   3530     virtual HRESULT WINAPI Clone(IRTCEnumParticipants **ppEnum) = 0;
   3531   };
   3532 #else
   3533   typedef struct IRTCEnumParticipantsVtbl {
   3534     BEGIN_INTERFACE
   3535       HRESULT (WINAPI *QueryInterface)(IRTCEnumParticipants *This,REFIID riid,void **ppvObject);
   3536       ULONG (WINAPI *AddRef)(IRTCEnumParticipants *This);
   3537       ULONG (WINAPI *Release)(IRTCEnumParticipants *This);
   3538       HRESULT (WINAPI *Next)(IRTCEnumParticipants *This,ULONG celt,IRTCParticipant **ppElements,ULONG *pceltFetched);
   3539       HRESULT (WINAPI *Reset)(IRTCEnumParticipants *This);
   3540       HRESULT (WINAPI *Skip)(IRTCEnumParticipants *This,ULONG celt);
   3541       HRESULT (WINAPI *Clone)(IRTCEnumParticipants *This,IRTCEnumParticipants **ppEnum);
   3542     END_INTERFACE
   3543   } IRTCEnumParticipantsVtbl;
   3544   struct IRTCEnumParticipants {
   3545     CONST_VTBL struct IRTCEnumParticipantsVtbl *lpVtbl;
   3546   };
   3547 #ifdef COBJMACROS
   3548 #define IRTCEnumParticipants_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3549 #define IRTCEnumParticipants_AddRef(This) (This)->lpVtbl->AddRef(This)
   3550 #define IRTCEnumParticipants_Release(This) (This)->lpVtbl->Release(This)
   3551 #define IRTCEnumParticipants_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched)
   3552 #define IRTCEnumParticipants_Reset(This) (This)->lpVtbl->Reset(This)
   3553 #define IRTCEnumParticipants_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
   3554 #define IRTCEnumParticipants_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
   3555 #endif
   3556 #endif
   3557   HRESULT WINAPI IRTCEnumParticipants_Next_Proxy(IRTCEnumParticipants *This,ULONG celt,IRTCParticipant **ppElements,ULONG *pceltFetched);
   3558   void __RPC_STUB IRTCEnumParticipants_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3559   HRESULT WINAPI IRTCEnumParticipants_Reset_Proxy(IRTCEnumParticipants *This);
   3560   void __RPC_STUB IRTCEnumParticipants_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3561   HRESULT WINAPI IRTCEnumParticipants_Skip_Proxy(IRTCEnumParticipants *This,ULONG celt);
   3562   void __RPC_STUB IRTCEnumParticipants_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3563   HRESULT WINAPI IRTCEnumParticipants_Clone_Proxy(IRTCEnumParticipants *This,IRTCEnumParticipants **ppEnum);
   3564   void __RPC_STUB IRTCEnumParticipants_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3565 #endif
   3566 
   3567 #ifndef __IRTCEnumProfiles_INTERFACE_DEFINED__
   3568 #define __IRTCEnumProfiles_INTERFACE_DEFINED__
   3569   EXTERN_C const IID IID_IRTCEnumProfiles;
   3570 #if defined(__cplusplus) && !defined(CINTERFACE)
   3571   struct IRTCEnumProfiles : public IUnknown {
   3572   public:
   3573     virtual HRESULT WINAPI Next(ULONG celt,IRTCProfile **ppElements,ULONG *pceltFetched) = 0;
   3574     virtual HRESULT WINAPI Reset(void) = 0;
   3575     virtual HRESULT WINAPI Skip(ULONG celt) = 0;
   3576     virtual HRESULT WINAPI Clone(IRTCEnumProfiles **ppEnum) = 0;
   3577   };
   3578 #else
   3579   typedef struct IRTCEnumProfilesVtbl {
   3580     BEGIN_INTERFACE
   3581       HRESULT (WINAPI *QueryInterface)(IRTCEnumProfiles *This,REFIID riid,void **ppvObject);
   3582       ULONG (WINAPI *AddRef)(IRTCEnumProfiles *This);
   3583       ULONG (WINAPI *Release)(IRTCEnumProfiles *This);
   3584       HRESULT (WINAPI *Next)(IRTCEnumProfiles *This,ULONG celt,IRTCProfile **ppElements,ULONG *pceltFetched);
   3585       HRESULT (WINAPI *Reset)(IRTCEnumProfiles *This);
   3586       HRESULT (WINAPI *Skip)(IRTCEnumProfiles *This,ULONG celt);
   3587       HRESULT (WINAPI *Clone)(IRTCEnumProfiles *This,IRTCEnumProfiles **ppEnum);
   3588     END_INTERFACE
   3589   } IRTCEnumProfilesVtbl;
   3590   struct IRTCEnumProfiles {
   3591     CONST_VTBL struct IRTCEnumProfilesVtbl *lpVtbl;
   3592   };
   3593 #ifdef COBJMACROS
   3594 #define IRTCEnumProfiles_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3595 #define IRTCEnumProfiles_AddRef(This) (This)->lpVtbl->AddRef(This)
   3596 #define IRTCEnumProfiles_Release(This) (This)->lpVtbl->Release(This)
   3597 #define IRTCEnumProfiles_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched)
   3598 #define IRTCEnumProfiles_Reset(This) (This)->lpVtbl->Reset(This)
   3599 #define IRTCEnumProfiles_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
   3600 #define IRTCEnumProfiles_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
   3601 #endif
   3602 #endif
   3603   HRESULT WINAPI IRTCEnumProfiles_Next_Proxy(IRTCEnumProfiles *This,ULONG celt,IRTCProfile **ppElements,ULONG *pceltFetched);
   3604   void __RPC_STUB IRTCEnumProfiles_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3605   HRESULT WINAPI IRTCEnumProfiles_Reset_Proxy(IRTCEnumProfiles *This);
   3606   void __RPC_STUB IRTCEnumProfiles_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3607   HRESULT WINAPI IRTCEnumProfiles_Skip_Proxy(IRTCEnumProfiles *This,ULONG celt);
   3608   void __RPC_STUB IRTCEnumProfiles_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3609   HRESULT WINAPI IRTCEnumProfiles_Clone_Proxy(IRTCEnumProfiles *This,IRTCEnumProfiles **ppEnum);
   3610   void __RPC_STUB IRTCEnumProfiles_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3611 #endif
   3612 
   3613 #ifndef __IRTCEnumBuddies_INTERFACE_DEFINED__
   3614 #define __IRTCEnumBuddies_INTERFACE_DEFINED__
   3615   EXTERN_C const IID IID_IRTCEnumBuddies;
   3616 #if defined(__cplusplus) && !defined(CINTERFACE)
   3617   struct IRTCEnumBuddies : public IUnknown {
   3618   public:
   3619     virtual HRESULT WINAPI Next(ULONG celt,IRTCBuddy **ppElements,ULONG *pceltFetched) = 0;
   3620     virtual HRESULT WINAPI Reset(void) = 0;
   3621     virtual HRESULT WINAPI Skip(ULONG celt) = 0;
   3622     virtual HRESULT WINAPI Clone(IRTCEnumBuddies **ppEnum) = 0;
   3623   };
   3624 #else
   3625   typedef struct IRTCEnumBuddiesVtbl {
   3626     BEGIN_INTERFACE
   3627       HRESULT (WINAPI *QueryInterface)(IRTCEnumBuddies *This,REFIID riid,void **ppvObject);
   3628       ULONG (WINAPI *AddRef)(IRTCEnumBuddies *This);
   3629       ULONG (WINAPI *Release)(IRTCEnumBuddies *This);
   3630       HRESULT (WINAPI *Next)(IRTCEnumBuddies *This,ULONG celt,IRTCBuddy **ppElements,ULONG *pceltFetched);
   3631       HRESULT (WINAPI *Reset)(IRTCEnumBuddies *This);
   3632       HRESULT (WINAPI *Skip)(IRTCEnumBuddies *This,ULONG celt);
   3633       HRESULT (WINAPI *Clone)(IRTCEnumBuddies *This,IRTCEnumBuddies **ppEnum);
   3634     END_INTERFACE
   3635   } IRTCEnumBuddiesVtbl;
   3636   struct IRTCEnumBuddies {
   3637     CONST_VTBL struct IRTCEnumBuddiesVtbl *lpVtbl;
   3638   };
   3639 #ifdef COBJMACROS
   3640 #define IRTCEnumBuddies_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3641 #define IRTCEnumBuddies_AddRef(This) (This)->lpVtbl->AddRef(This)
   3642 #define IRTCEnumBuddies_Release(This) (This)->lpVtbl->Release(This)
   3643 #define IRTCEnumBuddies_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched)
   3644 #define IRTCEnumBuddies_Reset(This) (This)->lpVtbl->Reset(This)
   3645 #define IRTCEnumBuddies_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
   3646 #define IRTCEnumBuddies_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
   3647 #endif
   3648 #endif
   3649   HRESULT WINAPI IRTCEnumBuddies_Next_Proxy(IRTCEnumBuddies *This,ULONG celt,IRTCBuddy **ppElements,ULONG *pceltFetched);
   3650   void __RPC_STUB IRTCEnumBuddies_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3651   HRESULT WINAPI IRTCEnumBuddies_Reset_Proxy(IRTCEnumBuddies *This);
   3652   void __RPC_STUB IRTCEnumBuddies_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3653   HRESULT WINAPI IRTCEnumBuddies_Skip_Proxy(IRTCEnumBuddies *This,ULONG celt);
   3654   void __RPC_STUB IRTCEnumBuddies_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3655   HRESULT WINAPI IRTCEnumBuddies_Clone_Proxy(IRTCEnumBuddies *This,IRTCEnumBuddies **ppEnum);
   3656   void __RPC_STUB IRTCEnumBuddies_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3657 #endif
   3658 
   3659 #ifndef __IRTCEnumWatchers_INTERFACE_DEFINED__
   3660 #define __IRTCEnumWatchers_INTERFACE_DEFINED__
   3661   EXTERN_C const IID IID_IRTCEnumWatchers;
   3662 #if defined(__cplusplus) && !defined(CINTERFACE)
   3663   struct IRTCEnumWatchers : public IUnknown {
   3664   public:
   3665     virtual HRESULT WINAPI Next(ULONG celt,IRTCWatcher **ppElements,ULONG *pceltFetched) = 0;
   3666     virtual HRESULT WINAPI Reset(void) = 0;
   3667     virtual HRESULT WINAPI Skip(ULONG celt) = 0;
   3668     virtual HRESULT WINAPI Clone(IRTCEnumWatchers **ppEnum) = 0;
   3669   };
   3670 #else
   3671   typedef struct IRTCEnumWatchersVtbl {
   3672     BEGIN_INTERFACE
   3673       HRESULT (WINAPI *QueryInterface)(IRTCEnumWatchers *This,REFIID riid,void **ppvObject);
   3674       ULONG (WINAPI *AddRef)(IRTCEnumWatchers *This);
   3675       ULONG (WINAPI *Release)(IRTCEnumWatchers *This);
   3676       HRESULT (WINAPI *Next)(IRTCEnumWatchers *This,ULONG celt,IRTCWatcher **ppElements,ULONG *pceltFetched);
   3677       HRESULT (WINAPI *Reset)(IRTCEnumWatchers *This);
   3678       HRESULT (WINAPI *Skip)(IRTCEnumWatchers *This,ULONG celt);
   3679       HRESULT (WINAPI *Clone)(IRTCEnumWatchers *This,IRTCEnumWatchers **ppEnum);
   3680     END_INTERFACE
   3681   } IRTCEnumWatchersVtbl;
   3682   struct IRTCEnumWatchers {
   3683     CONST_VTBL struct IRTCEnumWatchersVtbl *lpVtbl;
   3684   };
   3685 #ifdef COBJMACROS
   3686 #define IRTCEnumWatchers_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3687 #define IRTCEnumWatchers_AddRef(This) (This)->lpVtbl->AddRef(This)
   3688 #define IRTCEnumWatchers_Release(This) (This)->lpVtbl->Release(This)
   3689 #define IRTCEnumWatchers_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched)
   3690 #define IRTCEnumWatchers_Reset(This) (This)->lpVtbl->Reset(This)
   3691 #define IRTCEnumWatchers_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
   3692 #define IRTCEnumWatchers_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
   3693 #endif
   3694 #endif
   3695   HRESULT WINAPI IRTCEnumWatchers_Next_Proxy(IRTCEnumWatchers *This,ULONG celt,IRTCWatcher **ppElements,ULONG *pceltFetched);
   3696   void __RPC_STUB IRTCEnumWatchers_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3697   HRESULT WINAPI IRTCEnumWatchers_Reset_Proxy(IRTCEnumWatchers *This);
   3698   void __RPC_STUB IRTCEnumWatchers_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3699   HRESULT WINAPI IRTCEnumWatchers_Skip_Proxy(IRTCEnumWatchers *This,ULONG celt);
   3700   void __RPC_STUB IRTCEnumWatchers_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3701   HRESULT WINAPI IRTCEnumWatchers_Clone_Proxy(IRTCEnumWatchers *This,IRTCEnumWatchers **ppEnum);
   3702   void __RPC_STUB IRTCEnumWatchers_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3703 #endif
   3704 
   3705 #ifndef __IRTCEnumGroups_INTERFACE_DEFINED__
   3706 #define __IRTCEnumGroups_INTERFACE_DEFINED__
   3707   EXTERN_C const IID IID_IRTCEnumGroups;
   3708 #if defined(__cplusplus) && !defined(CINTERFACE)
   3709   struct IRTCEnumGroups : public IUnknown {
   3710   public:
   3711     virtual HRESULT WINAPI Next(ULONG celt,IRTCBuddyGroup **ppElements,ULONG *pceltFetched) = 0;
   3712     virtual HRESULT WINAPI Reset(void) = 0;
   3713     virtual HRESULT WINAPI Skip(ULONG celt) = 0;
   3714     virtual HRESULT WINAPI Clone(IRTCEnumGroups **ppEnum) = 0;
   3715   };
   3716 #else
   3717   typedef struct IRTCEnumGroupsVtbl {
   3718     BEGIN_INTERFACE
   3719       HRESULT (WINAPI *QueryInterface)(IRTCEnumGroups *This,REFIID riid,void **ppvObject);
   3720       ULONG (WINAPI *AddRef)(IRTCEnumGroups *This);
   3721       ULONG (WINAPI *Release)(IRTCEnumGroups *This);
   3722       HRESULT (WINAPI *Next)(IRTCEnumGroups *This,ULONG celt,IRTCBuddyGroup **ppElements,ULONG *pceltFetched);
   3723       HRESULT (WINAPI *Reset)(IRTCEnumGroups *This);
   3724       HRESULT (WINAPI *Skip)(IRTCEnumGroups *This,ULONG celt);
   3725       HRESULT (WINAPI *Clone)(IRTCEnumGroups *This,IRTCEnumGroups **ppEnum);
   3726     END_INTERFACE
   3727   } IRTCEnumGroupsVtbl;
   3728   struct IRTCEnumGroups {
   3729     CONST_VTBL struct IRTCEnumGroupsVtbl *lpVtbl;
   3730   };
   3731 #ifdef COBJMACROS
   3732 #define IRTCEnumGroups_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3733 #define IRTCEnumGroups_AddRef(This) (This)->lpVtbl->AddRef(This)
   3734 #define IRTCEnumGroups_Release(This) (This)->lpVtbl->Release(This)
   3735 #define IRTCEnumGroups_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched)
   3736 #define IRTCEnumGroups_Reset(This) (This)->lpVtbl->Reset(This)
   3737 #define IRTCEnumGroups_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
   3738 #define IRTCEnumGroups_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
   3739 #endif
   3740 #endif
   3741   HRESULT WINAPI IRTCEnumGroups_Next_Proxy(IRTCEnumGroups *This,ULONG celt,IRTCBuddyGroup **ppElements,ULONG *pceltFetched);
   3742   void __RPC_STUB IRTCEnumGroups_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3743   HRESULT WINAPI IRTCEnumGroups_Reset_Proxy(IRTCEnumGroups *This);
   3744   void __RPC_STUB IRTCEnumGroups_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3745   HRESULT WINAPI IRTCEnumGroups_Skip_Proxy(IRTCEnumGroups *This,ULONG celt);
   3746   void __RPC_STUB IRTCEnumGroups_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3747   HRESULT WINAPI IRTCEnumGroups_Clone_Proxy(IRTCEnumGroups *This,IRTCEnumGroups **ppEnum);
   3748   void __RPC_STUB IRTCEnumGroups_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3749 #endif
   3750 #ifndef __IRTCPresenceContact_INTERFACE_DEFINED__
   3751 #define __IRTCPresenceContact_INTERFACE_DEFINED__
   3752   EXTERN_C const IID IID_IRTCPresenceContact;
   3753 #if defined(__cplusplus) && !defined(CINTERFACE)
   3754   struct IRTCPresenceContact : public IUnknown {
   3755   public:
   3756     virtual HRESULT WINAPI get_PresentityURI(BSTR *pbstrPresentityURI) = 0;
   3757     virtual HRESULT WINAPI put_PresentityURI(BSTR bstrPresentityURI) = 0;
   3758     virtual HRESULT WINAPI get_Name(BSTR *pbstrName) = 0;
   3759     virtual HRESULT WINAPI put_Name(BSTR bstrName) = 0;
   3760     virtual HRESULT WINAPI get_Data(BSTR *pbstrData) = 0;
   3761     virtual HRESULT WINAPI put_Data(BSTR bstrData) = 0;
   3762     virtual HRESULT WINAPI get_Persistent(VARIANT_BOOL *pfPersistent) = 0;
   3763     virtual HRESULT WINAPI put_Persistent(VARIANT_BOOL fPersistent) = 0;
   3764   };
   3765 #else
   3766   typedef struct IRTCPresenceContactVtbl {
   3767     BEGIN_INTERFACE
   3768       HRESULT (WINAPI *QueryInterface)(IRTCPresenceContact *This,REFIID riid,void **ppvObject);
   3769       ULONG (WINAPI *AddRef)(IRTCPresenceContact *This);
   3770       ULONG (WINAPI *Release)(IRTCPresenceContact *This);
   3771       HRESULT (WINAPI *get_PresentityURI)(IRTCPresenceContact *This,BSTR *pbstrPresentityURI);
   3772       HRESULT (WINAPI *put_PresentityURI)(IRTCPresenceContact *This,BSTR bstrPresentityURI);
   3773       HRESULT (WINAPI *get_Name)(IRTCPresenceContact *This,BSTR *pbstrName);
   3774       HRESULT (WINAPI *put_Name)(IRTCPresenceContact *This,BSTR bstrName);
   3775       HRESULT (WINAPI *get_Data)(IRTCPresenceContact *This,BSTR *pbstrData);
   3776       HRESULT (WINAPI *put_Data)(IRTCPresenceContact *This,BSTR bstrData);
   3777       HRESULT (WINAPI *get_Persistent)(IRTCPresenceContact *This,VARIANT_BOOL *pfPersistent);
   3778       HRESULT (WINAPI *put_Persistent)(IRTCPresenceContact *This,VARIANT_BOOL fPersistent);
   3779     END_INTERFACE
   3780   } IRTCPresenceContactVtbl;
   3781   struct IRTCPresenceContact {
   3782     CONST_VTBL struct IRTCPresenceContactVtbl *lpVtbl;
   3783   };
   3784 #ifdef COBJMACROS
   3785 #define IRTCPresenceContact_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3786 #define IRTCPresenceContact_AddRef(This) (This)->lpVtbl->AddRef(This)
   3787 #define IRTCPresenceContact_Release(This) (This)->lpVtbl->Release(This)
   3788 #define IRTCPresenceContact_get_PresentityURI(This,pbstrPresentityURI) (This)->lpVtbl->get_PresentityURI(This,pbstrPresentityURI)
   3789 #define IRTCPresenceContact_put_PresentityURI(This,bstrPresentityURI) (This)->lpVtbl->put_PresentityURI(This,bstrPresentityURI)
   3790 #define IRTCPresenceContact_get_Name(This,pbstrName) (This)->lpVtbl->get_Name(This,pbstrName)
   3791 #define IRTCPresenceContact_put_Name(This,bstrName) (This)->lpVtbl->put_Name(This,bstrName)
   3792 #define IRTCPresenceContact_get_Data(This,pbstrData) (This)->lpVtbl->get_Data(This,pbstrData)
   3793 #define IRTCPresenceContact_put_Data(This,bstrData) (This)->lpVtbl->put_Data(This,bstrData)
   3794 #define IRTCPresenceContact_get_Persistent(This,pfPersistent) (This)->lpVtbl->get_Persistent(This,pfPersistent)
   3795 #define IRTCPresenceContact_put_Persistent(This,fPersistent) (This)->lpVtbl->put_Persistent(This,fPersistent)
   3796 #endif
   3797 #endif
   3798   HRESULT WINAPI IRTCPresenceContact_get_PresentityURI_Proxy(IRTCPresenceContact *This,BSTR *pbstrPresentityURI);
   3799   void __RPC_STUB IRTCPresenceContact_get_PresentityURI_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3800   HRESULT WINAPI IRTCPresenceContact_put_PresentityURI_Proxy(IRTCPresenceContact *This,BSTR bstrPresentityURI);
   3801   void __RPC_STUB IRTCPresenceContact_put_PresentityURI_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3802   HRESULT WINAPI IRTCPresenceContact_get_Name_Proxy(IRTCPresenceContact *This,BSTR *pbstrName);
   3803   void __RPC_STUB IRTCPresenceContact_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3804   HRESULT WINAPI IRTCPresenceContact_put_Name_Proxy(IRTCPresenceContact *This,BSTR bstrName);
   3805   void __RPC_STUB IRTCPresenceContact_put_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3806   HRESULT WINAPI IRTCPresenceContact_get_Data_Proxy(IRTCPresenceContact *This,BSTR *pbstrData);
   3807   void __RPC_STUB IRTCPresenceContact_get_Data_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3808   HRESULT WINAPI IRTCPresenceContact_put_Data_Proxy(IRTCPresenceContact *This,BSTR bstrData);
   3809   void __RPC_STUB IRTCPresenceContact_put_Data_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3810   HRESULT WINAPI IRTCPresenceContact_get_Persistent_Proxy(IRTCPresenceContact *This,VARIANT_BOOL *pfPersistent);
   3811   void __RPC_STUB IRTCPresenceContact_get_Persistent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3812   HRESULT WINAPI IRTCPresenceContact_put_Persistent_Proxy(IRTCPresenceContact *This,VARIANT_BOOL fPersistent);
   3813   void __RPC_STUB IRTCPresenceContact_put_Persistent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3814 #endif
   3815 
   3816 #ifndef __IRTCBuddy_INTERFACE_DEFINED__
   3817 #define __IRTCBuddy_INTERFACE_DEFINED__
   3818   EXTERN_C const IID IID_IRTCBuddy;
   3819 #if defined(__cplusplus) && !defined(CINTERFACE)
   3820   struct IRTCBuddy : public IRTCPresenceContact {
   3821   public:
   3822     virtual HRESULT WINAPI get_Status(RTC_PRESENCE_STATUS *penStatus) = 0;
   3823     virtual HRESULT WINAPI get_Notes(BSTR *pbstrNotes) = 0;
   3824   };
   3825 #else
   3826   typedef struct IRTCBuddyVtbl {
   3827     BEGIN_INTERFACE
   3828       HRESULT (WINAPI *QueryInterface)(IRTCBuddy *This,REFIID riid,void **ppvObject);
   3829       ULONG (WINAPI *AddRef)(IRTCBuddy *This);
   3830       ULONG (WINAPI *Release)(IRTCBuddy *This);
   3831       HRESULT (WINAPI *get_PresentityURI)(IRTCBuddy *This,BSTR *pbstrPresentityURI);
   3832       HRESULT (WINAPI *put_PresentityURI)(IRTCBuddy *This,BSTR bstrPresentityURI);
   3833       HRESULT (WINAPI *get_Name)(IRTCBuddy *This,BSTR *pbstrName);
   3834       HRESULT (WINAPI *put_Name)(IRTCBuddy *This,BSTR bstrName);
   3835       HRESULT (WINAPI *get_Data)(IRTCBuddy *This,BSTR *pbstrData);
   3836       HRESULT (WINAPI *put_Data)(IRTCBuddy *This,BSTR bstrData);
   3837       HRESULT (WINAPI *get_Persistent)(IRTCBuddy *This,VARIANT_BOOL *pfPersistent);
   3838       HRESULT (WINAPI *put_Persistent)(IRTCBuddy *This,VARIANT_BOOL fPersistent);
   3839       HRESULT (WINAPI *get_Status)(IRTCBuddy *This,RTC_PRESENCE_STATUS *penStatus);
   3840       HRESULT (WINAPI *get_Notes)(IRTCBuddy *This,BSTR *pbstrNotes);
   3841     END_INTERFACE
   3842   } IRTCBuddyVtbl;
   3843   struct IRTCBuddy {
   3844     CONST_VTBL struct IRTCBuddyVtbl *lpVtbl;
   3845   };
   3846 #ifdef COBJMACROS
   3847 #define IRTCBuddy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3848 #define IRTCBuddy_AddRef(This) (This)->lpVtbl->AddRef(This)
   3849 #define IRTCBuddy_Release(This) (This)->lpVtbl->Release(This)
   3850 #define IRTCBuddy_get_PresentityURI(This,pbstrPresentityURI) (This)->lpVtbl->get_PresentityURI(This,pbstrPresentityURI)
   3851 #define IRTCBuddy_put_PresentityURI(This,bstrPresentityURI) (This)->lpVtbl->put_PresentityURI(This,bstrPresentityURI)
   3852 #define IRTCBuddy_get_Name(This,pbstrName) (This)->lpVtbl->get_Name(This,pbstrName)
   3853 #define IRTCBuddy_put_Name(This,bstrName) (This)->lpVtbl->put_Name(This,bstrName)
   3854 #define IRTCBuddy_get_Data(This,pbstrData) (This)->lpVtbl->get_Data(This,pbstrData)
   3855 #define IRTCBuddy_put_Data(This,bstrData) (This)->lpVtbl->put_Data(This,bstrData)
   3856 #define IRTCBuddy_get_Persistent(This,pfPersistent) (This)->lpVtbl->get_Persistent(This,pfPersistent)
   3857 #define IRTCBuddy_put_Persistent(This,fPersistent) (This)->lpVtbl->put_Persistent(This,fPersistent)
   3858 #define IRTCBuddy_get_Status(This,penStatus) (This)->lpVtbl->get_Status(This,penStatus)
   3859 #define IRTCBuddy_get_Notes(This,pbstrNotes) (This)->lpVtbl->get_Notes(This,pbstrNotes)
   3860 #endif
   3861 #endif
   3862   HRESULT WINAPI IRTCBuddy_get_Status_Proxy(IRTCBuddy *This,RTC_PRESENCE_STATUS *penStatus);
   3863   void __RPC_STUB IRTCBuddy_get_Status_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3864   HRESULT WINAPI IRTCBuddy_get_Notes_Proxy(IRTCBuddy *This,BSTR *pbstrNotes);
   3865   void __RPC_STUB IRTCBuddy_get_Notes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3866 #endif
   3867 
   3868 #ifndef __IRTCBuddy2_INTERFACE_DEFINED__
   3869 #define __IRTCBuddy2_INTERFACE_DEFINED__
   3870   EXTERN_C const IID IID_IRTCBuddy2;
   3871 #if defined(__cplusplus) && !defined(CINTERFACE)
   3872   struct IRTCBuddy2 : public IRTCBuddy {
   3873   public:
   3874     virtual HRESULT WINAPI get_Profile(IRTCProfile2 **ppProfile) = 0;
   3875     virtual HRESULT WINAPI Refresh(void) = 0;
   3876     virtual HRESULT WINAPI EnumerateGroups(IRTCEnumGroups **ppEnum) = 0;
   3877     virtual HRESULT WINAPI get_Groups(IRTCCollection **ppCollection) = 0;
   3878     virtual HRESULT WINAPI get_PresenceProperty(RTC_PRESENCE_PROPERTY enProperty,BSTR *pbstrProperty) = 0;
   3879     virtual HRESULT WINAPI EnumeratePresenceDevices(IRTCEnumPresenceDevices **ppEnumDevices) = 0;
   3880     virtual HRESULT WINAPI get_PresenceDevices(IRTCCollection **ppDevicesCollection) = 0;
   3881     virtual HRESULT WINAPI get_SubscriptionType(RTC_BUDDY_SUBSCRIPTION_TYPE *penSubscriptionType) = 0;
   3882   };
   3883 #else
   3884   typedef struct IRTCBuddy2Vtbl {
   3885     BEGIN_INTERFACE
   3886       HRESULT (WINAPI *QueryInterface)(IRTCBuddy2 *This,REFIID riid,void **ppvObject);
   3887       ULONG (WINAPI *AddRef)(IRTCBuddy2 *This);
   3888       ULONG (WINAPI *Release)(IRTCBuddy2 *This);
   3889       HRESULT (WINAPI *get_PresentityURI)(IRTCBuddy2 *This,BSTR *pbstrPresentityURI);
   3890       HRESULT (WINAPI *put_PresentityURI)(IRTCBuddy2 *This,BSTR bstrPresentityURI);
   3891       HRESULT (WINAPI *get_Name)(IRTCBuddy2 *This,BSTR *pbstrName);
   3892       HRESULT (WINAPI *put_Name)(IRTCBuddy2 *This,BSTR bstrName);
   3893       HRESULT (WINAPI *get_Data)(IRTCBuddy2 *This,BSTR *pbstrData);
   3894       HRESULT (WINAPI *put_Data)(IRTCBuddy2 *This,BSTR bstrData);
   3895       HRESULT (WINAPI *get_Persistent)(IRTCBuddy2 *This,VARIANT_BOOL *pfPersistent);
   3896       HRESULT (WINAPI *put_Persistent)(IRTCBuddy2 *This,VARIANT_BOOL fPersistent);
   3897       HRESULT (WINAPI *get_Status)(IRTCBuddy2 *This,RTC_PRESENCE_STATUS *penStatus);
   3898       HRESULT (WINAPI *get_Notes)(IRTCBuddy2 *This,BSTR *pbstrNotes);
   3899       HRESULT (WINAPI *get_Profile)(IRTCBuddy2 *This,IRTCProfile2 **ppProfile);
   3900       HRESULT (WINAPI *Refresh)(IRTCBuddy2 *This);
   3901       HRESULT (WINAPI *EnumerateGroups)(IRTCBuddy2 *This,IRTCEnumGroups **ppEnum);
   3902       HRESULT (WINAPI *get_Groups)(IRTCBuddy2 *This,IRTCCollection **ppCollection);
   3903       HRESULT (WINAPI *get_PresenceProperty)(IRTCBuddy2 *This,RTC_PRESENCE_PROPERTY enProperty,BSTR *pbstrProperty);
   3904       HRESULT (WINAPI *EnumeratePresenceDevices)(IRTCBuddy2 *This,IRTCEnumPresenceDevices **ppEnumDevices);
   3905       HRESULT (WINAPI *get_PresenceDevices)(IRTCBuddy2 *This,IRTCCollection **ppDevicesCollection);
   3906       HRESULT (WINAPI *get_SubscriptionType)(IRTCBuddy2 *This,RTC_BUDDY_SUBSCRIPTION_TYPE *penSubscriptionType);
   3907     END_INTERFACE
   3908   } IRTCBuddy2Vtbl;
   3909   struct IRTCBuddy2 {
   3910     CONST_VTBL struct IRTCBuddy2Vtbl *lpVtbl;
   3911   };
   3912 #ifdef COBJMACROS
   3913 #define IRTCBuddy2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3914 #define IRTCBuddy2_AddRef(This) (This)->lpVtbl->AddRef(This)
   3915 #define IRTCBuddy2_Release(This) (This)->lpVtbl->Release(This)
   3916 #define IRTCBuddy2_get_PresentityURI(This,pbstrPresentityURI) (This)->lpVtbl->get_PresentityURI(This,pbstrPresentityURI)
   3917 #define IRTCBuddy2_put_PresentityURI(This,bstrPresentityURI) (This)->lpVtbl->put_PresentityURI(This,bstrPresentityURI)
   3918 #define IRTCBuddy2_get_Name(This,pbstrName) (This)->lpVtbl->get_Name(This,pbstrName)
   3919 #define IRTCBuddy2_put_Name(This,bstrName) (This)->lpVtbl->put_Name(This,bstrName)
   3920 #define IRTCBuddy2_get_Data(This,pbstrData) (This)->lpVtbl->get_Data(This,pbstrData)
   3921 #define IRTCBuddy2_put_Data(This,bstrData) (This)->lpVtbl->put_Data(This,bstrData)
   3922 #define IRTCBuddy2_get_Persistent(This,pfPersistent) (This)->lpVtbl->get_Persistent(This,pfPersistent)
   3923 #define IRTCBuddy2_put_Persistent(This,fPersistent) (This)->lpVtbl->put_Persistent(This,fPersistent)
   3924 #define IRTCBuddy2_get_Status(This,penStatus) (This)->lpVtbl->get_Status(This,penStatus)
   3925 #define IRTCBuddy2_get_Notes(This,pbstrNotes) (This)->lpVtbl->get_Notes(This,pbstrNotes)
   3926 #define IRTCBuddy2_get_Profile(This,ppProfile) (This)->lpVtbl->get_Profile(This,ppProfile)
   3927 #define IRTCBuddy2_Refresh(This) (This)->lpVtbl->Refresh(This)
   3928 #define IRTCBuddy2_EnumerateGroups(This,ppEnum) (This)->lpVtbl->EnumerateGroups(This,ppEnum)
   3929 #define IRTCBuddy2_get_Groups(This,ppCollection) (This)->lpVtbl->get_Groups(This,ppCollection)
   3930 #define IRTCBuddy2_get_PresenceProperty(This,enProperty,pbstrProperty) (This)->lpVtbl->get_PresenceProperty(This,enProperty,pbstrProperty)
   3931 #define IRTCBuddy2_EnumeratePresenceDevices(This,ppEnumDevices) (This)->lpVtbl->EnumeratePresenceDevices(This,ppEnumDevices)
   3932 #define IRTCBuddy2_get_PresenceDevices(This,ppDevicesCollection) (This)->lpVtbl->get_PresenceDevices(This,ppDevicesCollection)
   3933 #define IRTCBuddy2_get_SubscriptionType(This,penSubscriptionType) (This)->lpVtbl->get_SubscriptionType(This,penSubscriptionType)
   3934 #endif
   3935 #endif
   3936   HRESULT WINAPI IRTCBuddy2_get_Profile_Proxy(IRTCBuddy2 *This,IRTCProfile2 **ppProfile);
   3937   void __RPC_STUB IRTCBuddy2_get_Profile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3938   HRESULT WINAPI IRTCBuddy2_Refresh_Proxy(IRTCBuddy2 *This);
   3939   void __RPC_STUB IRTCBuddy2_Refresh_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3940   HRESULT WINAPI IRTCBuddy2_EnumerateGroups_Proxy(IRTCBuddy2 *This,IRTCEnumGroups **ppEnum);
   3941   void __RPC_STUB IRTCBuddy2_EnumerateGroups_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3942   HRESULT WINAPI IRTCBuddy2_get_Groups_Proxy(IRTCBuddy2 *This,IRTCCollection **ppCollection);
   3943   void __RPC_STUB IRTCBuddy2_get_Groups_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3944   HRESULT WINAPI IRTCBuddy2_get_PresenceProperty_Proxy(IRTCBuddy2 *This,RTC_PRESENCE_PROPERTY enProperty,BSTR *pbstrProperty);
   3945   void __RPC_STUB IRTCBuddy2_get_PresenceProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3946   HRESULT WINAPI IRTCBuddy2_EnumeratePresenceDevices_Proxy(IRTCBuddy2 *This,IRTCEnumPresenceDevices **ppEnumDevices);
   3947   void __RPC_STUB IRTCBuddy2_EnumeratePresenceDevices_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3948   HRESULT WINAPI IRTCBuddy2_get_PresenceDevices_Proxy(IRTCBuddy2 *This,IRTCCollection **ppDevicesCollection);
   3949   void __RPC_STUB IRTCBuddy2_get_PresenceDevices_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3950   HRESULT WINAPI IRTCBuddy2_get_SubscriptionType_Proxy(IRTCBuddy2 *This,RTC_BUDDY_SUBSCRIPTION_TYPE *penSubscriptionType);
   3951   void __RPC_STUB IRTCBuddy2_get_SubscriptionType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3952 #endif
   3953 
   3954 #ifndef __IRTCWatcher_INTERFACE_DEFINED__
   3955 #define __IRTCWatcher_INTERFACE_DEFINED__
   3956   EXTERN_C const IID IID_IRTCWatcher;
   3957 #if defined(__cplusplus) && !defined(CINTERFACE)
   3958   struct IRTCWatcher : public IRTCPresenceContact {
   3959   public:
   3960     virtual HRESULT WINAPI get_State(RTC_WATCHER_STATE *penState) = 0;
   3961     virtual HRESULT WINAPI put_State(RTC_WATCHER_STATE enState) = 0;
   3962   };
   3963 #else
   3964   typedef struct IRTCWatcherVtbl {
   3965     BEGIN_INTERFACE
   3966       HRESULT (WINAPI *QueryInterface)(IRTCWatcher *This,REFIID riid,void **ppvObject);
   3967       ULONG (WINAPI *AddRef)(IRTCWatcher *This);
   3968       ULONG (WINAPI *Release)(IRTCWatcher *This);
   3969       HRESULT (WINAPI *get_PresentityURI)(IRTCWatcher *This,BSTR *pbstrPresentityURI);
   3970       HRESULT (WINAPI *put_PresentityURI)(IRTCWatcher *This,BSTR bstrPresentityURI);
   3971       HRESULT (WINAPI *get_Name)(IRTCWatcher *This,BSTR *pbstrName);
   3972       HRESULT (WINAPI *put_Name)(IRTCWatcher *This,BSTR bstrName);
   3973       HRESULT (WINAPI *get_Data)(IRTCWatcher *This,BSTR *pbstrData);
   3974       HRESULT (WINAPI *put_Data)(IRTCWatcher *This,BSTR bstrData);
   3975       HRESULT (WINAPI *get_Persistent)(IRTCWatcher *This,VARIANT_BOOL *pfPersistent);
   3976       HRESULT (WINAPI *put_Persistent)(IRTCWatcher *This,VARIANT_BOOL fPersistent);
   3977       HRESULT (WINAPI *get_State)(IRTCWatcher *This,RTC_WATCHER_STATE *penState);
   3978       HRESULT (WINAPI *put_State)(IRTCWatcher *This,RTC_WATCHER_STATE enState);
   3979     END_INTERFACE
   3980   } IRTCWatcherVtbl;
   3981   struct IRTCWatcher {
   3982     CONST_VTBL struct IRTCWatcherVtbl *lpVtbl;
   3983   };
   3984 #ifdef COBJMACROS
   3985 #define IRTCWatcher_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3986 #define IRTCWatcher_AddRef(This) (This)->lpVtbl->AddRef(This)
   3987 #define IRTCWatcher_Release(This) (This)->lpVtbl->Release(This)
   3988 #define IRTCWatcher_get_PresentityURI(This,pbstrPresentityURI) (This)->lpVtbl->get_PresentityURI(This,pbstrPresentityURI)
   3989 #define IRTCWatcher_put_PresentityURI(This,bstrPresentityURI) (This)->lpVtbl->put_PresentityURI(This,bstrPresentityURI)
   3990 #define IRTCWatcher_get_Name(This,pbstrName) (This)->lpVtbl->get_Name(This,pbstrName)
   3991 #define IRTCWatcher_put_Name(This,bstrName) (This)->lpVtbl->put_Name(This,bstrName)
   3992 #define IRTCWatcher_get_Data(This,pbstrData) (This)->lpVtbl->get_Data(This,pbstrData)
   3993 #define IRTCWatcher_put_Data(This,bstrData) (This)->lpVtbl->put_Data(This,bstrData)
   3994 #define IRTCWatcher_get_Persistent(This,pfPersistent) (This)->lpVtbl->get_Persistent(This,pfPersistent)
   3995 #define IRTCWatcher_put_Persistent(This,fPersistent) (This)->lpVtbl->put_Persistent(This,fPersistent)
   3996 #define IRTCWatcher_get_State(This,penState) (This)->lpVtbl->get_State(This,penState)
   3997 #define IRTCWatcher_put_State(This,enState) (This)->lpVtbl->put_State(This,enState)
   3998 #endif
   3999 #endif
   4000   HRESULT WINAPI IRTCWatcher_get_State_Proxy(IRTCWatcher *This,RTC_WATCHER_STATE *penState);
   4001   void __RPC_STUB IRTCWatcher_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4002   HRESULT WINAPI IRTCWatcher_put_State_Proxy(IRTCWatcher *This,RTC_WATCHER_STATE enState);
   4003   void __RPC_STUB IRTCWatcher_put_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4004 #endif
   4005 
   4006 #ifndef __IRTCWatcher2_INTERFACE_DEFINED__
   4007 #define __IRTCWatcher2_INTERFACE_DEFINED__
   4008   EXTERN_C const IID IID_IRTCWatcher2;
   4009 #if defined(__cplusplus) && !defined(CINTERFACE)
   4010   struct IRTCWatcher2 : public IRTCWatcher {
   4011   public:
   4012     virtual HRESULT WINAPI get_Profile(IRTCProfile2 **ppProfile) = 0;
   4013     virtual HRESULT WINAPI get_Scope(RTC_ACE_SCOPE *penScope) = 0;
   4014   };
   4015 #else
   4016   typedef struct IRTCWatcher2Vtbl {
   4017     BEGIN_INTERFACE
   4018       HRESULT (WINAPI *QueryInterface)(IRTCWatcher2 *This,REFIID riid,void **ppvObject);
   4019       ULONG (WINAPI *AddRef)(IRTCWatcher2 *This);
   4020       ULONG (WINAPI *Release)(IRTCWatcher2 *This);
   4021       HRESULT (WINAPI *get_PresentityURI)(IRTCWatcher2 *This,BSTR *pbstrPresentityURI);
   4022       HRESULT (WINAPI *put_PresentityURI)(IRTCWatcher2 *This,BSTR bstrPresentityURI);
   4023       HRESULT (WINAPI *get_Name)(IRTCWatcher2 *This,BSTR *pbstrName);
   4024       HRESULT (WINAPI *put_Name)(IRTCWatcher2 *This,BSTR bstrName);
   4025       HRESULT (WINAPI *get_Data)(IRTCWatcher2 *This,BSTR *pbstrData);
   4026       HRESULT (WINAPI *put_Data)(IRTCWatcher2 *This,BSTR bstrData);
   4027       HRESULT (WINAPI *get_Persistent)(IRTCWatcher2 *This,VARIANT_BOOL *pfPersistent);
   4028       HRESULT (WINAPI *put_Persistent)(IRTCWatcher2 *This,VARIANT_BOOL fPersistent);
   4029       HRESULT (WINAPI *get_State)(IRTCWatcher2 *This,RTC_WATCHER_STATE *penState);
   4030       HRESULT (WINAPI *put_State)(IRTCWatcher2 *This,RTC_WATCHER_STATE enState);
   4031       HRESULT (WINAPI *get_Profile)(IRTCWatcher2 *This,IRTCProfile2 **ppProfile);
   4032       HRESULT (WINAPI *get_Scope)(IRTCWatcher2 *This,RTC_ACE_SCOPE *penScope);
   4033     END_INTERFACE
   4034   } IRTCWatcher2Vtbl;
   4035   struct IRTCWatcher2 {
   4036     CONST_VTBL struct IRTCWatcher2Vtbl *lpVtbl;
   4037   };
   4038 #ifdef COBJMACROS
   4039 #define IRTCWatcher2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4040 #define IRTCWatcher2_AddRef(This) (This)->lpVtbl->AddRef(This)
   4041 #define IRTCWatcher2_Release(This) (This)->lpVtbl->Release(This)
   4042 #define IRTCWatcher2_get_PresentityURI(This,pbstrPresentityURI) (This)->lpVtbl->get_PresentityURI(This,pbstrPresentityURI)
   4043 #define IRTCWatcher2_put_PresentityURI(This,bstrPresentityURI) (This)->lpVtbl->put_PresentityURI(This,bstrPresentityURI)
   4044 #define IRTCWatcher2_get_Name(This,pbstrName) (This)->lpVtbl->get_Name(This,pbstrName)
   4045 #define IRTCWatcher2_put_Name(This,bstrName) (This)->lpVtbl->put_Name(This,bstrName)
   4046 #define IRTCWatcher2_get_Data(This,pbstrData) (This)->lpVtbl->get_Data(This,pbstrData)
   4047 #define IRTCWatcher2_put_Data(This,bstrData) (This)->lpVtbl->put_Data(This,bstrData)
   4048 #define IRTCWatcher2_get_Persistent(This,pfPersistent) (This)->lpVtbl->get_Persistent(This,pfPersistent)
   4049 #define IRTCWatcher2_put_Persistent(This,fPersistent) (This)->lpVtbl->put_Persistent(This,fPersistent)
   4050 #define IRTCWatcher2_get_State(This,penState) (This)->lpVtbl->get_State(This,penState)
   4051 #define IRTCWatcher2_put_State(This,enState) (This)->lpVtbl->put_State(This,enState)
   4052 #define IRTCWatcher2_get_Profile(This,ppProfile) (This)->lpVtbl->get_Profile(This,ppProfile)
   4053 #define IRTCWatcher2_get_Scope(This,penScope) (This)->lpVtbl->get_Scope(This,penScope)
   4054 #endif
   4055 #endif
   4056   HRESULT WINAPI IRTCWatcher2_get_Profile_Proxy(IRTCWatcher2 *This,IRTCProfile2 **ppProfile);
   4057   void __RPC_STUB IRTCWatcher2_get_Profile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4058   HRESULT WINAPI IRTCWatcher2_get_Scope_Proxy(IRTCWatcher2 *This,RTC_ACE_SCOPE *penScope);
   4059   void __RPC_STUB IRTCWatcher2_get_Scope_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4060 #endif
   4061 
   4062 #ifndef __IRTCBuddyGroup_INTERFACE_DEFINED__
   4063 #define __IRTCBuddyGroup_INTERFACE_DEFINED__
   4064   EXTERN_C const IID IID_IRTCBuddyGroup;
   4065 #if defined(__cplusplus) && !defined(CINTERFACE)
   4066   struct IRTCBuddyGroup : public IUnknown {
   4067   public:
   4068     virtual HRESULT WINAPI get_Name(BSTR *pbstrGroupName) = 0;
   4069     virtual HRESULT WINAPI put_Name(BSTR bstrGroupName) = 0;
   4070     virtual HRESULT WINAPI AddBuddy(IRTCBuddy *pBuddy) = 0;
   4071     virtual HRESULT WINAPI RemoveBuddy(IRTCBuddy *pBuddy) = 0;
   4072     virtual HRESULT WINAPI EnumerateBuddies(IRTCEnumBuddies **ppEnum) = 0;
   4073     virtual HRESULT WINAPI get_Buddies(IRTCCollection **ppCollection) = 0;
   4074     virtual HRESULT WINAPI get_Data(BSTR *pbstrData) = 0;
   4075     virtual HRESULT WINAPI put_Data(BSTR bstrData) = 0;
   4076     virtual HRESULT WINAPI get_Profile(IRTCProfile2 **ppProfile) = 0;
   4077   };
   4078 #else
   4079   typedef struct IRTCBuddyGroupVtbl {
   4080     BEGIN_INTERFACE
   4081       HRESULT (WINAPI *QueryInterface)(IRTCBuddyGroup *This,REFIID riid,void **ppvObject);
   4082       ULONG (WINAPI *AddRef)(IRTCBuddyGroup *This);
   4083       ULONG (WINAPI *Release)(IRTCBuddyGroup *This);
   4084       HRESULT (WINAPI *get_Name)(IRTCBuddyGroup *This,BSTR *pbstrGroupName);
   4085       HRESULT (WINAPI *put_Name)(IRTCBuddyGroup *This,BSTR bstrGroupName);
   4086       HRESULT (WINAPI *AddBuddy)(IRTCBuddyGroup *This,IRTCBuddy *pBuddy);
   4087       HRESULT (WINAPI *RemoveBuddy)(IRTCBuddyGroup *This,IRTCBuddy *pBuddy);
   4088       HRESULT (WINAPI *EnumerateBuddies)(IRTCBuddyGroup *This,IRTCEnumBuddies **ppEnum);
   4089       HRESULT (WINAPI *get_Buddies)(IRTCBuddyGroup *This,IRTCCollection **ppCollection);
   4090       HRESULT (WINAPI *get_Data)(IRTCBuddyGroup *This,BSTR *pbstrData);
   4091       HRESULT (WINAPI *put_Data)(IRTCBuddyGroup *This,BSTR bstrData);
   4092       HRESULT (WINAPI *get_Profile)(IRTCBuddyGroup *This,IRTCProfile2 **ppProfile);
   4093     END_INTERFACE
   4094   } IRTCBuddyGroupVtbl;
   4095   struct IRTCBuddyGroup {
   4096     CONST_VTBL struct IRTCBuddyGroupVtbl *lpVtbl;
   4097   };
   4098 #ifdef COBJMACROS
   4099 #define IRTCBuddyGroup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4100 #define IRTCBuddyGroup_AddRef(This) (This)->lpVtbl->AddRef(This)
   4101 #define IRTCBuddyGroup_Release(This) (This)->lpVtbl->Release(This)
   4102 #define IRTCBuddyGroup_get_Name(This,pbstrGroupName) (This)->lpVtbl->get_Name(This,pbstrGroupName)
   4103 #define IRTCBuddyGroup_put_Name(This,bstrGroupName) (This)->lpVtbl->put_Name(This,bstrGroupName)
   4104 #define IRTCBuddyGroup_AddBuddy(This,pBuddy) (This)->lpVtbl->AddBuddy(This,pBuddy)
   4105 #define IRTCBuddyGroup_RemoveBuddy(This,pBuddy) (This)->lpVtbl->RemoveBuddy(This,pBuddy)
   4106 #define IRTCBuddyGroup_EnumerateBuddies(This,ppEnum) (This)->lpVtbl->EnumerateBuddies(This,ppEnum)
   4107 #define IRTCBuddyGroup_get_Buddies(This,ppCollection) (This)->lpVtbl->get_Buddies(This,ppCollection)
   4108 #define IRTCBuddyGroup_get_Data(This,pbstrData) (This)->lpVtbl->get_Data(This,pbstrData)
   4109 #define IRTCBuddyGroup_put_Data(This,bstrData) (This)->lpVtbl->put_Data(This,bstrData)
   4110 #define IRTCBuddyGroup_get_Profile(This,ppProfile) (This)->lpVtbl->get_Profile(This,ppProfile)
   4111 #endif
   4112 #endif
   4113   HRESULT WINAPI IRTCBuddyGroup_get_Name_Proxy(IRTCBuddyGroup *This,BSTR *pbstrGroupName);
   4114   void __RPC_STUB IRTCBuddyGroup_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4115   HRESULT WINAPI IRTCBuddyGroup_put_Name_Proxy(IRTCBuddyGroup *This,BSTR bstrGroupName);
   4116   void __RPC_STUB IRTCBuddyGroup_put_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4117   HRESULT WINAPI IRTCBuddyGroup_AddBuddy_Proxy(IRTCBuddyGroup *This,IRTCBuddy *pBuddy);
   4118   void __RPC_STUB IRTCBuddyGroup_AddBuddy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4119   HRESULT WINAPI IRTCBuddyGroup_RemoveBuddy_Proxy(IRTCBuddyGroup *This,IRTCBuddy *pBuddy);
   4120   void __RPC_STUB IRTCBuddyGroup_RemoveBuddy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4121   HRESULT WINAPI IRTCBuddyGroup_EnumerateBuddies_Proxy(IRTCBuddyGroup *This,IRTCEnumBuddies **ppEnum);
   4122   void __RPC_STUB IRTCBuddyGroup_EnumerateBuddies_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4123   HRESULT WINAPI IRTCBuddyGroup_get_Buddies_Proxy(IRTCBuddyGroup *This,IRTCCollection **ppCollection);
   4124   void __RPC_STUB IRTCBuddyGroup_get_Buddies_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4125   HRESULT WINAPI IRTCBuddyGroup_get_Data_Proxy(IRTCBuddyGroup *This,BSTR *pbstrData);
   4126   void __RPC_STUB IRTCBuddyGroup_get_Data_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4127   HRESULT WINAPI IRTCBuddyGroup_put_Data_Proxy(IRTCBuddyGroup *This,BSTR bstrData);
   4128   void __RPC_STUB IRTCBuddyGroup_put_Data_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4129   HRESULT WINAPI IRTCBuddyGroup_get_Profile_Proxy(IRTCBuddyGroup *This,IRTCProfile2 **ppProfile);
   4130   void __RPC_STUB IRTCBuddyGroup_get_Profile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4131 #endif
   4132 
   4133 #ifndef __IRTCEventNotification_INTERFACE_DEFINED__
   4134 #define __IRTCEventNotification_INTERFACE_DEFINED__
   4135   EXTERN_C const IID IID_IRTCEventNotification;
   4136 #if defined(__cplusplus) && !defined(CINTERFACE)
   4137   struct IRTCEventNotification : public IUnknown {
   4138   public:
   4139     virtual HRESULT WINAPI Event(RTC_EVENT RTCEvent,IDispatch *pEvent) = 0;
   4140   };
   4141 #else
   4142   typedef struct IRTCEventNotificationVtbl {
   4143     BEGIN_INTERFACE
   4144       HRESULT (WINAPI *QueryInterface)(IRTCEventNotification *This,REFIID riid,void **ppvObject);
   4145       ULONG (WINAPI *AddRef)(IRTCEventNotification *This);
   4146       ULONG (WINAPI *Release)(IRTCEventNotification *This);
   4147       HRESULT (WINAPI *Event)(IRTCEventNotification *This,RTC_EVENT RTCEvent,IDispatch *pEvent);
   4148     END_INTERFACE
   4149   } IRTCEventNotificationVtbl;
   4150   struct IRTCEventNotification {
   4151     CONST_VTBL struct IRTCEventNotificationVtbl *lpVtbl;
   4152   };
   4153 #ifdef COBJMACROS
   4154 #define IRTCEventNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4155 #define IRTCEventNotification_AddRef(This) (This)->lpVtbl->AddRef(This)
   4156 #define IRTCEventNotification_Release(This) (This)->lpVtbl->Release(This)
   4157 #define IRTCEventNotification_Event(This,RTCEvent,pEvent) (This)->lpVtbl->Event(This,RTCEvent,pEvent)
   4158 #endif
   4159 #endif
   4160   HRESULT WINAPI IRTCEventNotification_Event_Proxy(IRTCEventNotification *This,RTC_EVENT RTCEvent,IDispatch *pEvent);
   4161   void __RPC_STUB IRTCEventNotification_Event_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4162 #endif
   4163 
   4164 #ifndef __IRTCPortManager_INTERFACE_DEFINED__
   4165 #define __IRTCPortManager_INTERFACE_DEFINED__
   4166   EXTERN_C const IID IID_IRTCPortManager;
   4167 #if defined(__cplusplus) && !defined(CINTERFACE)
   4168   struct IRTCPortManager : public IUnknown {
   4169   public:
   4170     virtual HRESULT WINAPI GetMapping(BSTR bstrRemoteAddress,RTC_PORT_TYPE enPortType,BSTR *pbstrInternalLocalAddress,__LONG32 *plInternalLocalPort,BSTR *pbstrExternalLocalAddress,__LONG32 *plExternalLocalPort) = 0;
   4171     virtual HRESULT WINAPI UpdateRemoteAddress(BSTR bstrRemoteAddress,BSTR bstrInternalLocalAddress,__LONG32 lInternalLocalPort,BSTR bstrExternalLocalAddress,__LONG32 lExternalLocalPort) = 0;
   4172     virtual HRESULT WINAPI ReleaseMapping(BSTR bstrInternalLocalAddress,__LONG32 lInternalLocalPort,BSTR bstrExternalLocalAddress,__LONG32 lExternalLocalAddress) = 0;
   4173   };
   4174 #else
   4175   typedef struct IRTCPortManagerVtbl {
   4176     BEGIN_INTERFACE
   4177       HRESULT (WINAPI *QueryInterface)(IRTCPortManager *This,REFIID riid,void **ppvObject);
   4178       ULONG (WINAPI *AddRef)(IRTCPortManager *This);
   4179       ULONG (WINAPI *Release)(IRTCPortManager *This);
   4180       HRESULT (WINAPI *GetMapping)(IRTCPortManager *This,BSTR bstrRemoteAddress,RTC_PORT_TYPE enPortType,BSTR *pbstrInternalLocalAddress,__LONG32 *plInternalLocalPort,BSTR *pbstrExternalLocalAddress,__LONG32 *plExternalLocalPort);
   4181       HRESULT (WINAPI *UpdateRemoteAddress)(IRTCPortManager *This,BSTR bstrRemoteAddress,BSTR bstrInternalLocalAddress,__LONG32 lInternalLocalPort,BSTR bstrExternalLocalAddress,__LONG32 lExternalLocalPort);
   4182       HRESULT (WINAPI *ReleaseMapping)(IRTCPortManager *This,BSTR bstrInternalLocalAddress,__LONG32 lInternalLocalPort,BSTR bstrExternalLocalAddress,__LONG32 lExternalLocalAddress);
   4183     END_INTERFACE
   4184   } IRTCPortManagerVtbl;
   4185   struct IRTCPortManager {
   4186     CONST_VTBL struct IRTCPortManagerVtbl *lpVtbl;
   4187   };
   4188 #ifdef COBJMACROS
   4189 #define IRTCPortManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4190 #define IRTCPortManager_AddRef(This) (This)->lpVtbl->AddRef(This)
   4191 #define IRTCPortManager_Release(This) (This)->lpVtbl->Release(This)
   4192 #define IRTCPortManager_GetMapping(This,bstrRemoteAddress,enPortType,pbstrInternalLocalAddress,plInternalLocalPort,pbstrExternalLocalAddress,plExternalLocalPort) (This)->lpVtbl->GetMapping(This,bstrRemoteAddress,enPortType,pbstrInternalLocalAddress,plInternalLocalPort,pbstrExternalLocalAddress,plExternalLocalPort)
   4193 #define IRTCPortManager_UpdateRemoteAddress(This,bstrRemoteAddress,bstrInternalLocalAddress,lInternalLocalPort,bstrExternalLocalAddress,lExternalLocalPort) (This)->lpVtbl->UpdateRemoteAddress(This,bstrRemoteAddress,bstrInternalLocalAddress,lInternalLocalPort,bstrExternalLocalAddress,lExternalLocalPort)
   4194 #define IRTCPortManager_ReleaseMapping(This,bstrInternalLocalAddress,lInternalLocalPort,bstrExternalLocalAddress,lExternalLocalAddress) (This)->lpVtbl->ReleaseMapping(This,bstrInternalLocalAddress,lInternalLocalPort,bstrExternalLocalAddress,lExternalLocalAddress)
   4195 #endif
   4196 #endif
   4197   HRESULT WINAPI IRTCPortManager_GetMapping_Proxy(IRTCPortManager *This,BSTR bstrRemoteAddress,RTC_PORT_TYPE enPortType,BSTR *pbstrInternalLocalAddress,__LONG32 *plInternalLocalPort,BSTR *pbstrExternalLocalAddress,__LONG32 *plExternalLocalPort);
   4198   void __RPC_STUB IRTCPortManager_GetMapping_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4199   HRESULT WINAPI IRTCPortManager_UpdateRemoteAddress_Proxy(IRTCPortManager *This,BSTR bstrRemoteAddress,BSTR bstrInternalLocalAddress,__LONG32 lInternalLocalPort,BSTR bstrExternalLocalAddress,__LONG32 lExternalLocalPort);
   4200   void __RPC_STUB IRTCPortManager_UpdateRemoteAddress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4201   HRESULT WINAPI IRTCPortManager_ReleaseMapping_Proxy(IRTCPortManager *This,BSTR bstrInternalLocalAddress,__LONG32 lInternalLocalPort,BSTR bstrExternalLocalAddress,__LONG32 lExternalLocalAddress);
   4202   void __RPC_STUB IRTCPortManager_ReleaseMapping_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4203 #endif
   4204 
   4205 #ifndef __IRTCSessionPortManagement_INTERFACE_DEFINED__
   4206 #define __IRTCSessionPortManagement_INTERFACE_DEFINED__
   4207   EXTERN_C const IID IID_IRTCSessionPortManagement;
   4208 #if defined(__cplusplus) && !defined(CINTERFACE)
   4209   struct IRTCSessionPortManagement : public IUnknown {
   4210   public:
   4211     virtual HRESULT WINAPI SetPortManager(IRTCPortManager *pPortManager) = 0;
   4212   };
   4213 #else
   4214   typedef struct IRTCSessionPortManagementVtbl {
   4215     BEGIN_INTERFACE
   4216       HRESULT (WINAPI *QueryInterface)(IRTCSessionPortManagement *This,REFIID riid,void **ppvObject);
   4217       ULONG (WINAPI *AddRef)(IRTCSessionPortManagement *This);
   4218       ULONG (WINAPI *Release)(IRTCSessionPortManagement *This);
   4219       HRESULT (WINAPI *SetPortManager)(IRTCSessionPortManagement *This,IRTCPortManager *pPortManager);
   4220     END_INTERFACE
   4221   } IRTCSessionPortManagementVtbl;
   4222   struct IRTCSessionPortManagement {
   4223     CONST_VTBL struct IRTCSessionPortManagementVtbl *lpVtbl;
   4224   };
   4225 #ifdef COBJMACROS
   4226 #define IRTCSessionPortManagement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4227 #define IRTCSessionPortManagement_AddRef(This) (This)->lpVtbl->AddRef(This)
   4228 #define IRTCSessionPortManagement_Release(This) (This)->lpVtbl->Release(This)
   4229 #define IRTCSessionPortManagement_SetPortManager(This,pPortManager) (This)->lpVtbl->SetPortManager(This,pPortManager)
   4230 #endif
   4231 #endif
   4232   HRESULT WINAPI IRTCSessionPortManagement_SetPortManager_Proxy(IRTCSessionPortManagement *This,IRTCPortManager *pPortManager);
   4233   void __RPC_STUB IRTCSessionPortManagement_SetPortManager_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4234 #endif
   4235 
   4236 #ifndef __IRTCClientPortManagement_INTERFACE_DEFINED__
   4237 #define __IRTCClientPortManagement_INTERFACE_DEFINED__
   4238   EXTERN_C const IID IID_IRTCClientPortManagement;
   4239 #if defined(__cplusplus) && !defined(CINTERFACE)
   4240   struct IRTCClientPortManagement : public IUnknown {
   4241   public:
   4242     virtual HRESULT WINAPI StartListenAddressAndPort(BSTR bstrInternalLocalAddress,__LONG32 lInternalLocalPort) = 0;
   4243     virtual HRESULT WINAPI StopListenAddressAndPort(BSTR bstrInternalLocalAddress,__LONG32 lInternalLocalPort) = 0;
   4244     virtual HRESULT WINAPI GetPortRange(RTC_PORT_TYPE enPortType,__LONG32 *plMinValue,__LONG32 *plMaxValue) = 0;
   4245   };
   4246 #else
   4247   typedef struct IRTCClientPortManagementVtbl {
   4248     BEGIN_INTERFACE
   4249       HRESULT (WINAPI *QueryInterface)(IRTCClientPortManagement *This,REFIID riid,void **ppvObject);
   4250       ULONG (WINAPI *AddRef)(IRTCClientPortManagement *This);
   4251       ULONG (WINAPI *Release)(IRTCClientPortManagement *This);
   4252       HRESULT (WINAPI *StartListenAddressAndPort)(IRTCClientPortManagement *This,BSTR bstrInternalLocalAddress,__LONG32 lInternalLocalPort);
   4253       HRESULT (WINAPI *StopListenAddressAndPort)(IRTCClientPortManagement *This,BSTR bstrInternalLocalAddress,__LONG32 lInternalLocalPort);
   4254       HRESULT (WINAPI *GetPortRange)(IRTCClientPortManagement *This,RTC_PORT_TYPE enPortType,__LONG32 *plMinValue,__LONG32 *plMaxValue);
   4255     END_INTERFACE
   4256   } IRTCClientPortManagementVtbl;
   4257   struct IRTCClientPortManagement {
   4258     CONST_VTBL struct IRTCClientPortManagementVtbl *lpVtbl;
   4259   };
   4260 #ifdef COBJMACROS
   4261 #define IRTCClientPortManagement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4262 #define IRTCClientPortManagement_AddRef(This) (This)->lpVtbl->AddRef(This)
   4263 #define IRTCClientPortManagement_Release(This) (This)->lpVtbl->Release(This)
   4264 #define IRTCClientPortManagement_StartListenAddressAndPort(This,bstrInternalLocalAddress,lInternalLocalPort) (This)->lpVtbl->StartListenAddressAndPort(This,bstrInternalLocalAddress,lInternalLocalPort)
   4265 #define IRTCClientPortManagement_StopListenAddressAndPort(This,bstrInternalLocalAddress,lInternalLocalPort) (This)->lpVtbl->StopListenAddressAndPort(This,bstrInternalLocalAddress,lInternalLocalPort)
   4266 #define IRTCClientPortManagement_GetPortRange(This,enPortType,plMinValue,plMaxValue) (This)->lpVtbl->GetPortRange(This,enPortType,plMinValue,plMaxValue)
   4267 #endif
   4268 #endif
   4269   HRESULT WINAPI IRTCClientPortManagement_StartListenAddressAndPort_Proxy(IRTCClientPortManagement *This,BSTR bstrInternalLocalAddress,__LONG32 lInternalLocalPort);
   4270   void __RPC_STUB IRTCClientPortManagement_StartListenAddressAndPort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4271   HRESULT WINAPI IRTCClientPortManagement_StopListenAddressAndPort_Proxy(IRTCClientPortManagement *This,BSTR bstrInternalLocalAddress,__LONG32 lInternalLocalPort);
   4272   void __RPC_STUB IRTCClientPortManagement_StopListenAddressAndPort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4273   HRESULT WINAPI IRTCClientPortManagement_GetPortRange_Proxy(IRTCClientPortManagement *This,RTC_PORT_TYPE enPortType,__LONG32 *plMinValue,__LONG32 *plMaxValue);
   4274   void __RPC_STUB IRTCClientPortManagement_GetPortRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4275 #endif
   4276 
   4277 #ifndef __IRTCUserSearch_INTERFACE_DEFINED__
   4278 #define __IRTCUserSearch_INTERFACE_DEFINED__
   4279   EXTERN_C const IID IID_IRTCUserSearch;
   4280 #if defined(__cplusplus) && !defined(CINTERFACE)
   4281   struct IRTCUserSearch : public IUnknown {
   4282   public:
   4283     virtual HRESULT WINAPI CreateQuery(IRTCUserSearchQuery **ppQuery) = 0;
   4284     virtual HRESULT WINAPI ExecuteSearch(IRTCUserSearchQuery *pQuery,IRTCProfile *pProfile,LONG_PTR lCookie) = 0;
   4285   };
   4286 #else
   4287   typedef struct IRTCUserSearchVtbl {
   4288     BEGIN_INTERFACE
   4289       HRESULT (WINAPI *QueryInterface)(IRTCUserSearch *This,REFIID riid,void **ppvObject);
   4290       ULONG (WINAPI *AddRef)(IRTCUserSearch *This);
   4291       ULONG (WINAPI *Release)(IRTCUserSearch *This);
   4292       HRESULT (WINAPI *CreateQuery)(IRTCUserSearch *This,IRTCUserSearchQuery **ppQuery);
   4293       HRESULT (WINAPI *ExecuteSearch)(IRTCUserSearch *This,IRTCUserSearchQuery *pQuery,IRTCProfile *pProfile,LONG_PTR lCookie);
   4294     END_INTERFACE
   4295   } IRTCUserSearchVtbl;
   4296   struct IRTCUserSearch {
   4297     CONST_VTBL struct IRTCUserSearchVtbl *lpVtbl;
   4298   };
   4299 #ifdef COBJMACROS
   4300 #define IRTCUserSearch_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4301 #define IRTCUserSearch_AddRef(This) (This)->lpVtbl->AddRef(This)
   4302 #define IRTCUserSearch_Release(This) (This)->lpVtbl->Release(This)
   4303 #define IRTCUserSearch_CreateQuery(This,ppQuery) (This)->lpVtbl->CreateQuery(This,ppQuery)
   4304 #define IRTCUserSearch_ExecuteSearch(This,pQuery,pProfile,lCookie) (This)->lpVtbl->ExecuteSearch(This,pQuery,pProfile,lCookie)
   4305 #endif
   4306 #endif
   4307   HRESULT WINAPI IRTCUserSearch_CreateQuery_Proxy(IRTCUserSearch *This,IRTCUserSearchQuery **ppQuery);
   4308   void __RPC_STUB IRTCUserSearch_CreateQuery_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4309   HRESULT WINAPI IRTCUserSearch_ExecuteSearch_Proxy(IRTCUserSearch *This,IRTCUserSearchQuery *pQuery,IRTCProfile *pProfile,LONG_PTR lCookie);
   4310   void __RPC_STUB IRTCUserSearch_ExecuteSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4311 #endif
   4312 
   4313 #ifndef __IRTCUserSearchQuery_INTERFACE_DEFINED__
   4314 #define __IRTCUserSearchQuery_INTERFACE_DEFINED__
   4315   EXTERN_C const IID IID_IRTCUserSearchQuery;
   4316 #if defined(__cplusplus) && !defined(CINTERFACE)
   4317   struct IRTCUserSearchQuery : public IUnknown {
   4318   public:
   4319     virtual HRESULT WINAPI put_SearchTerm(BSTR bstrName,BSTR bstrValue) = 0;
   4320     virtual HRESULT WINAPI get_SearchTerm(BSTR bstrName,BSTR *pbstrValue) = 0;
   4321     virtual HRESULT WINAPI get_SearchTerms(BSTR *pbstrNames) = 0;
   4322     virtual HRESULT WINAPI put_SearchPreference(RTC_USER_SEARCH_PREFERENCE enPreference,__LONG32 lValue) = 0;
   4323     virtual HRESULT WINAPI get_SearchPreference(RTC_USER_SEARCH_PREFERENCE enPreference,__LONG32 *plValue) = 0;
   4324     virtual HRESULT WINAPI put_SearchDomain(BSTR bstrDomain) = 0;
   4325     virtual HRESULT WINAPI get_SearchDomain(BSTR *pbstrDomain) = 0;
   4326   };
   4327 #else
   4328   typedef struct IRTCUserSearchQueryVtbl {
   4329     BEGIN_INTERFACE
   4330       HRESULT (WINAPI *QueryInterface)(IRTCUserSearchQuery *This,REFIID riid,void **ppvObject);
   4331       ULONG (WINAPI *AddRef)(IRTCUserSearchQuery *This);
   4332       ULONG (WINAPI *Release)(IRTCUserSearchQuery *This);
   4333       HRESULT (WINAPI *put_SearchTerm)(IRTCUserSearchQuery *This,BSTR bstrName,BSTR bstrValue);
   4334       HRESULT (WINAPI *get_SearchTerm)(IRTCUserSearchQuery *This,BSTR bstrName,BSTR *pbstrValue);
   4335       HRESULT (WINAPI *get_SearchTerms)(IRTCUserSearchQuery *This,BSTR *pbstrNames);
   4336       HRESULT (WINAPI *put_SearchPreference)(IRTCUserSearchQuery *This,RTC_USER_SEARCH_PREFERENCE enPreference,__LONG32 lValue);
   4337       HRESULT (WINAPI *get_SearchPreference)(IRTCUserSearchQuery *This,RTC_USER_SEARCH_PREFERENCE enPreference,__LONG32 *plValue);
   4338       HRESULT (WINAPI *put_SearchDomain)(IRTCUserSearchQuery *This,BSTR bstrDomain);
   4339       HRESULT (WINAPI *get_SearchDomain)(IRTCUserSearchQuery *This,BSTR *pbstrDomain);
   4340     END_INTERFACE
   4341   } IRTCUserSearchQueryVtbl;
   4342   struct IRTCUserSearchQuery {
   4343     CONST_VTBL struct IRTCUserSearchQueryVtbl *lpVtbl;
   4344   };
   4345 #ifdef COBJMACROS
   4346 #define IRTCUserSearchQuery_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4347 #define IRTCUserSearchQuery_AddRef(This) (This)->lpVtbl->AddRef(This)
   4348 #define IRTCUserSearchQuery_Release(This) (This)->lpVtbl->Release(This)
   4349 #define IRTCUserSearchQuery_put_SearchTerm(This,bstrName,bstrValue) (This)->lpVtbl->put_SearchTerm(This,bstrName,bstrValue)
   4350 #define IRTCUserSearchQuery_get_SearchTerm(This,bstrName,pbstrValue) (This)->lpVtbl->get_SearchTerm(This,bstrName,pbstrValue)
   4351 #define IRTCUserSearchQuery_get_SearchTerms(This,pbstrNames) (This)->lpVtbl->get_SearchTerms(This,pbstrNames)
   4352 #define IRTCUserSearchQuery_put_SearchPreference(This,enPreference,lValue) (This)->lpVtbl->put_SearchPreference(This,enPreference,lValue)
   4353 #define IRTCUserSearchQuery_get_SearchPreference(This,enPreference,plValue) (This)->lpVtbl->get_SearchPreference(This,enPreference,plValue)
   4354 #define IRTCUserSearchQuery_put_SearchDomain(This,bstrDomain) (This)->lpVtbl->put_SearchDomain(This,bstrDomain)
   4355 #define IRTCUserSearchQuery_get_SearchDomain(This,pbstrDomain) (This)->lpVtbl->get_SearchDomain(This,pbstrDomain)
   4356 #endif
   4357 #endif
   4358   HRESULT WINAPI IRTCUserSearchQuery_put_SearchTerm_Proxy(IRTCUserSearchQuery *This,BSTR bstrName,BSTR bstrValue);
   4359   void __RPC_STUB IRTCUserSearchQuery_put_SearchTerm_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4360   HRESULT WINAPI IRTCUserSearchQuery_get_SearchTerm_Proxy(IRTCUserSearchQuery *This,BSTR bstrName,BSTR *pbstrValue);
   4361   void __RPC_STUB IRTCUserSearchQuery_get_SearchTerm_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4362   HRESULT WINAPI IRTCUserSearchQuery_get_SearchTerms_Proxy(IRTCUserSearchQuery *This,BSTR *pbstrNames);
   4363   void __RPC_STUB IRTCUserSearchQuery_get_SearchTerms_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4364   HRESULT WINAPI IRTCUserSearchQuery_put_SearchPreference_Proxy(IRTCUserSearchQuery *This,RTC_USER_SEARCH_PREFERENCE enPreference,__LONG32 lValue);
   4365   void __RPC_STUB IRTCUserSearchQuery_put_SearchPreference_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4366   HRESULT WINAPI IRTCUserSearchQuery_get_SearchPreference_Proxy(IRTCUserSearchQuery *This,RTC_USER_SEARCH_PREFERENCE enPreference,__LONG32 *plValue);
   4367   void __RPC_STUB IRTCUserSearchQuery_get_SearchPreference_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4368   HRESULT WINAPI IRTCUserSearchQuery_put_SearchDomain_Proxy(IRTCUserSearchQuery *This,BSTR bstrDomain);
   4369   void __RPC_STUB IRTCUserSearchQuery_put_SearchDomain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4370   HRESULT WINAPI IRTCUserSearchQuery_get_SearchDomain_Proxy(IRTCUserSearchQuery *This,BSTR *pbstrDomain);
   4371   void __RPC_STUB IRTCUserSearchQuery_get_SearchDomain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4372 #endif
   4373 
   4374 #ifndef __IRTCUserSearchResult_INTERFACE_DEFINED__
   4375 #define __IRTCUserSearchResult_INTERFACE_DEFINED__
   4376   EXTERN_C const IID IID_IRTCUserSearchResult;
   4377 #if defined(__cplusplus) && !defined(CINTERFACE)
   4378   struct IRTCUserSearchResult : public IUnknown {
   4379   public:
   4380     virtual HRESULT WINAPI get_Value(RTC_USER_SEARCH_COLUMN enColumn,BSTR *pbstrValue) = 0;
   4381   };
   4382 #else
   4383   typedef struct IRTCUserSearchResultVtbl {
   4384     BEGIN_INTERFACE
   4385       HRESULT (WINAPI *QueryInterface)(IRTCUserSearchResult *This,REFIID riid,void **ppvObject);
   4386       ULONG (WINAPI *AddRef)(IRTCUserSearchResult *This);
   4387       ULONG (WINAPI *Release)(IRTCUserSearchResult *This);
   4388       HRESULT (WINAPI *get_Value)(IRTCUserSearchResult *This,RTC_USER_SEARCH_COLUMN enColumn,BSTR *pbstrValue);
   4389     END_INTERFACE
   4390   } IRTCUserSearchResultVtbl;
   4391   struct IRTCUserSearchResult {
   4392     CONST_VTBL struct IRTCUserSearchResultVtbl *lpVtbl;
   4393   };
   4394 #ifdef COBJMACROS
   4395 #define IRTCUserSearchResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4396 #define IRTCUserSearchResult_AddRef(This) (This)->lpVtbl->AddRef(This)
   4397 #define IRTCUserSearchResult_Release(This) (This)->lpVtbl->Release(This)
   4398 #define IRTCUserSearchResult_get_Value(This,enColumn,pbstrValue) (This)->lpVtbl->get_Value(This,enColumn,pbstrValue)
   4399 #endif
   4400 #endif
   4401   HRESULT WINAPI IRTCUserSearchResult_get_Value_Proxy(IRTCUserSearchResult *This,RTC_USER_SEARCH_COLUMN enColumn,BSTR *pbstrValue);
   4402   void __RPC_STUB IRTCUserSearchResult_get_Value_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4403 #endif
   4404 
   4405 #ifndef __IRTCEnumUserSearchResults_INTERFACE_DEFINED__
   4406 #define __IRTCEnumUserSearchResults_INTERFACE_DEFINED__
   4407   EXTERN_C const IID IID_IRTCEnumUserSearchResults;
   4408 #if defined(__cplusplus) && !defined(CINTERFACE)
   4409   struct IRTCEnumUserSearchResults : public IUnknown {
   4410   public:
   4411     virtual HRESULT WINAPI Next(ULONG celt,IRTCUserSearchResult **ppElements,ULONG *pceltFetched) = 0;
   4412     virtual HRESULT WINAPI Reset(void) = 0;
   4413     virtual HRESULT WINAPI Skip(ULONG celt) = 0;
   4414     virtual HRESULT WINAPI Clone(IRTCEnumUserSearchResults **ppEnum) = 0;
   4415   };
   4416 #else
   4417   typedef struct IRTCEnumUserSearchResultsVtbl {
   4418     BEGIN_INTERFACE
   4419       HRESULT (WINAPI *QueryInterface)(IRTCEnumUserSearchResults *This,REFIID riid,void **ppvObject);
   4420       ULONG (WINAPI *AddRef)(IRTCEnumUserSearchResults *This);
   4421       ULONG (WINAPI *Release)(IRTCEnumUserSearchResults *This);
   4422       HRESULT (WINAPI *Next)(IRTCEnumUserSearchResults *This,ULONG celt,IRTCUserSearchResult **ppElements,ULONG *pceltFetched);
   4423       HRESULT (WINAPI *Reset)(IRTCEnumUserSearchResults *This);
   4424       HRESULT (WINAPI *Skip)(IRTCEnumUserSearchResults *This,ULONG celt);
   4425       HRESULT (WINAPI *Clone)(IRTCEnumUserSearchResults *This,IRTCEnumUserSearchResults **ppEnum);
   4426     END_INTERFACE
   4427   } IRTCEnumUserSearchResultsVtbl;
   4428   struct IRTCEnumUserSearchResults {
   4429     CONST_VTBL struct IRTCEnumUserSearchResultsVtbl *lpVtbl;
   4430   };
   4431 #ifdef COBJMACROS
   4432 #define IRTCEnumUserSearchResults_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4433 #define IRTCEnumUserSearchResults_AddRef(This) (This)->lpVtbl->AddRef(This)
   4434 #define IRTCEnumUserSearchResults_Release(This) (This)->lpVtbl->Release(This)
   4435 #define IRTCEnumUserSearchResults_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched)
   4436 #define IRTCEnumUserSearchResults_Reset(This) (This)->lpVtbl->Reset(This)
   4437 #define IRTCEnumUserSearchResults_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
   4438 #define IRTCEnumUserSearchResults_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
   4439 #endif
   4440 #endif
   4441   HRESULT WINAPI IRTCEnumUserSearchResults_Next_Proxy(IRTCEnumUserSearchResults *This,ULONG celt,IRTCUserSearchResult **ppElements,ULONG *pceltFetched);
   4442   void __RPC_STUB IRTCEnumUserSearchResults_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4443   HRESULT WINAPI IRTCEnumUserSearchResults_Reset_Proxy(IRTCEnumUserSearchResults *This);
   4444   void __RPC_STUB IRTCEnumUserSearchResults_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4445   HRESULT WINAPI IRTCEnumUserSearchResults_Skip_Proxy(IRTCEnumUserSearchResults *This,ULONG celt);
   4446   void __RPC_STUB IRTCEnumUserSearchResults_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4447   HRESULT WINAPI IRTCEnumUserSearchResults_Clone_Proxy(IRTCEnumUserSearchResults *This,IRTCEnumUserSearchResults **ppEnum);
   4448   void __RPC_STUB IRTCEnumUserSearchResults_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4449 #endif
   4450 
   4451 #ifndef __IRTCUserSearchResultsEvent_INTERFACE_DEFINED__
   4452 #define __IRTCUserSearchResultsEvent_INTERFACE_DEFINED__
   4453   EXTERN_C const IID IID_IRTCUserSearchResultsEvent;
   4454 #if defined(__cplusplus) && !defined(CINTERFACE)
   4455   struct IRTCUserSearchResultsEvent : public IDispatch {
   4456   public:
   4457     virtual HRESULT WINAPI EnumerateResults(IRTCEnumUserSearchResults **ppEnum) = 0;
   4458     virtual HRESULT WINAPI get_Results(IRTCCollection **ppCollection) = 0;
   4459     virtual HRESULT WINAPI get_Profile(IRTCProfile2 **ppProfile) = 0;
   4460     virtual HRESULT WINAPI get_Query(IRTCUserSearchQuery **ppQuery) = 0;
   4461     virtual HRESULT WINAPI get_Cookie(LONG_PTR *plCookie) = 0;
   4462     virtual HRESULT WINAPI get_StatusCode(__LONG32 *plStatusCode) = 0;
   4463     virtual HRESULT WINAPI get_MoreAvailable(VARIANT_BOOL *pfMoreAvailable) = 0;
   4464   };
   4465 #else
   4466   typedef struct IRTCUserSearchResultsEventVtbl {
   4467     BEGIN_INTERFACE
   4468       HRESULT (WINAPI *QueryInterface)(IRTCUserSearchResultsEvent *This,REFIID riid,void **ppvObject);
   4469       ULONG (WINAPI *AddRef)(IRTCUserSearchResultsEvent *This);
   4470       ULONG (WINAPI *Release)(IRTCUserSearchResultsEvent *This);
   4471       HRESULT (WINAPI *GetTypeInfoCount)(IRTCUserSearchResultsEvent *This,UINT *pctinfo);
   4472       HRESULT (WINAPI *GetTypeInfo)(IRTCUserSearchResultsEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   4473       HRESULT (WINAPI *GetIDsOfNames)(IRTCUserSearchResultsEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   4474       HRESULT (WINAPI *Invoke)(IRTCUserSearchResultsEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   4475       HRESULT (WINAPI *EnumerateResults)(IRTCUserSearchResultsEvent *This,IRTCEnumUserSearchResults **ppEnum);
   4476       HRESULT (WINAPI *get_Results)(IRTCUserSearchResultsEvent *This,IRTCCollection **ppCollection);
   4477       HRESULT (WINAPI *get_Profile)(IRTCUserSearchResultsEvent *This,IRTCProfile2 **ppProfile);
   4478       HRESULT (WINAPI *get_Query)(IRTCUserSearchResultsEvent *This,IRTCUserSearchQuery **ppQuery);
   4479       HRESULT (WINAPI *get_Cookie)(IRTCUserSearchResultsEvent *This,LONG_PTR *plCookie);
   4480       HRESULT (WINAPI *get_StatusCode)(IRTCUserSearchResultsEvent *This,__LONG32 *plStatusCode);
   4481       HRESULT (WINAPI *get_MoreAvailable)(IRTCUserSearchResultsEvent *This,VARIANT_BOOL *pfMoreAvailable);
   4482     END_INTERFACE
   4483   } IRTCUserSearchResultsEventVtbl;
   4484   struct IRTCUserSearchResultsEvent {
   4485     CONST_VTBL struct IRTCUserSearchResultsEventVtbl *lpVtbl;
   4486   };
   4487 #ifdef COBJMACROS
   4488 #define IRTCUserSearchResultsEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4489 #define IRTCUserSearchResultsEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
   4490 #define IRTCUserSearchResultsEvent_Release(This) (This)->lpVtbl->Release(This)
   4491 #define IRTCUserSearchResultsEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   4492 #define IRTCUserSearchResultsEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   4493 #define IRTCUserSearchResultsEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   4494 #define IRTCUserSearchResultsEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   4495 #define IRTCUserSearchResultsEvent_EnumerateResults(This,ppEnum) (This)->lpVtbl->EnumerateResults(This,ppEnum)
   4496 #define IRTCUserSearchResultsEvent_get_Results(This,ppCollection) (This)->lpVtbl->get_Results(This,ppCollection)
   4497 #define IRTCUserSearchResultsEvent_get_Profile(This,ppProfile) (This)->lpVtbl->get_Profile(This,ppProfile)
   4498 #define IRTCUserSearchResultsEvent_get_Query(This,ppQuery) (This)->lpVtbl->get_Query(This,ppQuery)
   4499 #define IRTCUserSearchResultsEvent_get_Cookie(This,plCookie) (This)->lpVtbl->get_Cookie(This,plCookie)
   4500 #define IRTCUserSearchResultsEvent_get_StatusCode(This,plStatusCode) (This)->lpVtbl->get_StatusCode(This,plStatusCode)
   4501 #define IRTCUserSearchResultsEvent_get_MoreAvailable(This,pfMoreAvailable) (This)->lpVtbl->get_MoreAvailable(This,pfMoreAvailable)
   4502 #endif
   4503 #endif
   4504   HRESULT WINAPI IRTCUserSearchResultsEvent_EnumerateResults_Proxy(IRTCUserSearchResultsEvent *This,IRTCEnumUserSearchResults **ppEnum);
   4505   void __RPC_STUB IRTCUserSearchResultsEvent_EnumerateResults_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4506   HRESULT WINAPI IRTCUserSearchResultsEvent_get_Results_Proxy(IRTCUserSearchResultsEvent *This,IRTCCollection **ppCollection);
   4507   void __RPC_STUB IRTCUserSearchResultsEvent_get_Results_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4508   HRESULT WINAPI IRTCUserSearchResultsEvent_get_Profile_Proxy(IRTCUserSearchResultsEvent *This,IRTCProfile2 **ppProfile);
   4509   void __RPC_STUB IRTCUserSearchResultsEvent_get_Profile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4510   HRESULT WINAPI IRTCUserSearchResultsEvent_get_Query_Proxy(IRTCUserSearchResultsEvent *This,IRTCUserSearchQuery **ppQuery);
   4511   void __RPC_STUB IRTCUserSearchResultsEvent_get_Query_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4512   HRESULT WINAPI IRTCUserSearchResultsEvent_get_Cookie_Proxy(IRTCUserSearchResultsEvent *This,LONG_PTR *plCookie);
   4513   void __RPC_STUB IRTCUserSearchResultsEvent_get_Cookie_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4514   HRESULT WINAPI IRTCUserSearchResultsEvent_get_StatusCode_Proxy(IRTCUserSearchResultsEvent *This,__LONG32 *plStatusCode);
   4515   void __RPC_STUB IRTCUserSearchResultsEvent_get_StatusCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4516   HRESULT WINAPI IRTCUserSearchResultsEvent_get_MoreAvailable_Proxy(IRTCUserSearchResultsEvent *This,VARIANT_BOOL *pfMoreAvailable);
   4517   void __RPC_STUB IRTCUserSearchResultsEvent_get_MoreAvailable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4518 #endif
   4519 
   4520 #ifndef __IRTCSessionReferStatusEvent_INTERFACE_DEFINED__
   4521 #define __IRTCSessionReferStatusEvent_INTERFACE_DEFINED__
   4522   EXTERN_C const IID IID_IRTCSessionReferStatusEvent;
   4523 #if defined(__cplusplus) && !defined(CINTERFACE)
   4524   struct IRTCSessionReferStatusEvent : public IDispatch {
   4525   public:
   4526     virtual HRESULT WINAPI get_Session(IRTCSession2 **ppSession) = 0;
   4527     virtual HRESULT WINAPI get_ReferStatus(RTC_SESSION_REFER_STATUS *penReferStatus) = 0;
   4528     virtual HRESULT WINAPI get_StatusCode(__LONG32 *plStatusCode) = 0;
   4529     virtual HRESULT WINAPI get_StatusText(BSTR *pbstrStatusText) = 0;
   4530   };
   4531 #else
   4532   typedef struct IRTCSessionReferStatusEventVtbl {
   4533     BEGIN_INTERFACE
   4534       HRESULT (WINAPI *QueryInterface)(IRTCSessionReferStatusEvent *This,REFIID riid,void **ppvObject);
   4535       ULONG (WINAPI *AddRef)(IRTCSessionReferStatusEvent *This);
   4536       ULONG (WINAPI *Release)(IRTCSessionReferStatusEvent *This);
   4537       HRESULT (WINAPI *GetTypeInfoCount)(IRTCSessionReferStatusEvent *This,UINT *pctinfo);
   4538       HRESULT (WINAPI *GetTypeInfo)(IRTCSessionReferStatusEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   4539       HRESULT (WINAPI *GetIDsOfNames)(IRTCSessionReferStatusEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   4540       HRESULT (WINAPI *Invoke)(IRTCSessionReferStatusEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   4541       HRESULT (WINAPI *get_Session)(IRTCSessionReferStatusEvent *This,IRTCSession2 **ppSession);
   4542       HRESULT (WINAPI *get_ReferStatus)(IRTCSessionReferStatusEvent *This,RTC_SESSION_REFER_STATUS *penReferStatus);
   4543       HRESULT (WINAPI *get_StatusCode)(IRTCSessionReferStatusEvent *This,__LONG32 *plStatusCode);
   4544       HRESULT (WINAPI *get_StatusText)(IRTCSessionReferStatusEvent *This,BSTR *pbstrStatusText);
   4545     END_INTERFACE
   4546   } IRTCSessionReferStatusEventVtbl;
   4547   struct IRTCSessionReferStatusEvent {
   4548     CONST_VTBL struct IRTCSessionReferStatusEventVtbl *lpVtbl;
   4549   };
   4550 #ifdef COBJMACROS
   4551 #define IRTCSessionReferStatusEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4552 #define IRTCSessionReferStatusEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
   4553 #define IRTCSessionReferStatusEvent_Release(This) (This)->lpVtbl->Release(This)
   4554 #define IRTCSessionReferStatusEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   4555 #define IRTCSessionReferStatusEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   4556 #define IRTCSessionReferStatusEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   4557 #define IRTCSessionReferStatusEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   4558 #define IRTCSessionReferStatusEvent_get_Session(This,ppSession) (This)->lpVtbl->get_Session(This,ppSession)
   4559 #define IRTCSessionReferStatusEvent_get_ReferStatus(This,penReferStatus) (This)->lpVtbl->get_ReferStatus(This,penReferStatus)
   4560 #define IRTCSessionReferStatusEvent_get_StatusCode(This,plStatusCode) (This)->lpVtbl->get_StatusCode(This,plStatusCode)
   4561 #define IRTCSessionReferStatusEvent_get_StatusText(This,pbstrStatusText) (This)->lpVtbl->get_StatusText(This,pbstrStatusText)
   4562 #endif
   4563 #endif
   4564   HRESULT WINAPI IRTCSessionReferStatusEvent_get_Session_Proxy(IRTCSessionReferStatusEvent *This,IRTCSession2 **ppSession);
   4565   void __RPC_STUB IRTCSessionReferStatusEvent_get_Session_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4566   HRESULT WINAPI IRTCSessionReferStatusEvent_get_ReferStatus_Proxy(IRTCSessionReferStatusEvent *This,RTC_SESSION_REFER_STATUS *penReferStatus);
   4567   void __RPC_STUB IRTCSessionReferStatusEvent_get_ReferStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4568   HRESULT WINAPI IRTCSessionReferStatusEvent_get_StatusCode_Proxy(IRTCSessionReferStatusEvent *This,__LONG32 *plStatusCode);
   4569   void __RPC_STUB IRTCSessionReferStatusEvent_get_StatusCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4570   HRESULT WINAPI IRTCSessionReferStatusEvent_get_StatusText_Proxy(IRTCSessionReferStatusEvent *This,BSTR *pbstrStatusText);
   4571   void __RPC_STUB IRTCSessionReferStatusEvent_get_StatusText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4572 #endif
   4573 
   4574 #ifndef __IRTCSessionReferredEvent_INTERFACE_DEFINED__
   4575 #define __IRTCSessionReferredEvent_INTERFACE_DEFINED__
   4576   EXTERN_C const IID IID_IRTCSessionReferredEvent;
   4577 #if defined(__cplusplus) && !defined(CINTERFACE)
   4578   struct IRTCSessionReferredEvent : public IDispatch {
   4579   public:
   4580     virtual HRESULT WINAPI get_Session(IRTCSession2 **ppSession) = 0;
   4581     virtual HRESULT WINAPI get_ReferredByURI(BSTR *pbstrReferredByURI) = 0;
   4582     virtual HRESULT WINAPI get_ReferToURI(BSTR *pbstrReferoURI) = 0;
   4583     virtual HRESULT WINAPI get_ReferCookie(BSTR *pbstrReferCookie) = 0;
   4584     virtual HRESULT WINAPI Accept(void) = 0;
   4585     virtual HRESULT WINAPI Reject(void) = 0;
   4586     virtual HRESULT WINAPI SetReferredSessionState(RTC_SESSION_STATE enState) = 0;
   4587   };
   4588 #else
   4589   typedef struct IRTCSessionReferredEventVtbl {
   4590     BEGIN_INTERFACE
   4591       HRESULT (WINAPI *QueryInterface)(IRTCSessionReferredEvent *This,REFIID riid,void **ppvObject);
   4592       ULONG (WINAPI *AddRef)(IRTCSessionReferredEvent *This);
   4593       ULONG (WINAPI *Release)(IRTCSessionReferredEvent *This);
   4594       HRESULT (WINAPI *GetTypeInfoCount)(IRTCSessionReferredEvent *This,UINT *pctinfo);
   4595       HRESULT (WINAPI *GetTypeInfo)(IRTCSessionReferredEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   4596       HRESULT (WINAPI *GetIDsOfNames)(IRTCSessionReferredEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   4597       HRESULT (WINAPI *Invoke)(IRTCSessionReferredEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   4598       HRESULT (WINAPI *get_Session)(IRTCSessionReferredEvent *This,IRTCSession2 **ppSession);
   4599       HRESULT (WINAPI *get_ReferredByURI)(IRTCSessionReferredEvent *This,BSTR *pbstrReferredByURI);
   4600       HRESULT (WINAPI *get_ReferToURI)(IRTCSessionReferredEvent *This,BSTR *pbstrReferoURI);
   4601       HRESULT (WINAPI *get_ReferCookie)(IRTCSessionReferredEvent *This,BSTR *pbstrReferCookie);
   4602       HRESULT (WINAPI *Accept)(IRTCSessionReferredEvent *This);
   4603       HRESULT (WINAPI *Reject)(IRTCSessionReferredEvent *This);
   4604       HRESULT (WINAPI *SetReferredSessionState)(IRTCSessionReferredEvent *This,RTC_SESSION_STATE enState);
   4605     END_INTERFACE
   4606   } IRTCSessionReferredEventVtbl;
   4607   struct IRTCSessionReferredEvent {
   4608     CONST_VTBL struct IRTCSessionReferredEventVtbl *lpVtbl;
   4609   };
   4610 #ifdef COBJMACROS
   4611 #define IRTCSessionReferredEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4612 #define IRTCSessionReferredEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
   4613 #define IRTCSessionReferredEvent_Release(This) (This)->lpVtbl->Release(This)
   4614 #define IRTCSessionReferredEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   4615 #define IRTCSessionReferredEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   4616 #define IRTCSessionReferredEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   4617 #define IRTCSessionReferredEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   4618 #define IRTCSessionReferredEvent_get_Session(This,ppSession) (This)->lpVtbl->get_Session(This,ppSession)
   4619 #define IRTCSessionReferredEvent_get_ReferredByURI(This,pbstrReferredByURI) (This)->lpVtbl->get_ReferredByURI(This,pbstrReferredByURI)
   4620 #define IRTCSessionReferredEvent_get_ReferToURI(This,pbstrReferoURI) (This)->lpVtbl->get_ReferToURI(This,pbstrReferoURI)
   4621 #define IRTCSessionReferredEvent_get_ReferCookie(This,pbstrReferCookie) (This)->lpVtbl->get_ReferCookie(This,pbstrReferCookie)
   4622 #define IRTCSessionReferredEvent_Accept(This) (This)->lpVtbl->Accept(This)
   4623 #define IRTCSessionReferredEvent_Reject(This) (This)->lpVtbl->Reject(This)
   4624 #define IRTCSessionReferredEvent_SetReferredSessionState(This,enState) (This)->lpVtbl->SetReferredSessionState(This,enState)
   4625 #endif
   4626 #endif
   4627   HRESULT WINAPI IRTCSessionReferredEvent_get_Session_Proxy(IRTCSessionReferredEvent *This,IRTCSession2 **ppSession);
   4628   void __RPC_STUB IRTCSessionReferredEvent_get_Session_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4629   HRESULT WINAPI IRTCSessionReferredEvent_get_ReferredByURI_Proxy(IRTCSessionReferredEvent *This,BSTR *pbstrReferredByURI);
   4630   void __RPC_STUB IRTCSessionReferredEvent_get_ReferredByURI_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4631   HRESULT WINAPI IRTCSessionReferredEvent_get_ReferToURI_Proxy(IRTCSessionReferredEvent *This,BSTR *pbstrReferoURI);
   4632   void __RPC_STUB IRTCSessionReferredEvent_get_ReferToURI_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4633   HRESULT WINAPI IRTCSessionReferredEvent_get_ReferCookie_Proxy(IRTCSessionReferredEvent *This,BSTR *pbstrReferCookie);
   4634   void __RPC_STUB IRTCSessionReferredEvent_get_ReferCookie_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4635   HRESULT WINAPI IRTCSessionReferredEvent_Accept_Proxy(IRTCSessionReferredEvent *This);
   4636   void __RPC_STUB IRTCSessionReferredEvent_Accept_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4637   HRESULT WINAPI IRTCSessionReferredEvent_Reject_Proxy(IRTCSessionReferredEvent *This);
   4638   void __RPC_STUB IRTCSessionReferredEvent_Reject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4639   HRESULT WINAPI IRTCSessionReferredEvent_SetReferredSessionState_Proxy(IRTCSessionReferredEvent *This,RTC_SESSION_STATE enState);
   4640   void __RPC_STUB IRTCSessionReferredEvent_SetReferredSessionState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4641 #endif
   4642 
   4643 #ifndef __IRTCSessionDescriptionManager_INTERFACE_DEFINED__
   4644 #define __IRTCSessionDescriptionManager_INTERFACE_DEFINED__
   4645   EXTERN_C const IID IID_IRTCSessionDescriptionManager;
   4646 #if defined(__cplusplus) && !defined(CINTERFACE)
   4647   struct IRTCSessionDescriptionManager : public IUnknown {
   4648   public:
   4649     virtual HRESULT WINAPI EvaluateSessionDescription(BSTR bstrContentType,BSTR bstrSessionDescription,VARIANT_BOOL *pfApplicationSession) = 0;
   4650   };
   4651 #else
   4652   typedef struct IRTCSessionDescriptionManagerVtbl {
   4653     BEGIN_INTERFACE
   4654       HRESULT (WINAPI *QueryInterface)(IRTCSessionDescriptionManager *This,REFIID riid,void **ppvObject);
   4655       ULONG (WINAPI *AddRef)(IRTCSessionDescriptionManager *This);
   4656       ULONG (WINAPI *Release)(IRTCSessionDescriptionManager *This);
   4657       HRESULT (WINAPI *EvaluateSessionDescription)(IRTCSessionDescriptionManager *This,BSTR bstrContentType,BSTR bstrSessionDescription,VARIANT_BOOL *pfApplicationSession);
   4658     END_INTERFACE
   4659   } IRTCSessionDescriptionManagerVtbl;
   4660   struct IRTCSessionDescriptionManager {
   4661     CONST_VTBL struct IRTCSessionDescriptionManagerVtbl *lpVtbl;
   4662   };
   4663 #ifdef COBJMACROS
   4664 #define IRTCSessionDescriptionManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4665 #define IRTCSessionDescriptionManager_AddRef(This) (This)->lpVtbl->AddRef(This)
   4666 #define IRTCSessionDescriptionManager_Release(This) (This)->lpVtbl->Release(This)
   4667 #define IRTCSessionDescriptionManager_EvaluateSessionDescription(This,bstrContentType,bstrSessionDescription,pfApplicationSession) (This)->lpVtbl->EvaluateSessionDescription(This,bstrContentType,bstrSessionDescription,pfApplicationSession)
   4668 #endif
   4669 #endif
   4670   HRESULT WINAPI IRTCSessionDescriptionManager_EvaluateSessionDescription_Proxy(IRTCSessionDescriptionManager *This,BSTR bstrContentType,BSTR bstrSessionDescription,VARIANT_BOOL *pfApplicationSession);
   4671   void __RPC_STUB IRTCSessionDescriptionManager_EvaluateSessionDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4672 #endif
   4673 
   4674 #ifndef __IRTCEnumPresenceDevices_INTERFACE_DEFINED__
   4675 #define __IRTCEnumPresenceDevices_INTERFACE_DEFINED__
   4676   EXTERN_C const IID IID_IRTCEnumPresenceDevices;
   4677 #if defined(__cplusplus) && !defined(CINTERFACE)
   4678   struct IRTCEnumPresenceDevices : public IUnknown {
   4679   public:
   4680     virtual HRESULT WINAPI Next(ULONG celt,IRTCPresenceDevice **ppElements,ULONG *pceltFetched) = 0;
   4681     virtual HRESULT WINAPI Reset(void) = 0;
   4682     virtual HRESULT WINAPI Skip(ULONG celt) = 0;
   4683     virtual HRESULT WINAPI Clone(IRTCEnumPresenceDevices **ppEnum) = 0;
   4684   };
   4685 #else
   4686   typedef struct IRTCEnumPresenceDevicesVtbl {
   4687     BEGIN_INTERFACE
   4688       HRESULT (WINAPI *QueryInterface)(IRTCEnumPresenceDevices *This,REFIID riid,void **ppvObject);
   4689       ULONG (WINAPI *AddRef)(IRTCEnumPresenceDevices *This);
   4690       ULONG (WINAPI *Release)(IRTCEnumPresenceDevices *This);
   4691       HRESULT (WINAPI *Next)(IRTCEnumPresenceDevices *This,ULONG celt,IRTCPresenceDevice **ppElements,ULONG *pceltFetched);
   4692       HRESULT (WINAPI *Reset)(IRTCEnumPresenceDevices *This);
   4693       HRESULT (WINAPI *Skip)(IRTCEnumPresenceDevices *This,ULONG celt);
   4694       HRESULT (WINAPI *Clone)(IRTCEnumPresenceDevices *This,IRTCEnumPresenceDevices **ppEnum);
   4695     END_INTERFACE
   4696   } IRTCEnumPresenceDevicesVtbl;
   4697   struct IRTCEnumPresenceDevices {
   4698     CONST_VTBL struct IRTCEnumPresenceDevicesVtbl *lpVtbl;
   4699   };
   4700 #ifdef COBJMACROS
   4701 #define IRTCEnumPresenceDevices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4702 #define IRTCEnumPresenceDevices_AddRef(This) (This)->lpVtbl->AddRef(This)
   4703 #define IRTCEnumPresenceDevices_Release(This) (This)->lpVtbl->Release(This)
   4704 #define IRTCEnumPresenceDevices_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched)
   4705 #define IRTCEnumPresenceDevices_Reset(This) (This)->lpVtbl->Reset(This)
   4706 #define IRTCEnumPresenceDevices_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
   4707 #define IRTCEnumPresenceDevices_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
   4708 #endif
   4709 #endif
   4710   HRESULT WINAPI IRTCEnumPresenceDevices_Next_Proxy(IRTCEnumPresenceDevices *This,ULONG celt,IRTCPresenceDevice **ppElements,ULONG *pceltFetched);
   4711   void __RPC_STUB IRTCEnumPresenceDevices_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4712   HRESULT WINAPI IRTCEnumPresenceDevices_Reset_Proxy(IRTCEnumPresenceDevices *This);
   4713   void __RPC_STUB IRTCEnumPresenceDevices_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4714   HRESULT WINAPI IRTCEnumPresenceDevices_Skip_Proxy(IRTCEnumPresenceDevices *This,ULONG celt);
   4715   void __RPC_STUB IRTCEnumPresenceDevices_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4716   HRESULT WINAPI IRTCEnumPresenceDevices_Clone_Proxy(IRTCEnumPresenceDevices *This,IRTCEnumPresenceDevices **ppEnum);
   4717   void __RPC_STUB IRTCEnumPresenceDevices_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4718 #endif
   4719 
   4720 #ifndef __IRTCPresenceDevice_INTERFACE_DEFINED__
   4721 #define __IRTCPresenceDevice_INTERFACE_DEFINED__
   4722   EXTERN_C const IID IID_IRTCPresenceDevice;
   4723 #if defined(__cplusplus) && !defined(CINTERFACE)
   4724   struct IRTCPresenceDevice : public IUnknown {
   4725   public:
   4726     virtual HRESULT WINAPI get_Status(RTC_PRESENCE_STATUS *penStatus) = 0;
   4727     virtual HRESULT WINAPI get_Notes(BSTR *pbstrNotes) = 0;
   4728     virtual HRESULT WINAPI get_PresenceProperty(RTC_PRESENCE_PROPERTY enProperty,BSTR *pbstrProperty) = 0;
   4729     virtual HRESULT WINAPI GetPresenceData(BSTR *pbstrNamespace,BSTR *pbstrData) = 0;
   4730   };
   4731 #else
   4732   typedef struct IRTCPresenceDeviceVtbl {
   4733     BEGIN_INTERFACE
   4734       HRESULT (WINAPI *QueryInterface)(IRTCPresenceDevice *This,REFIID riid,void **ppvObject);
   4735       ULONG (WINAPI *AddRef)(IRTCPresenceDevice *This);
   4736       ULONG (WINAPI *Release)(IRTCPresenceDevice *This);
   4737       HRESULT (WINAPI *get_Status)(IRTCPresenceDevice *This,RTC_PRESENCE_STATUS *penStatus);
   4738       HRESULT (WINAPI *get_Notes)(IRTCPresenceDevice *This,BSTR *pbstrNotes);
   4739       HRESULT (WINAPI *get_PresenceProperty)(IRTCPresenceDevice *This,RTC_PRESENCE_PROPERTY enProperty,BSTR *pbstrProperty);
   4740       HRESULT (WINAPI *GetPresenceData)(IRTCPresenceDevice *This,BSTR *pbstrNamespace,BSTR *pbstrData);
   4741     END_INTERFACE
   4742   } IRTCPresenceDeviceVtbl;
   4743   struct IRTCPresenceDevice {
   4744     CONST_VTBL struct IRTCPresenceDeviceVtbl *lpVtbl;
   4745   };
   4746 #ifdef COBJMACROS
   4747 #define IRTCPresenceDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4748 #define IRTCPresenceDevice_AddRef(This) (This)->lpVtbl->AddRef(This)
   4749 #define IRTCPresenceDevice_Release(This) (This)->lpVtbl->Release(This)
   4750 #define IRTCPresenceDevice_get_Status(This,penStatus) (This)->lpVtbl->get_Status(This,penStatus)
   4751 #define IRTCPresenceDevice_get_Notes(This,pbstrNotes) (This)->lpVtbl->get_Notes(This,pbstrNotes)
   4752 #define IRTCPresenceDevice_get_PresenceProperty(This,enProperty,pbstrProperty) (This)->lpVtbl->get_PresenceProperty(This,enProperty,pbstrProperty)
   4753 #define IRTCPresenceDevice_GetPresenceData(This,pbstrNamespace,pbstrData) (This)->lpVtbl->GetPresenceData(This,pbstrNamespace,pbstrData)
   4754 #endif
   4755 #endif
   4756   HRESULT WINAPI IRTCPresenceDevice_get_Status_Proxy(IRTCPresenceDevice *This,RTC_PRESENCE_STATUS *penStatus);
   4757   void __RPC_STUB IRTCPresenceDevice_get_Status_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4758   HRESULT WINAPI IRTCPresenceDevice_get_Notes_Proxy(IRTCPresenceDevice *This,BSTR *pbstrNotes);
   4759   void __RPC_STUB IRTCPresenceDevice_get_Notes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4760   HRESULT WINAPI IRTCPresenceDevice_get_PresenceProperty_Proxy(IRTCPresenceDevice *This,RTC_PRESENCE_PROPERTY enProperty,BSTR *pbstrProperty);
   4761   void __RPC_STUB IRTCPresenceDevice_get_PresenceProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4762   HRESULT WINAPI IRTCPresenceDevice_GetPresenceData_Proxy(IRTCPresenceDevice *This,BSTR *pbstrNamespace,BSTR *pbstrData);
   4763   void __RPC_STUB IRTCPresenceDevice_GetPresenceData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   4764 #endif
   4765 
   4766 #ifndef __RTCCORELib_LIBRARY_DEFINED__
   4767 #define __RTCCORELib_LIBRARY_DEFINED__
   4768   EXTERN_C const IID LIBID_RTCCORELib;
   4769 #ifndef __IRTCDispatchEventNotification_DISPINTERFACE_DEFINED__
   4770 #define __IRTCDispatchEventNotification_DISPINTERFACE_DEFINED__
   4771   EXTERN_C const IID DIID_IRTCDispatchEventNotification;
   4772 #if defined(__cplusplus) && !defined(CINTERFACE)
   4773   struct IRTCDispatchEventNotification : public IDispatch {
   4774   };
   4775 #else
   4776   typedef struct IRTCDispatchEventNotificationVtbl {
   4777     BEGIN_INTERFACE
   4778       HRESULT (WINAPI *QueryInterface)(IRTCDispatchEventNotification *This,REFIID riid,void **ppvObject);
   4779       ULONG (WINAPI *AddRef)(IRTCDispatchEventNotification *This);
   4780       ULONG (WINAPI *Release)(IRTCDispatchEventNotification *This);
   4781       HRESULT (WINAPI *GetTypeInfoCount)(IRTCDispatchEventNotification *This,UINT *pctinfo);
   4782       HRESULT (WINAPI *GetTypeInfo)(IRTCDispatchEventNotification *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   4783       HRESULT (WINAPI *GetIDsOfNames)(IRTCDispatchEventNotification *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   4784       HRESULT (WINAPI *Invoke)(IRTCDispatchEventNotification *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   4785     END_INTERFACE
   4786   } IRTCDispatchEventNotificationVtbl;
   4787   struct IRTCDispatchEventNotification {
   4788     CONST_VTBL struct IRTCDispatchEventNotificationVtbl *lpVtbl;
   4789   };
   4790 #ifdef COBJMACROS
   4791 #define IRTCDispatchEventNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4792 #define IRTCDispatchEventNotification_AddRef(This) (This)->lpVtbl->AddRef(This)
   4793 #define IRTCDispatchEventNotification_Release(This) (This)->lpVtbl->Release(This)
   4794 #define IRTCDispatchEventNotification_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   4795 #define IRTCDispatchEventNotification_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   4796 #define IRTCDispatchEventNotification_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   4797 #define IRTCDispatchEventNotification_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   4798 #endif
   4799 #endif
   4800 #endif
   4801 
   4802   EXTERN_C const CLSID CLSID_RTCClient;
   4803 #ifdef __cplusplus
   4804   class RTCClient;
   4805 #endif
   4806 #endif
   4807 
   4808   ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *);
   4809   unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *);
   4810   unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *);
   4811   void __RPC_API BSTR_UserFree(ULONG *,BSTR *);
   4812   ULONG __RPC_API VARIANT_UserSize(ULONG *,ULONG,VARIANT *);
   4813   unsigned char *__RPC_API VARIANT_UserMarshal(ULONG *,unsigned char *,VARIANT *);
   4814   unsigned char *__RPC_API VARIANT_UserUnmarshal(ULONG *,unsigned char *,VARIANT *);
   4815   void __RPC_API VARIANT_UserFree(ULONG *,VARIANT *);
   4816 
   4817 #ifdef __cplusplus
   4818 }
   4819 #endif
   4820 #endif
   4821