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__
27typedef struct IRTCClient IRTCClient;
28#endif
29
30#ifndef __IRTCClient2_FWD_DEFINED__
31#define __IRTCClient2_FWD_DEFINED__
32typedef struct IRTCClient2 IRTCClient2;
33#endif
34
35#ifndef __IRTCClientPresence_FWD_DEFINED__
36#define __IRTCClientPresence_FWD_DEFINED__
37typedef struct IRTCClientPresence IRTCClientPresence;
38#endif
39
40#ifndef __IRTCClientPresence2_FWD_DEFINED__
41#define __IRTCClientPresence2_FWD_DEFINED__
42typedef struct IRTCClientPresence2 IRTCClientPresence2;
43#endif
44
45#ifndef __IRTCClientProvisioning_FWD_DEFINED__
46#define __IRTCClientProvisioning_FWD_DEFINED__
47typedef struct IRTCClientProvisioning IRTCClientProvisioning;
48#endif
49
50#ifndef __IRTCClientProvisioning2_FWD_DEFINED__
51#define __IRTCClientProvisioning2_FWD_DEFINED__
52typedef struct IRTCClientProvisioning2 IRTCClientProvisioning2;
53#endif
54
55#ifndef __IRTCProfile_FWD_DEFINED__
56#define __IRTCProfile_FWD_DEFINED__
57typedef struct IRTCProfile IRTCProfile;
58#endif
59
60#ifndef __IRTCProfile2_FWD_DEFINED__
61#define __IRTCProfile2_FWD_DEFINED__
62typedef struct IRTCProfile2 IRTCProfile2;
63#endif
64
65#ifndef __IRTCSession_FWD_DEFINED__
66#define __IRTCSession_FWD_DEFINED__
67typedef struct IRTCSession IRTCSession;
68#endif
69
70#ifndef __IRTCSession2_FWD_DEFINED__
71#define __IRTCSession2_FWD_DEFINED__
72typedef struct IRTCSession2 IRTCSession2;
73#endif
74
75#ifndef __IRTCSessionCallControl_FWD_DEFINED__
76#define __IRTCSessionCallControl_FWD_DEFINED__
77typedef struct IRTCSessionCallControl IRTCSessionCallControl;
78#endif
79
80#ifndef __IRTCParticipant_FWD_DEFINED__
81#define __IRTCParticipant_FWD_DEFINED__
82typedef struct IRTCParticipant IRTCParticipant;
83#endif
84
85#ifndef __IRTCRoamingEvent_FWD_DEFINED__
86#define __IRTCRoamingEvent_FWD_DEFINED__
87typedef struct IRTCRoamingEvent IRTCRoamingEvent;
88#endif
89
90#ifndef __IRTCProfileEvent_FWD_DEFINED__
91#define __IRTCProfileEvent_FWD_DEFINED__
92typedef struct IRTCProfileEvent IRTCProfileEvent;
93#endif
94
95#ifndef __IRTCProfileEvent2_FWD_DEFINED__
96#define __IRTCProfileEvent2_FWD_DEFINED__
97typedef struct IRTCProfileEvent2 IRTCProfileEvent2;
98#endif
99
100#ifndef __IRTCClientEvent_FWD_DEFINED__
101#define __IRTCClientEvent_FWD_DEFINED__
102typedef struct IRTCClientEvent IRTCClientEvent;
103#endif
104
105#ifndef __IRTCRegistrationStateChangeEvent_FWD_DEFINED__
106#define __IRTCRegistrationStateChangeEvent_FWD_DEFINED__
107typedef struct IRTCRegistrationStateChangeEvent IRTCRegistrationStateChangeEvent;
108#endif
109
110#ifndef __IRTCSessionStateChangeEvent_FWD_DEFINED__
111#define __IRTCSessionStateChangeEvent_FWD_DEFINED__
112typedef struct IRTCSessionStateChangeEvent IRTCSessionStateChangeEvent;
113#endif
114
115#ifndef __IRTCSessionStateChangeEvent2_FWD_DEFINED__
116#define __IRTCSessionStateChangeEvent2_FWD_DEFINED__
117typedef struct IRTCSessionStateChangeEvent2 IRTCSessionStateChangeEvent2;
118#endif
119
120#ifndef __IRTCSessionOperationCompleteEvent_FWD_DEFINED__
121#define __IRTCSessionOperationCompleteEvent_FWD_DEFINED__
122typedef struct IRTCSessionOperationCompleteEvent IRTCSessionOperationCompleteEvent;
123#endif
124
125#ifndef __IRTCSessionOperationCompleteEvent2_FWD_DEFINED__
126#define __IRTCSessionOperationCompleteEvent2_FWD_DEFINED__
127typedef struct IRTCSessionOperationCompleteEvent2 IRTCSessionOperationCompleteEvent2;
128#endif
129
130#ifndef __IRTCParticipantStateChangeEvent_FWD_DEFINED__
131#define __IRTCParticipantStateChangeEvent_FWD_DEFINED__
132typedef struct IRTCParticipantStateChangeEvent IRTCParticipantStateChangeEvent;
133#endif
134
135#ifndef __IRTCMediaEvent_FWD_DEFINED__
136#define __IRTCMediaEvent_FWD_DEFINED__
137typedef struct IRTCMediaEvent IRTCMediaEvent;
138#endif
139
140#ifndef __IRTCIntensityEvent_FWD_DEFINED__
141#define __IRTCIntensityEvent_FWD_DEFINED__
142typedef struct IRTCIntensityEvent IRTCIntensityEvent;
143#endif
144
145#ifndef __IRTCMessagingEvent_FWD_DEFINED__
146#define __IRTCMessagingEvent_FWD_DEFINED__
147typedef struct IRTCMessagingEvent IRTCMessagingEvent;
148#endif
149
150#ifndef __IRTCBuddyEvent_FWD_DEFINED__
151#define __IRTCBuddyEvent_FWD_DEFINED__
152typedef struct IRTCBuddyEvent IRTCBuddyEvent;
153#endif
154
155#ifndef __IRTCBuddyEvent2_FWD_DEFINED__
156#define __IRTCBuddyEvent2_FWD_DEFINED__
157typedef struct IRTCBuddyEvent2 IRTCBuddyEvent2;
158#endif
159
160#ifndef __IRTCWatcherEvent_FWD_DEFINED__
161#define __IRTCWatcherEvent_FWD_DEFINED__
162typedef struct IRTCWatcherEvent IRTCWatcherEvent;
163#endif
164
165#ifndef __IRTCWatcherEvent2_FWD_DEFINED__
166#define __IRTCWatcherEvent2_FWD_DEFINED__
167typedef struct IRTCWatcherEvent2 IRTCWatcherEvent2;
168#endif
169
170#ifndef __IRTCBuddyGroupEvent_FWD_DEFINED__
171#define __IRTCBuddyGroupEvent_FWD_DEFINED__
172typedef struct IRTCBuddyGroupEvent IRTCBuddyGroupEvent;
173#endif
174
175#ifndef __IRTCInfoEvent_FWD_DEFINED__
176#define __IRTCInfoEvent_FWD_DEFINED__
177typedef struct IRTCInfoEvent IRTCInfoEvent;
178#endif
179
180#ifndef __IRTCMediaRequestEvent_FWD_DEFINED__
181#define __IRTCMediaRequestEvent_FWD_DEFINED__
182typedef struct IRTCMediaRequestEvent IRTCMediaRequestEvent;
183#endif
184
185#ifndef __IRTCReInviteEvent_FWD_DEFINED__
186#define __IRTCReInviteEvent_FWD_DEFINED__
187typedef struct IRTCReInviteEvent IRTCReInviteEvent;
188#endif
189
190#ifndef __IRTCPresencePropertyEvent_FWD_DEFINED__
191#define __IRTCPresencePropertyEvent_FWD_DEFINED__
192typedef struct IRTCPresencePropertyEvent IRTCPresencePropertyEvent;
193#endif
194
195#ifndef __IRTCPresenceDataEvent_FWD_DEFINED__
196#define __IRTCPresenceDataEvent_FWD_DEFINED__
197typedef struct IRTCPresenceDataEvent IRTCPresenceDataEvent;
198#endif
199
200#ifndef __IRTCPresenceStatusEvent_FWD_DEFINED__
201#define __IRTCPresenceStatusEvent_FWD_DEFINED__
202typedef struct IRTCPresenceStatusEvent IRTCPresenceStatusEvent;
203#endif
204
205#ifndef __IRTCCollection_FWD_DEFINED__
206#define __IRTCCollection_FWD_DEFINED__
207typedef struct IRTCCollection IRTCCollection;
208#endif
209
210#ifndef __IRTCEnumParticipants_FWD_DEFINED__
211#define __IRTCEnumParticipants_FWD_DEFINED__
212typedef struct IRTCEnumParticipants IRTCEnumParticipants;
213#endif
214
215#ifndef __IRTCEnumProfiles_FWD_DEFINED__
216#define __IRTCEnumProfiles_FWD_DEFINED__
217typedef struct IRTCEnumProfiles IRTCEnumProfiles;
218#endif
219
220#ifndef __IRTCEnumBuddies_FWD_DEFINED__
221#define __IRTCEnumBuddies_FWD_DEFINED__
222typedef struct IRTCEnumBuddies IRTCEnumBuddies;
223#endif
224
225#ifndef __IRTCEnumWatchers_FWD_DEFINED__
226#define __IRTCEnumWatchers_FWD_DEFINED__
227typedef struct IRTCEnumWatchers IRTCEnumWatchers;
228#endif
229
230#ifndef __IRTCEnumGroups_FWD_DEFINED__
231#define __IRTCEnumGroups_FWD_DEFINED__
232typedef struct IRTCEnumGroups IRTCEnumGroups;
233#endif
234
235#ifndef __IRTCPresenceContact_FWD_DEFINED__
236#define __IRTCPresenceContact_FWD_DEFINED__
237typedef struct IRTCPresenceContact IRTCPresenceContact;
238#endif
239
240#ifndef __IRTCBuddy_FWD_DEFINED__
241#define __IRTCBuddy_FWD_DEFINED__
242typedef struct IRTCBuddy IRTCBuddy;
243#endif
244
245#ifndef __IRTCBuddy2_FWD_DEFINED__
246#define __IRTCBuddy2_FWD_DEFINED__
247typedef struct IRTCBuddy2 IRTCBuddy2;
248#endif
249
250#ifndef __IRTCWatcher_FWD_DEFINED__
251#define __IRTCWatcher_FWD_DEFINED__
252typedef struct IRTCWatcher IRTCWatcher;
253#endif
254
255#ifndef __IRTCWatcher2_FWD_DEFINED__
256#define __IRTCWatcher2_FWD_DEFINED__
257typedef struct IRTCWatcher2 IRTCWatcher2;
258#endif
259
260#ifndef __IRTCBuddyGroup_FWD_DEFINED__
261#define __IRTCBuddyGroup_FWD_DEFINED__
262typedef struct IRTCBuddyGroup IRTCBuddyGroup;
263#endif
264
265#ifndef __IRTCEventNotification_FWD_DEFINED__
266#define __IRTCEventNotification_FWD_DEFINED__
267typedef struct IRTCEventNotification IRTCEventNotification;
268#endif
269
270#ifndef __IRTCDispatchEventNotification_FWD_DEFINED__
271#define __IRTCDispatchEventNotification_FWD_DEFINED__
272typedef struct IRTCDispatchEventNotification IRTCDispatchEventNotification;
273#endif
274
275#ifndef __IRTCPortManager_FWD_DEFINED__
276#define __IRTCPortManager_FWD_DEFINED__
277typedef struct IRTCPortManager IRTCPortManager;
278#endif
279
280#ifndef __IRTCSessionPortManagement_FWD_DEFINED__
281#define __IRTCSessionPortManagement_FWD_DEFINED__
282typedef struct IRTCSessionPortManagement IRTCSessionPortManagement;
283#endif
284
285#ifndef __IRTCClientPortManagement_FWD_DEFINED__
286#define __IRTCClientPortManagement_FWD_DEFINED__
287typedef struct IRTCClientPortManagement IRTCClientPortManagement;
288#endif
289
290#ifndef __IRTCUserSearch_FWD_DEFINED__
291#define __IRTCUserSearch_FWD_DEFINED__
292typedef struct IRTCUserSearch IRTCUserSearch;
293#endif
294
295#ifndef __IRTCUserSearchQuery_FWD_DEFINED__
296#define __IRTCUserSearchQuery_FWD_DEFINED__
297typedef struct IRTCUserSearchQuery IRTCUserSearchQuery;
298#endif
299
300#ifndef __IRTCUserSearchResult_FWD_DEFINED__
301#define __IRTCUserSearchResult_FWD_DEFINED__
302typedef struct IRTCUserSearchResult IRTCUserSearchResult;
303#endif
304
305#ifndef __IRTCEnumUserSearchResults_FWD_DEFINED__
306#define __IRTCEnumUserSearchResults_FWD_DEFINED__
307typedef struct IRTCEnumUserSearchResults IRTCEnumUserSearchResults;
308#endif
309
310#ifndef __IRTCUserSearchResultsEvent_FWD_DEFINED__
311#define __IRTCUserSearchResultsEvent_FWD_DEFINED__
312typedef struct IRTCUserSearchResultsEvent IRTCUserSearchResultsEvent;
313#endif
314
315#ifndef __IRTCSessionReferStatusEvent_FWD_DEFINED__
316#define __IRTCSessionReferStatusEvent_FWD_DEFINED__
317typedef struct IRTCSessionReferStatusEvent IRTCSessionReferStatusEvent;
318#endif
319
320#ifndef __IRTCSessionReferredEvent_FWD_DEFINED__
321#define __IRTCSessionReferredEvent_FWD_DEFINED__
322typedef struct IRTCSessionReferredEvent IRTCSessionReferredEvent;
323#endif
324
325#ifndef __IRTCSessionDescriptionManager_FWD_DEFINED__
326#define __IRTCSessionDescriptionManager_FWD_DEFINED__
327typedef struct IRTCSessionDescriptionManager IRTCSessionDescriptionManager;
328#endif
329
330#ifndef __IRTCEnumPresenceDevices_FWD_DEFINED__
331#define __IRTCEnumPresenceDevices_FWD_DEFINED__
332typedef struct IRTCEnumPresenceDevices IRTCEnumPresenceDevices;
333#endif
334
335#ifndef __IRTCPresenceDevice_FWD_DEFINED__
336#define __IRTCPresenceDevice_FWD_DEFINED__
337typedef struct IRTCPresenceDevice IRTCPresenceDevice;
338#endif
339
340#ifndef __IRTCProfile_FWD_DEFINED__
341#define __IRTCProfile_FWD_DEFINED__
342typedef struct IRTCProfile IRTCProfile;
343#endif
344
345#ifndef __IRTCProfile2_FWD_DEFINED__
346#define __IRTCProfile2_FWD_DEFINED__
347typedef struct IRTCProfile2 IRTCProfile2;
348#endif
349
350#ifndef __IRTCEnumProfiles_FWD_DEFINED__
351#define __IRTCEnumProfiles_FWD_DEFINED__
352typedef struct IRTCEnumProfiles IRTCEnumProfiles;
353#endif
354
355#ifndef __IRTCSession_FWD_DEFINED__
356#define __IRTCSession_FWD_DEFINED__
357typedef struct IRTCSession IRTCSession;
358#endif
359
360#ifndef __IRTCSession2_FWD_DEFINED__
361#define __IRTCSession2_FWD_DEFINED__
362typedef struct IRTCSession2 IRTCSession2;
363#endif
364
365#ifndef __IRTCSessionCallControl_FWD_DEFINED__
366#define __IRTCSessionCallControl_FWD_DEFINED__
367typedef struct IRTCSessionCallControl IRTCSessionCallControl;
368#endif
369
370#ifndef __IRTCParticipant_FWD_DEFINED__
371#define __IRTCParticipant_FWD_DEFINED__
372typedef struct IRTCParticipant IRTCParticipant;
373#endif
374
375#ifndef __IRTCEnumParticipants_FWD_DEFINED__
376#define __IRTCEnumParticipants_FWD_DEFINED__
377typedef struct IRTCEnumParticipants IRTCEnumParticipants;
378#endif
379
380#ifndef __IRTCCollection_FWD_DEFINED__
381#define __IRTCCollection_FWD_DEFINED__
382typedef struct IRTCCollection IRTCCollection;
383#endif
384
385#ifndef __IRTCPresenceContact_FWD_DEFINED__
386#define __IRTCPresenceContact_FWD_DEFINED__
387typedef struct IRTCPresenceContact IRTCPresenceContact;
388#endif
389
390#ifndef __IRTCBuddy_FWD_DEFINED__
391#define __IRTCBuddy_FWD_DEFINED__
392typedef struct IRTCBuddy IRTCBuddy;
393#endif
394
395#ifndef __IRTCBuddy2_FWD_DEFINED__
396#define __IRTCBuddy2_FWD_DEFINED__
397typedef struct IRTCBuddy2 IRTCBuddy2;
398#endif
399
400#ifndef __IRTCEnumBuddies_FWD_DEFINED__
401#define __IRTCEnumBuddies_FWD_DEFINED__
402typedef struct IRTCEnumBuddies IRTCEnumBuddies;
403#endif
404
405#ifndef __IRTCWatcher_FWD_DEFINED__
406#define __IRTCWatcher_FWD_DEFINED__
407typedef struct IRTCWatcher IRTCWatcher;
408#endif
409
410#ifndef __IRTCWatcher2_FWD_DEFINED__
411#define __IRTCWatcher2_FWD_DEFINED__
412typedef struct IRTCWatcher2 IRTCWatcher2;
413#endif
414
415#ifndef __IRTCEnumWatchers_FWD_DEFINED__
416#define __IRTCEnumWatchers_FWD_DEFINED__
417typedef struct IRTCEnumWatchers IRTCEnumWatchers;
418#endif
419
420#ifndef __IRTCBuddyGroup_FWD_DEFINED__
421#define __IRTCBuddyGroup_FWD_DEFINED__
422typedef struct IRTCBuddyGroup IRTCBuddyGroup;
423#endif
424
425#ifndef __IRTCEnumGroups_FWD_DEFINED__
426#define __IRTCEnumGroups_FWD_DEFINED__
427typedef struct IRTCEnumGroups IRTCEnumGroups;
428#endif
429
430#ifndef __IRTCUserSearchQuery_FWD_DEFINED__
431#define __IRTCUserSearchQuery_FWD_DEFINED__
432typedef struct IRTCUserSearchQuery IRTCUserSearchQuery;
433#endif
434
435#ifndef __IRTCUserSearchResult_FWD_DEFINED__
436#define __IRTCUserSearchResult_FWD_DEFINED__
437typedef struct IRTCUserSearchResult IRTCUserSearchResult;
438#endif
439
440#ifndef __IRTCEnumUserSearchResults_FWD_DEFINED__
441#define __IRTCEnumUserSearchResults_FWD_DEFINED__
442typedef struct IRTCEnumUserSearchResults IRTCEnumUserSearchResults;
443#endif
444
445#ifndef __IRTCEventNotification_FWD_DEFINED__
446#define __IRTCEventNotification_FWD_DEFINED__
447typedef struct IRTCEventNotification IRTCEventNotification;
448#endif
449
450#ifndef __IRTCClientEvent_FWD_DEFINED__
451#define __IRTCClientEvent_FWD_DEFINED__
452typedef struct IRTCClientEvent IRTCClientEvent;
453#endif
454
455#ifndef __IRTCRegistrationStateChangeEvent_FWD_DEFINED__
456#define __IRTCRegistrationStateChangeEvent_FWD_DEFINED__
457typedef struct IRTCRegistrationStateChangeEvent IRTCRegistrationStateChangeEvent;
458#endif
459
460#ifndef __IRTCSessionStateChangeEvent_FWD_DEFINED__
461#define __IRTCSessionStateChangeEvent_FWD_DEFINED__
462typedef struct IRTCSessionStateChangeEvent IRTCSessionStateChangeEvent;
463#endif
464
465#ifndef __IRTCSessionStateChangeEvent2_FWD_DEFINED__
466#define __IRTCSessionStateChangeEvent2_FWD_DEFINED__
467typedef struct IRTCSessionStateChangeEvent2 IRTCSessionStateChangeEvent2;
468#endif
469
470#ifndef __IRTCSessionOperationCompleteEvent_FWD_DEFINED__
471#define __IRTCSessionOperationCompleteEvent_FWD_DEFINED__
472typedef struct IRTCSessionOperationCompleteEvent IRTCSessionOperationCompleteEvent;
473#endif
474
475#ifndef __IRTCSessionOperationCompleteEvent2_FWD_DEFINED__
476#define __IRTCSessionOperationCompleteEvent2_FWD_DEFINED__
477typedef struct IRTCSessionOperationCompleteEvent2 IRTCSessionOperationCompleteEvent2;
478#endif
479
480#ifndef __IRTCParticipantStateChangeEvent_FWD_DEFINED__
481#define __IRTCParticipantStateChangeEvent_FWD_DEFINED__
482typedef struct IRTCParticipantStateChangeEvent IRTCParticipantStateChangeEvent;
483#endif
484
485#ifndef __IRTCMediaEvent_FWD_DEFINED__
486#define __IRTCMediaEvent_FWD_DEFINED__
487typedef struct IRTCMediaEvent IRTCMediaEvent;
488#endif
489
490#ifndef __IRTCIntensityEvent_FWD_DEFINED__
491#define __IRTCIntensityEvent_FWD_DEFINED__
492typedef struct IRTCIntensityEvent IRTCIntensityEvent;
493#endif
494
495#ifndef __IRTCMessagingEvent_FWD_DEFINED__
496#define __IRTCMessagingEvent_FWD_DEFINED__
497typedef struct IRTCMessagingEvent IRTCMessagingEvent;
498#endif
499
500#ifndef __IRTCBuddyEvent_FWD_DEFINED__
501#define __IRTCBuddyEvent_FWD_DEFINED__
502typedef struct IRTCBuddyEvent IRTCBuddyEvent;
503#endif
504
505#ifndef __IRTCBuddyEvent2_FWD_DEFINED__
506#define __IRTCBuddyEvent2_FWD_DEFINED__
507typedef struct IRTCBuddyEvent2 IRTCBuddyEvent2;
508#endif
509
510#ifndef __IRTCWatcherEvent_FWD_DEFINED__
511#define __IRTCWatcherEvent_FWD_DEFINED__
512typedef struct IRTCWatcherEvent IRTCWatcherEvent;
513#endif
514
515#ifndef __IRTCPortManager_FWD_DEFINED__
516#define __IRTCPortManager_FWD_DEFINED__
517typedef struct IRTCPortManager IRTCPortManager;
518#endif
519
520#ifndef __IRTCSessionPortManagement_FWD_DEFINED__
521#define __IRTCSessionPortManagement_FWD_DEFINED__
522typedef struct IRTCSessionPortManagement IRTCSessionPortManagement;
523#endif
524
525#ifndef __IRTCClientPortManagement_FWD_DEFINED__
526#define __IRTCClientPortManagement_FWD_DEFINED__
527typedef struct IRTCClientPortManagement IRTCClientPortManagement;
528#endif
529
530#ifndef __IRTCWatcherEvent2_FWD_DEFINED__
531#define __IRTCWatcherEvent2_FWD_DEFINED__
532typedef struct IRTCWatcherEvent2 IRTCWatcherEvent2;
533#endif
534
535#ifndef __IRTCBuddyGroupEvent_FWD_DEFINED__
536#define __IRTCBuddyGroupEvent_FWD_DEFINED__
537typedef struct IRTCBuddyGroupEvent IRTCBuddyGroupEvent;
538#endif
539
540#ifndef __IRTCProfileEvent_FWD_DEFINED__
541#define __IRTCProfileEvent_FWD_DEFINED__
542typedef struct IRTCProfileEvent IRTCProfileEvent;
543#endif
544
545#ifndef __IRTCProfileEvent2_FWD_DEFINED__
546#define __IRTCProfileEvent2_FWD_DEFINED__
547typedef struct IRTCProfileEvent2 IRTCProfileEvent2;
548#endif
549
550#ifndef __IRTCUserSearchResultsEvent_FWD_DEFINED__
551#define __IRTCUserSearchResultsEvent_FWD_DEFINED__
552typedef struct IRTCUserSearchResultsEvent IRTCUserSearchResultsEvent;
553#endif
554
555#ifndef __IRTCInfoEvent_FWD_DEFINED__
556#define __IRTCInfoEvent_FWD_DEFINED__
557typedef struct IRTCInfoEvent IRTCInfoEvent;
558#endif
559
560#ifndef __IRTCRoamingEvent_FWD_DEFINED__
561#define __IRTCRoamingEvent_FWD_DEFINED__
562typedef struct IRTCRoamingEvent IRTCRoamingEvent;
563#endif
564
565#ifndef __IRTCMediaRequestEvent_FWD_DEFINED__
566#define __IRTCMediaRequestEvent_FWD_DEFINED__
567typedef struct IRTCMediaRequestEvent IRTCMediaRequestEvent;
568#endif
569
570#ifndef __IRTCReInviteEvent_FWD_DEFINED__
571#define __IRTCReInviteEvent_FWD_DEFINED__
572typedef struct IRTCReInviteEvent IRTCReInviteEvent;
573#endif
574
575#ifndef __IRTCPresencePropertyEvent_FWD_DEFINED__
576#define __IRTCPresencePropertyEvent_FWD_DEFINED__
577typedef struct IRTCPresencePropertyEvent IRTCPresencePropertyEvent;
578#endif
579
580#ifndef __IRTCPresenceDataEvent_FWD_DEFINED__
581#define __IRTCPresenceDataEvent_FWD_DEFINED__
582typedef struct IRTCPresenceDataEvent IRTCPresenceDataEvent;
583#endif
584
585#ifndef __IRTCPresenceStatusEvent_FWD_DEFINED__
586#define __IRTCPresenceStatusEvent_FWD_DEFINED__
587typedef struct IRTCPresenceStatusEvent IRTCPresenceStatusEvent;
588#endif
589
590#ifndef __IRTCSessionReferStatusEvent_FWD_DEFINED__
591#define __IRTCSessionReferStatusEvent_FWD_DEFINED__
592typedef struct IRTCSessionReferStatusEvent IRTCSessionReferStatusEvent;
593#endif
594
595#ifndef __IRTCSessionReferredEvent_FWD_DEFINED__
596#define __IRTCSessionReferredEvent_FWD_DEFINED__
597typedef struct IRTCSessionReferredEvent IRTCSessionReferredEvent;
598#endif
599
600#ifndef __IRTCSessionDescriptionManager_FWD_DEFINED__
601#define __IRTCSessionDescriptionManager_FWD_DEFINED__
602typedef struct IRTCSessionDescriptionManager IRTCSessionDescriptionManager;
603#endif
604
605#ifndef __IRTCEnumPresenceDevices_FWD_DEFINED__
606#define __IRTCEnumPresenceDevices_FWD_DEFINED__
607typedef struct IRTCEnumPresenceDevices IRTCEnumPresenceDevices;
608#endif
609
610#ifndef __IRTCPresenceDevice_FWD_DEFINED__
611#define __IRTCPresenceDevice_FWD_DEFINED__
612typedef struct IRTCPresenceDevice IRTCPresenceDevice;
613#endif
614
615#ifndef __IRTCDispatchEventNotification_FWD_DEFINED__
616#define __IRTCDispatchEventNotification_FWD_DEFINED__
617typedef struct IRTCDispatchEventNotification IRTCDispatchEventNotification;
618#endif
619
620#ifndef __RTCClient_FWD_DEFINED__
621#define __RTCClient_FWD_DEFINED__
622#ifdef __cplusplus
623typedef class RTCClient RTCClient;
624#else
625typedef struct RTCClient RTCClient;
626#endif
627#endif
628
629#include "oaidl.h"
630#include "ocidl.h"
631#include "control.h"
632#ifdef __cplusplus
633extern "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