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