rtccore.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:236k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for rtccore.idl:
  5.     Oicf, W1, Zp8, env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext, robust
  7.     error checks: allocation ref bounds_check enum stub_data 
  8.     VC __declspec() decoration level: 
  9.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10.          DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __rtccore_h__
  27. #define __rtccore_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __IRTCClient_FWD_DEFINED__
  33. #define __IRTCClient_FWD_DEFINED__
  34. typedef interface IRTCClient IRTCClient;
  35. #endif  /* __IRTCClient_FWD_DEFINED__ */
  36. #ifndef __IRTCClientPresence_FWD_DEFINED__
  37. #define __IRTCClientPresence_FWD_DEFINED__
  38. typedef interface IRTCClientPresence IRTCClientPresence;
  39. #endif  /* __IRTCClientPresence_FWD_DEFINED__ */
  40. #ifndef __IRTCClientProvisioning_FWD_DEFINED__
  41. #define __IRTCClientProvisioning_FWD_DEFINED__
  42. typedef interface IRTCClientProvisioning IRTCClientProvisioning;
  43. #endif  /* __IRTCClientProvisioning_FWD_DEFINED__ */
  44. #ifndef __IRTCProfile_FWD_DEFINED__
  45. #define __IRTCProfile_FWD_DEFINED__
  46. typedef interface IRTCProfile IRTCProfile;
  47. #endif  /* __IRTCProfile_FWD_DEFINED__ */
  48. #ifndef __IRTCSession_FWD_DEFINED__
  49. #define __IRTCSession_FWD_DEFINED__
  50. typedef interface IRTCSession IRTCSession;
  51. #endif  /* __IRTCSession_FWD_DEFINED__ */
  52. #ifndef __IRTCParticipant_FWD_DEFINED__
  53. #define __IRTCParticipant_FWD_DEFINED__
  54. typedef interface IRTCParticipant IRTCParticipant;
  55. #endif  /* __IRTCParticipant_FWD_DEFINED__ */
  56. #ifndef __IRTCProfileEvent_FWD_DEFINED__
  57. #define __IRTCProfileEvent_FWD_DEFINED__
  58. typedef interface IRTCProfileEvent IRTCProfileEvent;
  59. #endif  /* __IRTCProfileEvent_FWD_DEFINED__ */
  60. #ifndef __IRTCClientEvent_FWD_DEFINED__
  61. #define __IRTCClientEvent_FWD_DEFINED__
  62. typedef interface IRTCClientEvent IRTCClientEvent;
  63. #endif  /* __IRTCClientEvent_FWD_DEFINED__ */
  64. #ifndef __IRTCRegistrationStateChangeEvent_FWD_DEFINED__
  65. #define __IRTCRegistrationStateChangeEvent_FWD_DEFINED__
  66. typedef interface IRTCRegistrationStateChangeEvent IRTCRegistrationStateChangeEvent;
  67. #endif  /* __IRTCRegistrationStateChangeEvent_FWD_DEFINED__ */
  68. #ifndef __IRTCSessionStateChangeEvent_FWD_DEFINED__
  69. #define __IRTCSessionStateChangeEvent_FWD_DEFINED__
  70. typedef interface IRTCSessionStateChangeEvent IRTCSessionStateChangeEvent;
  71. #endif  /* __IRTCSessionStateChangeEvent_FWD_DEFINED__ */
  72. #ifndef __IRTCSessionOperationCompleteEvent_FWD_DEFINED__
  73. #define __IRTCSessionOperationCompleteEvent_FWD_DEFINED__
  74. typedef interface IRTCSessionOperationCompleteEvent IRTCSessionOperationCompleteEvent;
  75. #endif  /* __IRTCSessionOperationCompleteEvent_FWD_DEFINED__ */
  76. #ifndef __IRTCParticipantStateChangeEvent_FWD_DEFINED__
  77. #define __IRTCParticipantStateChangeEvent_FWD_DEFINED__
  78. typedef interface IRTCParticipantStateChangeEvent IRTCParticipantStateChangeEvent;
  79. #endif  /* __IRTCParticipantStateChangeEvent_FWD_DEFINED__ */
  80. #ifndef __IRTCMediaEvent_FWD_DEFINED__
  81. #define __IRTCMediaEvent_FWD_DEFINED__
  82. typedef interface IRTCMediaEvent IRTCMediaEvent;
  83. #endif  /* __IRTCMediaEvent_FWD_DEFINED__ */
  84. #ifndef __IRTCIntensityEvent_FWD_DEFINED__
  85. #define __IRTCIntensityEvent_FWD_DEFINED__
  86. typedef interface IRTCIntensityEvent IRTCIntensityEvent;
  87. #endif  /* __IRTCIntensityEvent_FWD_DEFINED__ */
  88. #ifndef __IRTCMessagingEvent_FWD_DEFINED__
  89. #define __IRTCMessagingEvent_FWD_DEFINED__
  90. typedef interface IRTCMessagingEvent IRTCMessagingEvent;
  91. #endif  /* __IRTCMessagingEvent_FWD_DEFINED__ */
  92. #ifndef __IRTCBuddyEvent_FWD_DEFINED__
  93. #define __IRTCBuddyEvent_FWD_DEFINED__
  94. typedef interface IRTCBuddyEvent IRTCBuddyEvent;
  95. #endif  /* __IRTCBuddyEvent_FWD_DEFINED__ */
  96. #ifndef __IRTCWatcherEvent_FWD_DEFINED__
  97. #define __IRTCWatcherEvent_FWD_DEFINED__
  98. typedef interface IRTCWatcherEvent IRTCWatcherEvent;
  99. #endif  /* __IRTCWatcherEvent_FWD_DEFINED__ */
  100. #ifndef __IRTCCollection_FWD_DEFINED__
  101. #define __IRTCCollection_FWD_DEFINED__
  102. typedef interface IRTCCollection IRTCCollection;
  103. #endif  /* __IRTCCollection_FWD_DEFINED__ */
  104. #ifndef __IRTCEnumParticipants_FWD_DEFINED__
  105. #define __IRTCEnumParticipants_FWD_DEFINED__
  106. typedef interface IRTCEnumParticipants IRTCEnumParticipants;
  107. #endif  /* __IRTCEnumParticipants_FWD_DEFINED__ */
  108. #ifndef __IRTCEnumProfiles_FWD_DEFINED__
  109. #define __IRTCEnumProfiles_FWD_DEFINED__
  110. typedef interface IRTCEnumProfiles IRTCEnumProfiles;
  111. #endif  /* __IRTCEnumProfiles_FWD_DEFINED__ */
  112. #ifndef __IRTCEnumBuddies_FWD_DEFINED__
  113. #define __IRTCEnumBuddies_FWD_DEFINED__
  114. typedef interface IRTCEnumBuddies IRTCEnumBuddies;
  115. #endif  /* __IRTCEnumBuddies_FWD_DEFINED__ */
  116. #ifndef __IRTCEnumWatchers_FWD_DEFINED__
  117. #define __IRTCEnumWatchers_FWD_DEFINED__
  118. typedef interface IRTCEnumWatchers IRTCEnumWatchers;
  119. #endif  /* __IRTCEnumWatchers_FWD_DEFINED__ */
  120. #ifndef __IRTCPresenceContact_FWD_DEFINED__
  121. #define __IRTCPresenceContact_FWD_DEFINED__
  122. typedef interface IRTCPresenceContact IRTCPresenceContact;
  123. #endif  /* __IRTCPresenceContact_FWD_DEFINED__ */
  124. #ifndef __IRTCBuddy_FWD_DEFINED__
  125. #define __IRTCBuddy_FWD_DEFINED__
  126. typedef interface IRTCBuddy IRTCBuddy;
  127. #endif  /* __IRTCBuddy_FWD_DEFINED__ */
  128. #ifndef __IRTCWatcher_FWD_DEFINED__
  129. #define __IRTCWatcher_FWD_DEFINED__
  130. typedef interface IRTCWatcher IRTCWatcher;
  131. #endif  /* __IRTCWatcher_FWD_DEFINED__ */
  132. #ifndef __IRTCEventNotification_FWD_DEFINED__
  133. #define __IRTCEventNotification_FWD_DEFINED__
  134. typedef interface IRTCEventNotification IRTCEventNotification;
  135. #endif  /* __IRTCEventNotification_FWD_DEFINED__ */
  136. #ifndef __IRTCDispatchEventNotification_FWD_DEFINED__
  137. #define __IRTCDispatchEventNotification_FWD_DEFINED__
  138. typedef interface IRTCDispatchEventNotification IRTCDispatchEventNotification;
  139. #endif  /* __IRTCDispatchEventNotification_FWD_DEFINED__ */
  140. #ifndef __IRTCProfile_FWD_DEFINED__
  141. #define __IRTCProfile_FWD_DEFINED__
  142. typedef interface IRTCProfile IRTCProfile;
  143. #endif  /* __IRTCProfile_FWD_DEFINED__ */
  144. #ifndef __IRTCSession_FWD_DEFINED__
  145. #define __IRTCSession_FWD_DEFINED__
  146. typedef interface IRTCSession IRTCSession;
  147. #endif  /* __IRTCSession_FWD_DEFINED__ */
  148. #ifndef __IRTCParticipant_FWD_DEFINED__
  149. #define __IRTCParticipant_FWD_DEFINED__
  150. typedef interface IRTCParticipant IRTCParticipant;
  151. #endif  /* __IRTCParticipant_FWD_DEFINED__ */
  152. #ifndef __IRTCEnumProfiles_FWD_DEFINED__
  153. #define __IRTCEnumProfiles_FWD_DEFINED__
  154. typedef interface IRTCEnumProfiles IRTCEnumProfiles;
  155. #endif  /* __IRTCEnumProfiles_FWD_DEFINED__ */
  156. #ifndef __IRTCEnumParticipants_FWD_DEFINED__
  157. #define __IRTCEnumParticipants_FWD_DEFINED__
  158. typedef interface IRTCEnumParticipants IRTCEnumParticipants;
  159. #endif  /* __IRTCEnumParticipants_FWD_DEFINED__ */
  160. #ifndef __IRTCCollection_FWD_DEFINED__
  161. #define __IRTCCollection_FWD_DEFINED__
  162. typedef interface IRTCCollection IRTCCollection;
  163. #endif  /* __IRTCCollection_FWD_DEFINED__ */
  164. #ifndef __IRTCEnumBuddies_FWD_DEFINED__
  165. #define __IRTCEnumBuddies_FWD_DEFINED__
  166. typedef interface IRTCEnumBuddies IRTCEnumBuddies;
  167. #endif  /* __IRTCEnumBuddies_FWD_DEFINED__ */
  168. #ifndef __IRTCPresenceContact_FWD_DEFINED__
  169. #define __IRTCPresenceContact_FWD_DEFINED__
  170. typedef interface IRTCPresenceContact IRTCPresenceContact;
  171. #endif  /* __IRTCPresenceContact_FWD_DEFINED__ */
  172. #ifndef __IRTCBuddy_FWD_DEFINED__
  173. #define __IRTCBuddy_FWD_DEFINED__
  174. typedef interface IRTCBuddy IRTCBuddy;
  175. #endif  /* __IRTCBuddy_FWD_DEFINED__ */
  176. #ifndef __IRTCEnumWatchers_FWD_DEFINED__
  177. #define __IRTCEnumWatchers_FWD_DEFINED__
  178. typedef interface IRTCEnumWatchers IRTCEnumWatchers;
  179. #endif  /* __IRTCEnumWatchers_FWD_DEFINED__ */
  180. #ifndef __IRTCWatcher_FWD_DEFINED__
  181. #define __IRTCWatcher_FWD_DEFINED__
  182. typedef interface IRTCWatcher IRTCWatcher;
  183. #endif  /* __IRTCWatcher_FWD_DEFINED__ */
  184. #ifndef __IRTCEventNotification_FWD_DEFINED__
  185. #define __IRTCEventNotification_FWD_DEFINED__
  186. typedef interface IRTCEventNotification IRTCEventNotification;
  187. #endif  /* __IRTCEventNotification_FWD_DEFINED__ */
  188. #ifndef __IRTCClientEvent_FWD_DEFINED__
  189. #define __IRTCClientEvent_FWD_DEFINED__
  190. typedef interface IRTCClientEvent IRTCClientEvent;
  191. #endif  /* __IRTCClientEvent_FWD_DEFINED__ */
  192. #ifndef __IRTCRegistrationStateChangeEvent_FWD_DEFINED__
  193. #define __IRTCRegistrationStateChangeEvent_FWD_DEFINED__
  194. typedef interface IRTCRegistrationStateChangeEvent IRTCRegistrationStateChangeEvent;
  195. #endif  /* __IRTCRegistrationStateChangeEvent_FWD_DEFINED__ */
  196. #ifndef __IRTCSessionStateChangeEvent_FWD_DEFINED__
  197. #define __IRTCSessionStateChangeEvent_FWD_DEFINED__
  198. typedef interface IRTCSessionStateChangeEvent IRTCSessionStateChangeEvent;
  199. #endif  /* __IRTCSessionStateChangeEvent_FWD_DEFINED__ */
  200. #ifndef __IRTCSessionOperationCompleteEvent_FWD_DEFINED__
  201. #define __IRTCSessionOperationCompleteEvent_FWD_DEFINED__
  202. typedef interface IRTCSessionOperationCompleteEvent IRTCSessionOperationCompleteEvent;
  203. #endif  /* __IRTCSessionOperationCompleteEvent_FWD_DEFINED__ */
  204. #ifndef __IRTCParticipantStateChangeEvent_FWD_DEFINED__
  205. #define __IRTCParticipantStateChangeEvent_FWD_DEFINED__
  206. typedef interface IRTCParticipantStateChangeEvent IRTCParticipantStateChangeEvent;
  207. #endif  /* __IRTCParticipantStateChangeEvent_FWD_DEFINED__ */
  208. #ifndef __IRTCMediaEvent_FWD_DEFINED__
  209. #define __IRTCMediaEvent_FWD_DEFINED__
  210. typedef interface IRTCMediaEvent IRTCMediaEvent;
  211. #endif  /* __IRTCMediaEvent_FWD_DEFINED__ */
  212. #ifndef __IRTCIntensityEvent_FWD_DEFINED__
  213. #define __IRTCIntensityEvent_FWD_DEFINED__
  214. typedef interface IRTCIntensityEvent IRTCIntensityEvent;
  215. #endif  /* __IRTCIntensityEvent_FWD_DEFINED__ */
  216. #ifndef __IRTCMessagingEvent_FWD_DEFINED__
  217. #define __IRTCMessagingEvent_FWD_DEFINED__
  218. typedef interface IRTCMessagingEvent IRTCMessagingEvent;
  219. #endif  /* __IRTCMessagingEvent_FWD_DEFINED__ */
  220. #ifndef __IRTCBuddyEvent_FWD_DEFINED__
  221. #define __IRTCBuddyEvent_FWD_DEFINED__
  222. typedef interface IRTCBuddyEvent IRTCBuddyEvent;
  223. #endif  /* __IRTCBuddyEvent_FWD_DEFINED__ */
  224. #ifndef __IRTCWatcherEvent_FWD_DEFINED__
  225. #define __IRTCWatcherEvent_FWD_DEFINED__
  226. typedef interface IRTCWatcherEvent IRTCWatcherEvent;
  227. #endif  /* __IRTCWatcherEvent_FWD_DEFINED__ */
  228. #ifndef __IRTCDispatchEventNotification_FWD_DEFINED__
  229. #define __IRTCDispatchEventNotification_FWD_DEFINED__
  230. typedef interface IRTCDispatchEventNotification IRTCDispatchEventNotification;
  231. #endif  /* __IRTCDispatchEventNotification_FWD_DEFINED__ */
  232. #ifndef __RTCClient_FWD_DEFINED__
  233. #define __RTCClient_FWD_DEFINED__
  234. #ifdef __cplusplus
  235. typedef class RTCClient RTCClient;
  236. #else
  237. typedef struct RTCClient RTCClient;
  238. #endif /* __cplusplus */
  239. #endif  /* __RTCClient_FWD_DEFINED__ */
  240. /* header files for imported files */
  241. #include "oaidl.h"
  242. #include "ocidl.h"
  243. #include "control.h"
  244. #ifdef __cplusplus
  245. extern "C"{
  246. #endif 
  247. void * __RPC_USER MIDL_user_allocate(size_t);
  248. void __RPC_USER MIDL_user_free( void * ); 
  249. /* interface __MIDL_itf_rtccore_0000 */
  250. /* [local] */ 
  251. /* Copyright (c) 2000-2001  Microsoft Corporation  */
  252. typedef 
  253. enum RTC_AUDIO_DEVICE
  254.     { RTCAD_SPEAKER = 0,
  255. RTCAD_MICROPHONE = RTCAD_SPEAKER + 1
  256.     }  RTC_AUDIO_DEVICE;
  257. typedef 
  258. enum RTC_VIDEO_DEVICE
  259.     { RTCVD_RECEIVE = 0,
  260. RTCVD_PREVIEW = RTCVD_RECEIVE + 1
  261.     }  RTC_VIDEO_DEVICE;
  262. typedef 
  263. enum RTC_EVENT
  264.     { RTCE_CLIENT = 0,
  265. RTCE_REGISTRATION_STATE_CHANGE = RTCE_CLIENT + 1,
  266. RTCE_SESSION_STATE_CHANGE = RTCE_REGISTRATION_STATE_CHANGE + 1,
  267. RTCE_SESSION_OPERATION_COMPLETE = RTCE_SESSION_STATE_CHANGE + 1,
  268. RTCE_PARTICIPANT_STATE_CHANGE = RTCE_SESSION_OPERATION_COMPLETE + 1,
  269. RTCE_MEDIA = RTCE_PARTICIPANT_STATE_CHANGE + 1,
  270. RTCE_INTENSITY = RTCE_MEDIA + 1,
  271. RTCE_MESSAGING = RTCE_INTENSITY + 1,
  272. RTCE_BUDDY = RTCE_MESSAGING + 1,
  273. RTCE_WATCHER = RTCE_BUDDY + 1,
  274. RTCE_PROFILE = RTCE_WATCHER + 1
  275.     }  RTC_EVENT;
  276. typedef 
  277. enum RTC_LISTEN_MODE
  278.     { RTCLM_NONE = 0,
  279. RTCLM_DYNAMIC = RTCLM_NONE + 1,
  280. RTCLM_BOTH = RTCLM_DYNAMIC + 1
  281.     }  RTC_LISTEN_MODE;
  282. typedef 
  283. enum RTC_CLIENT_EVENT_TYPE
  284.     { RTCCET_VOLUME_CHANGE = 0,
  285. RTCCET_DEVICE_CHANGE = RTCCET_VOLUME_CHANGE + 1,
  286. RTCCET_NETWORK_QUALITY_CHANGE = RTCCET_DEVICE_CHANGE + 1,
  287. RTCCET_ASYNC_CLEANUP_DONE = RTCCET_NETWORK_QUALITY_CHANGE + 1
  288.     }  RTC_CLIENT_EVENT_TYPE;
  289. typedef 
  290. enum RTC_TERMINATE_REASON
  291.     { RTCTR_NORMAL = 0,
  292. RTCTR_DND = RTCTR_NORMAL + 1,
  293. RTCTR_BUSY = RTCTR_DND + 1,
  294. RTCTR_REJECT = RTCTR_BUSY + 1,
  295. RTCTR_TIMEOUT = RTCTR_REJECT + 1,
  296. RTCTR_SHUTDOWN = RTCTR_TIMEOUT + 1
  297.     }  RTC_TERMINATE_REASON;
  298. typedef 
  299. enum RTC_REGISTRATION_STATE
  300.     { RTCRS_NOT_REGISTERED = 0,
  301. RTCRS_REGISTERING = RTCRS_NOT_REGISTERED + 1,
  302. RTCRS_REGISTERED = RTCRS_REGISTERING + 1,
  303. RTCRS_REJECTED = RTCRS_REGISTERED + 1,
  304. RTCRS_UNREGISTERING = RTCRS_REJECTED + 1,
  305. RTCRS_ERROR = RTCRS_UNREGISTERING + 1,
  306. RTCRS_LOGGED_OFF = RTCRS_ERROR + 1,
  307. RTCRS_LOCAL_PA_LOGGED_OFF = RTCRS_LOGGED_OFF + 1,
  308. RTCRS_REMOTE_PA_LOGGED_OFF = RTCRS_LOCAL_PA_LOGGED_OFF + 1
  309.     }  RTC_REGISTRATION_STATE;
  310. typedef 
  311. enum RTC_SESSION_STATE
  312.     { RTCSS_IDLE = 0,
  313. RTCSS_INCOMING = RTCSS_IDLE + 1,
  314. RTCSS_ANSWERING = RTCSS_INCOMING + 1,
  315. RTCSS_INPROGRESS = RTCSS_ANSWERING + 1,
  316. RTCSS_CONNECTED = RTCSS_INPROGRESS + 1,
  317. RTCSS_DISCONNECTED = RTCSS_CONNECTED + 1
  318.     }  RTC_SESSION_STATE;
  319. typedef 
  320. enum RTC_PARTICIPANT_STATE
  321.     { RTCPS_IDLE = 0,
  322. RTCPS_PENDING = RTCPS_IDLE + 1,
  323. RTCPS_INCOMING = RTCPS_PENDING + 1,
  324. RTCPS_ANSWERING = RTCPS_INCOMING + 1,
  325. RTCPS_INPROGRESS = RTCPS_ANSWERING + 1,
  326. RTCPS_ALERTING = RTCPS_INPROGRESS + 1,
  327. RTCPS_CONNECTED = RTCPS_ALERTING + 1,
  328. RTCPS_DISCONNECTING = RTCPS_CONNECTED + 1,
  329. RTCPS_DISCONNECTED = RTCPS_DISCONNECTING + 1
  330.     }  RTC_PARTICIPANT_STATE;
  331. typedef 
  332. enum RTC_WATCHER_STATE
  333.     { RTCWS_UNKNOWN = 0,
  334. RTCWS_OFFERING = RTCWS_UNKNOWN + 1,
  335. RTCWS_ALLOWED = RTCWS_OFFERING + 1,
  336. RTCWS_BLOCKED = RTCWS_ALLOWED + 1
  337.     }  RTC_WATCHER_STATE;
  338. typedef 
  339. enum RTC_OFFER_WATCHER_MODE
  340.     { RTCOWM_OFFER_WATCHER_EVENT = 0,
  341. RTCOWM_AUTOMATICALLY_ADD_WATCHER = RTCOWM_OFFER_WATCHER_EVENT + 1
  342.     }  RTC_OFFER_WATCHER_MODE;
  343. typedef 
  344. enum RTC_PRIVACY_MODE
  345.     { RTCPM_BLOCK_LIST_EXCLUDED = 0,
  346. RTCPM_ALLOW_LIST_ONLY = RTCPM_BLOCK_LIST_EXCLUDED + 1
  347.     }  RTC_PRIVACY_MODE;
  348. typedef 
  349. enum RTC_SESSION_TYPE
  350.     { RTCST_PC_TO_PC = 0,
  351. RTCST_PC_TO_PHONE = RTCST_PC_TO_PC + 1,
  352. RTCST_PHONE_TO_PHONE = RTCST_PC_TO_PHONE + 1,
  353. RTCST_IM = RTCST_PHONE_TO_PHONE + 1
  354.     }  RTC_SESSION_TYPE;
  355. typedef 
  356. enum RTC_PRESENCE_STATUS
  357.     { RTCXS_PRESENCE_OFFLINE = 0,
  358. RTCXS_PRESENCE_ONLINE = RTCXS_PRESENCE_OFFLINE + 1,
  359. RTCXS_PRESENCE_AWAY = RTCXS_PRESENCE_ONLINE + 1,
  360. RTCXS_PRESENCE_IDLE = RTCXS_PRESENCE_AWAY + 1,
  361. RTCXS_PRESENCE_BUSY = RTCXS_PRESENCE_IDLE + 1,
  362. RTCXS_PRESENCE_BE_RIGHT_BACK = RTCXS_PRESENCE_BUSY + 1,
  363. RTCXS_PRESENCE_ON_THE_PHONE = RTCXS_PRESENCE_BE_RIGHT_BACK + 1,
  364. RTCXS_PRESENCE_OUT_TO_LUNCH = RTCXS_PRESENCE_ON_THE_PHONE + 1
  365.     }  RTC_PRESENCE_STATUS;
  366. typedef 
  367. enum RTC_MEDIA_EVENT_TYPE
  368.     { RTCMET_STOPPED = 0,
  369. RTCMET_STARTED = RTCMET_STOPPED + 1,
  370. RTCMET_FAILED = RTCMET_STARTED + 1
  371.     }  RTC_MEDIA_EVENT_TYPE;
  372. typedef 
  373. enum RTC_MEDIA_EVENT_REASON
  374.     { RTCMER_NORMAL = 0,
  375. RTCMER_HOLD = RTCMER_NORMAL + 1,
  376. RTCMER_TIMEOUT = RTCMER_HOLD + 1,
  377. RTCMER_BAD_DEVICE = RTCMER_TIMEOUT + 1
  378.     }  RTC_MEDIA_EVENT_REASON;
  379. typedef 
  380. enum RTC_MESSAGING_EVENT_TYPE
  381.     { RTCMSET_MESSAGE = 0,
  382. RTCMSET_STATUS = RTCMSET_MESSAGE + 1
  383.     }  RTC_MESSAGING_EVENT_TYPE;
  384. typedef 
  385. enum RTC_MESSAGING_USER_STATUS
  386.     { RTCMUS_IDLE = 0,
  387. RTCMUS_TYPING = RTCMUS_IDLE + 1
  388.     }  RTC_MESSAGING_USER_STATUS;
  389. typedef 
  390. enum RTC_DTMF
  391.     { RTC_DTMF_0 = 0,
  392. RTC_DTMF_1 = RTC_DTMF_0 + 1,
  393. RTC_DTMF_2 = RTC_DTMF_1 + 1,
  394. RTC_DTMF_3 = RTC_DTMF_2 + 1,
  395. RTC_DTMF_4 = RTC_DTMF_3 + 1,
  396. RTC_DTMF_5 = RTC_DTMF_4 + 1,
  397. RTC_DTMF_6 = RTC_DTMF_5 + 1,
  398. RTC_DTMF_7 = RTC_DTMF_6 + 1,
  399. RTC_DTMF_8 = RTC_DTMF_7 + 1,
  400. RTC_DTMF_9 = RTC_DTMF_8 + 1,
  401. RTC_DTMF_STAR = RTC_DTMF_9 + 1,
  402. RTC_DTMF_POUND = RTC_DTMF_STAR + 1,
  403. RTC_DTMF_A = RTC_DTMF_POUND + 1,
  404. RTC_DTMF_B = RTC_DTMF_A + 1,
  405. RTC_DTMF_C = RTC_DTMF_B + 1,
  406. RTC_DTMF_D = RTC_DTMF_C + 1,
  407. RTC_DTMF_FLASH = RTC_DTMF_D + 1
  408.     }  RTC_DTMF;
  409. typedef 
  410. enum RTC_PROVIDER_URI
  411.     { RTCPU_URIHOMEPAGE = 0,
  412. RTCPU_URIHELPDESK = RTCPU_URIHOMEPAGE + 1,
  413. RTCPU_URIPERSONALACCOUNT = RTCPU_URIHELPDESK + 1,
  414. RTCPU_URIDISPLAYDURINGCALL = RTCPU_URIPERSONALACCOUNT + 1,
  415. RTCPU_URIDISPLAYDURINGIDLE = RTCPU_URIDISPLAYDURINGCALL + 1
  416.     }  RTC_PROVIDER_URI;
  417. typedef 
  418. enum RTC_RING_TYPE
  419.     { RTCRT_PHONE = 0,
  420. RTCRT_MESSAGE = RTCRT_PHONE + 1,
  421. RTCRT_RINGBACK = RTCRT_MESSAGE + 1
  422.     }  RTC_RING_TYPE;
  423. typedef 
  424. enum RTC_T120_APPLET
  425.     { RTCTA_WHITEBOARD = 0,
  426. RTCTA_APPSHARING = RTCTA_WHITEBOARD + 1
  427.     }  RTC_T120_APPLET;
  428. #define RTCCS_FORCE_PROFILE          0x00000001
  429. #define RTCCS_FAIL_ON_REDIRECT       0x00000002
  430. #define RTCMT_AUDIO_SEND     0x00000001
  431. #define RTCMT_AUDIO_RECEIVE  0x00000002
  432. #define RTCMT_VIDEO_SEND     0x00000004
  433. #define RTCMT_VIDEO_RECEIVE  0x00000008
  434. #define RTCMT_T120_SENDRECV  0x00000010
  435. #define RTCMT_ALL_RTP   (       
  436.          RTCMT_AUDIO_SEND    |  
  437.          RTCMT_AUDIO_RECEIVE  | 
  438.          RTCMT_VIDEO_SEND  |    
  439.          RTCMT_VIDEO_RECEIVE )    
  440. #define RTCMT_ALL       (       
  441.          RTCMT_ALL_RTP    |     
  442.          RTCMT_T120_SENDRECV  )   
  443. #define RTCSI_PC_TO_PC       0x00000001
  444. #define RTCSI_PC_TO_PHONE    0x00000002
  445. #define RTCSI_PHONE_TO_PHONE 0x00000004
  446. #define RTCSI_IM             0x00000008
  447. #define RTCTR_UDP            0x00000001
  448. #define RTCTR_TCP            0x00000002
  449. #define RTCTR_TLS            0x00000004
  450. #define RTCRF_REGISTER_INVITE_SESSIONS   0x00000001
  451. #define RTCRF_REGISTER_MESSAGE_SESSIONS  0x00000002
  452. #define RTCRF_REGISTER_PRESENCE          0x00000004
  453. #define RTCRF_REGISTER_ALL               0x00000007
  454. #define RTCEF_CLIENT                     0x00000001
  455. #define RTCEF_REGISTRATION_STATE_CHANGE  0x00000002
  456. #define RTCEF_SESSION_STATE_CHANGE       0x00000004
  457. #define RTCEF_SESSION_OPERATION_COMPLETE 0x00000008
  458. #define RTCEF_PARTICIPANT_STATE_CHANGE   0x00000010
  459. #define RTCEF_MEDIA                      0x00000020
  460. #define RTCEF_INTENSITY                  0x00000040
  461. #define RTCEF_MESSAGING                  0x00000080
  462. #define RTCEF_BUDDY                      0x00000100
  463. #define RTCEF_WATCHER                    0x00000200
  464. #define RTCEF_PROFILE                    0x00000400
  465. #define RTCEF_ALL                        0x000007FF
  466. extern RPC_IF_HANDLE __MIDL_itf_rtccore_0000_v0_0_c_ifspec;
  467. extern RPC_IF_HANDLE __MIDL_itf_rtccore_0000_v0_0_s_ifspec;
  468. #ifndef __IRTCClient_INTERFACE_DEFINED__
  469. #define __IRTCClient_INTERFACE_DEFINED__
  470. /* interface IRTCClient */
  471. /* [unique][helpstring][uuid][object] */ 
  472. EXTERN_C const IID IID_IRTCClient;
  473. #if defined(__cplusplus) && !defined(CINTERFACE)
  474.     
  475.     MIDL_INTERFACE("07829e45-9a34-408e-a011-bddf13487cd1")
  476.     IRTCClient : public IUnknown
  477.     {
  478.     public:
  479.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( void) = 0;
  480.         
  481.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Shutdown( void) = 0;
  482.         
  483.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PrepareForShutdown( void) = 0;
  484.         
  485.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_EventFilter( 
  486.             /* [in] */ long lFilter) = 0;
  487.         
  488.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EventFilter( 
  489.             /* [retval][out] */ long *plFilter) = 0;
  490.         
  491.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPreferredMediaTypes( 
  492.             /* [in] */ long lMediaTypes,
  493.             /* [in] */ VARIANT_BOOL fPersistent) = 0;
  494.         
  495.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PreferredMediaTypes( 
  496.             /* [retval][out] */ long *plMediaTypes) = 0;
  497.         
  498.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MediaCapabilities( 
  499.             /* [retval][out] */ long *plMediaTypes) = 0;
  500.         
  501.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateSession( 
  502.             /* [in] */ RTC_SESSION_TYPE enType,
  503.             /* [in] */ BSTR bstrLocalPhoneURI,
  504.             /* [in] */ IRTCProfile *pProfile,
  505.             /* [in] */ long lFlags,
  506.             /* [retval][out] */ IRTCSession **ppSession) = 0;
  507.         
  508.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ListenForIncomingSessions( 
  509.             /* [in] */ RTC_LISTEN_MODE enListen) = 0;
  510.         
  511.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ListenForIncomingSessions( 
  512.             /* [retval][out] */ RTC_LISTEN_MODE *penListen) = 0;
  513.         
  514.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NetworkAddresses( 
  515.             /* [in] */ VARIANT_BOOL fTCP,
  516.             /* [in] */ VARIANT_BOOL fExternal,
  517.             /* [retval][out] */ VARIANT *pvAddresses) = 0;
  518.         
  519.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Volume( 
  520.             /* [in] */ RTC_AUDIO_DEVICE enDevice,
  521.             /* [in] */ long lVolume) = 0;
  522.         
  523.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Volume( 
  524.             /* [in] */ RTC_AUDIO_DEVICE enDevice,
  525.             /* [retval][out] */ long *plVolume) = 0;
  526.         
  527.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_AudioMuted( 
  528.             /* [in] */ RTC_AUDIO_DEVICE enDevice,
  529.             /* [in] */ VARIANT_BOOL fMuted) = 0;
  530.         
  531.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AudioMuted( 
  532.             /* [in] */ RTC_AUDIO_DEVICE enDevice,
  533.             /* [retval][out] */ VARIANT_BOOL *pfMuted) = 0;
  534.         
  535.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IVideoWindow( 
  536.             /* [in] */ RTC_VIDEO_DEVICE enDevice,
  537.             /* [retval][out] */ IVideoWindow **ppIVideoWindow) = 0;
  538.         
  539.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PreferredAudioDevice( 
  540.             /* [in] */ RTC_AUDIO_DEVICE enDevice,
  541.             /* [in] */ BSTR bstrDeviceName) = 0;
  542.         
  543.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PreferredAudioDevice( 
  544.             /* [in] */ RTC_AUDIO_DEVICE enDevice,
  545.             /* [retval][out] */ BSTR *pbstrDeviceName) = 0;
  546.         
  547.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PreferredVolume( 
  548.             /* [in] */ RTC_AUDIO_DEVICE enDevice,
  549.             /* [in] */ long lVolume) = 0;
  550.         
  551.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PreferredVolume( 
  552.             /* [in] */ RTC_AUDIO_DEVICE enDevice,
  553.             /* [retval][out] */ long *plVolume) = 0;
  554.         
  555.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PreferredAEC( 
  556.             /* [in] */ VARIANT_BOOL bEnable) = 0;
  557.         
  558.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PreferredAEC( 
  559.             /* [retval][out] */ VARIANT_BOOL *pbEnabled) = 0;
  560.         
  561.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PreferredVideoDevice( 
  562.             /* [in] */ BSTR bstrDeviceName) = 0;
  563.         
  564.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PreferredVideoDevice( 
  565.             /* [retval][out] */ BSTR *pbstrDeviceName) = 0;
  566.         
  567.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ActiveMedia( 
  568.             /* [retval][out] */ long *plMediaType) = 0;
  569.         
  570.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_MaxBitrate( 
  571.             /* [in] */ long lMaxBitrate) = 0;
  572.         
  573.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MaxBitrate( 
  574.             /* [retval][out] */ long *plMaxBitrate) = 0;
  575.         
  576.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_TemporalSpatialTradeOff( 
  577.             /* [in] */ long lValue) = 0;
  578.         
  579.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TemporalSpatialTradeOff( 
  580.             /* [retval][out] */ long *plValue) = 0;
  581.         
  582.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NetworkQuality( 
  583.             /* [retval][out] */ long *plNetworkQuality) = 0;
  584.         
  585.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StartT120Applet( 
  586.             /* [in] */ RTC_T120_APPLET enApplet) = 0;
  587.         
  588.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StopT120Applets( void) = 0;
  589.         
  590.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IsT120AppletRunning( 
  591.             /* [in] */ RTC_T120_APPLET enApplet,
  592.             /* [retval][out] */ VARIANT_BOOL *pfRunning) = 0;
  593.         
  594.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LocalUserURI( 
  595.             /* [retval][out] */ BSTR *pbstrUserURI) = 0;
  596.         
  597.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_LocalUserURI( 
  598.             /* [in] */ BSTR bstrUserURI) = 0;
  599.         
  600.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LocalUserName( 
  601.             /* [retval][out] */ BSTR *pbstrUserName) = 0;
  602.         
  603.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_LocalUserName( 
  604.             /* [in] */ BSTR bstrUserName) = 0;
  605.         
  606.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PlayRing( 
  607.             /* [in] */ RTC_RING_TYPE enType,
  608.             /* [in] */ VARIANT_BOOL bPlay) = 0;
  609.         
  610.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SendDTMF( 
  611.             /* [in] */ RTC_DTMF enDTMF) = 0;
  612.         
  613.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InvokeTuningWizard( 
  614.             /* [in] */ OAHWND hwndParent) = 0;
  615.         
  616.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IsTuned( 
  617.             /* [retval][out] */ VARIANT_BOOL *pfTuned) = 0;
  618.         
  619.     };
  620.     
  621. #else  /* C style interface */
  622.     typedef struct IRTCClientVtbl
  623.     {
  624.         BEGIN_INTERFACE
  625.         
  626.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  627.             IRTCClient * This,
  628.             /* [in] */ REFIID riid,
  629.             /* [iid_is][out] */ void **ppvObject);
  630.         
  631.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  632.             IRTCClient * This);
  633.         
  634.         ULONG ( STDMETHODCALLTYPE *Release )( 
  635.             IRTCClient * This);
  636.         
  637.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
  638.             IRTCClient * This);
  639.         
  640.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Shutdown )( 
  641.             IRTCClient * This);
  642.         
  643.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PrepareForShutdown )( 
  644.             IRTCClient * This);
  645.         
  646.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EventFilter )( 
  647.             IRTCClient * This,
  648.             /* [in] */ long lFilter);
  649.         
  650.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventFilter )( 
  651.             IRTCClient * This,
  652.             /* [retval][out] */ long *plFilter);
  653.         
  654.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetPreferredMediaTypes )( 
  655.             IRTCClient * This,
  656.             /* [in] */ long lMediaTypes,
  657.             /* [in] */ VARIANT_BOOL fPersistent);
  658.         
  659.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PreferredMediaTypes )( 
  660.             IRTCClient * This,
  661.             /* [retval][out] */ long *plMediaTypes);
  662.         
  663.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MediaCapabilities )( 
  664.             IRTCClient * This,
  665.             /* [retval][out] */ long *plMediaTypes);
  666.         
  667.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateSession )( 
  668.             IRTCClient * This,
  669.             /* [in] */ RTC_SESSION_TYPE enType,
  670.             /* [in] */ BSTR bstrLocalPhoneURI,
  671.             /* [in] */ IRTCProfile *pProfile,
  672.             /* [in] */ long lFlags,
  673.             /* [retval][out] */ IRTCSession **ppSession);
  674.         
  675.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ListenForIncomingSessions )( 
  676.             IRTCClient * This,
  677.             /* [in] */ RTC_LISTEN_MODE enListen);
  678.         
  679.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ListenForIncomingSessions )( 
  680.             IRTCClient * This,
  681.             /* [retval][out] */ RTC_LISTEN_MODE *penListen);
  682.         
  683.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NetworkAddresses )( 
  684.             IRTCClient * This,
  685.             /* [in] */ VARIANT_BOOL fTCP,
  686.             /* [in] */ VARIANT_BOOL fExternal,
  687.             /* [retval][out] */ VARIANT *pvAddresses);
  688.         
  689.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Volume )( 
  690.             IRTCClient * This,
  691.             /* [in] */ RTC_AUDIO_DEVICE enDevice,
  692.             /* [in] */ long lVolume);
  693.         
  694.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Volume )( 
  695.             IRTCClient * This,
  696.             /* [in] */ RTC_AUDIO_DEVICE enDevice,
  697.             /* [retval][out] */ long *plVolume);
  698.         
  699.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AudioMuted )( 
  700.             IRTCClient * This,
  701.             /* [in] */ RTC_AUDIO_DEVICE enDevice,
  702.             /* [in] */ VARIANT_BOOL fMuted);
  703.         
  704.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioMuted )( 
  705.             IRTCClient * This,
  706.             /* [in] */ RTC_AUDIO_DEVICE enDevice,
  707.             /* [retval][out] */ VARIANT_BOOL *pfMuted);
  708.         
  709.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IVideoWindow )( 
  710.             IRTCClient * This,
  711.             /* [in] */ RTC_VIDEO_DEVICE enDevice,
  712.             /* [retval][out] */ IVideoWindow **ppIVideoWindow);
  713.         
  714.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PreferredAudioDevice )( 
  715.             IRTCClient * This,
  716.             /* [in] */ RTC_AUDIO_DEVICE enDevice,
  717.             /* [in] */ BSTR bstrDeviceName);
  718.         
  719.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PreferredAudioDevice )( 
  720.             IRTCClient * This,
  721.             /* [in] */ RTC_AUDIO_DEVICE enDevice,
  722.             /* [retval][out] */ BSTR *pbstrDeviceName);
  723.         
  724.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PreferredVolume )( 
  725.             IRTCClient * This,
  726.             /* [in] */ RTC_AUDIO_DEVICE enDevice,
  727.             /* [in] */ long lVolume);
  728.         
  729.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PreferredVolume )( 
  730.             IRTCClient * This,
  731.             /* [in] */ RTC_AUDIO_DEVICE enDevice,
  732.             /* [retval][out] */ long *plVolume);
  733.         
  734.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PreferredAEC )( 
  735.             IRTCClient * This,
  736.             /* [in] */ VARIANT_BOOL bEnable);
  737.         
  738.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PreferredAEC )( 
  739.             IRTCClient * This,
  740.             /* [retval][out] */ VARIANT_BOOL *pbEnabled);
  741.         
  742.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PreferredVideoDevice )( 
  743.             IRTCClient * This,
  744.             /* [in] */ BSTR bstrDeviceName);
  745.         
  746.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PreferredVideoDevice )( 
  747.             IRTCClient * This,
  748.             /* [retval][out] */ BSTR *pbstrDeviceName);
  749.         
  750.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveMedia )( 
  751.             IRTCClient * This,
  752.             /* [retval][out] */ long *plMediaType);
  753.         
  754.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaxBitrate )( 
  755.             IRTCClient * This,
  756.             /* [in] */ long lMaxBitrate);
  757.         
  758.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxBitrate )( 
  759.             IRTCClient * This,
  760.             /* [retval][out] */ long *plMaxBitrate);
  761.         
  762.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TemporalSpatialTradeOff )( 
  763.             IRTCClient * This,
  764.             /* [in] */ long lValue);
  765.         
  766.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TemporalSpatialTradeOff )( 
  767.             IRTCClient * This,
  768.             /* [retval][out] */ long *plValue);
  769.         
  770.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NetworkQuality )( 
  771.             IRTCClient * This,
  772.             /* [retval][out] */ long *plNetworkQuality);
  773.         
  774.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *StartT120Applet )( 
  775.             IRTCClient * This,
  776.             /* [in] */ RTC_T120_APPLET enApplet);
  777.         
  778.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *StopT120Applets )( 
  779.             IRTCClient * This);
  780.         
  781.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsT120AppletRunning )( 
  782.             IRTCClient * This,
  783.             /* [in] */ RTC_T120_APPLET enApplet,
  784.             /* [retval][out] */ VARIANT_BOOL *pfRunning);
  785.         
  786.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LocalUserURI )( 
  787.             IRTCClient * This,
  788.             /* [retval][out] */ BSTR *pbstrUserURI);
  789.         
  790.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LocalUserURI )( 
  791.             IRTCClient * This,
  792.             /* [in] */ BSTR bstrUserURI);
  793.         
  794.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LocalUserName )( 
  795.             IRTCClient * This,
  796.             /* [retval][out] */ BSTR *pbstrUserName);
  797.         
  798.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LocalUserName )( 
  799.             IRTCClient * This,
  800.             /* [in] */ BSTR bstrUserName);
  801.         
  802.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PlayRing )( 
  803.             IRTCClient * This,
  804.             /* [in] */ RTC_RING_TYPE enType,
  805.             /* [in] */ VARIANT_BOOL bPlay);
  806.         
  807.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SendDTMF )( 
  808.             IRTCClient * This,
  809.             /* [in] */ RTC_DTMF enDTMF);
  810.         
  811.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InvokeTuningWizard )( 
  812.             IRTCClient * This,
  813.             /* [in] */ OAHWND hwndParent);
  814.         
  815.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsTuned )( 
  816.             IRTCClient * This,
  817.             /* [retval][out] */ VARIANT_BOOL *pfTuned);
  818.         
  819.         END_INTERFACE
  820.     } IRTCClientVtbl;
  821.     interface IRTCClient
  822.     {
  823.         CONST_VTBL struct IRTCClientVtbl *lpVtbl;
  824.     };
  825.     
  826. #ifdef COBJMACROS
  827. #define IRTCClient_QueryInterface(This,riid,ppvObject)
  828.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  829. #define IRTCClient_AddRef(This)
  830.     (This)->lpVtbl -> AddRef(This)
  831. #define IRTCClient_Release(This)
  832.     (This)->lpVtbl -> Release(This)
  833. #define IRTCClient_Initialize(This)
  834.     (This)->lpVtbl -> Initialize(This)
  835. #define IRTCClient_Shutdown(This)
  836.     (This)->lpVtbl -> Shutdown(This)
  837. #define IRTCClient_PrepareForShutdown(This)
  838.     (This)->lpVtbl -> PrepareForShutdown(This)
  839. #define IRTCClient_put_EventFilter(This,lFilter)
  840.     (This)->lpVtbl -> put_EventFilter(This,lFilter)
  841. #define IRTCClient_get_EventFilter(This,plFilter)
  842.     (This)->lpVtbl -> get_EventFilter(This,plFilter)
  843. #define IRTCClient_SetPreferredMediaTypes(This,lMediaTypes,fPersistent)
  844.     (This)->lpVtbl -> SetPreferredMediaTypes(This,lMediaTypes,fPersistent)
  845. #define IRTCClient_get_PreferredMediaTypes(This,plMediaTypes)
  846.     (This)->lpVtbl -> get_PreferredMediaTypes(This,plMediaTypes)
  847. #define IRTCClient_get_MediaCapabilities(This,plMediaTypes)
  848.     (This)->lpVtbl -> get_MediaCapabilities(This,plMediaTypes)
  849. #define IRTCClient_CreateSession(This,enType,bstrLocalPhoneURI,pProfile,lFlags,ppSession)
  850.     (This)->lpVtbl -> CreateSession(This,enType,bstrLocalPhoneURI,pProfile,lFlags,ppSession)
  851. #define IRTCClient_put_ListenForIncomingSessions(This,enListen)
  852.     (This)->lpVtbl -> put_ListenForIncomingSessions(This,enListen)
  853. #define IRTCClient_get_ListenForIncomingSessions(This,penListen)
  854.     (This)->lpVtbl -> get_ListenForIncomingSessions(This,penListen)
  855. #define IRTCClient_get_NetworkAddresses(This,fTCP,fExternal,pvAddresses)
  856.     (This)->lpVtbl -> get_NetworkAddresses(This,fTCP,fExternal,pvAddresses)
  857. #define IRTCClient_put_Volume(This,enDevice,lVolume)
  858.     (This)->lpVtbl -> put_Volume(This,enDevice,lVolume)
  859. #define IRTCClient_get_Volume(This,enDevice,plVolume)
  860.     (This)->lpVtbl -> get_Volume(This,enDevice,plVolume)
  861. #define IRTCClient_put_AudioMuted(This,enDevice,fMuted)
  862.     (This)->lpVtbl -> put_AudioMuted(This,enDevice,fMuted)
  863. #define IRTCClient_get_AudioMuted(This,enDevice,pfMuted)
  864.     (This)->lpVtbl -> get_AudioMuted(This,enDevice,pfMuted)
  865. #define IRTCClient_get_IVideoWindow(This,enDevice,ppIVideoWindow)
  866.     (This)->lpVtbl -> get_IVideoWindow(This,enDevice,ppIVideoWindow)
  867. #define IRTCClient_put_PreferredAudioDevice(This,enDevice,bstrDeviceName)
  868.     (This)->lpVtbl -> put_PreferredAudioDevice(This,enDevice,bstrDeviceName)
  869. #define IRTCClient_get_PreferredAudioDevice(This,enDevice,pbstrDeviceName)
  870.     (This)->lpVtbl -> get_PreferredAudioDevice(This,enDevice,pbstrDeviceName)
  871. #define IRTCClient_put_PreferredVolume(This,enDevice,lVolume)
  872.     (This)->lpVtbl -> put_PreferredVolume(This,enDevice,lVolume)
  873. #define IRTCClient_get_PreferredVolume(This,enDevice,plVolume)
  874.     (This)->lpVtbl -> get_PreferredVolume(This,enDevice,plVolume)
  875. #define IRTCClient_put_PreferredAEC(This,bEnable)
  876.     (This)->lpVtbl -> put_PreferredAEC(This,bEnable)
  877. #define IRTCClient_get_PreferredAEC(This,pbEnabled)
  878.     (This)->lpVtbl -> get_PreferredAEC(This,pbEnabled)
  879. #define IRTCClient_put_PreferredVideoDevice(This,bstrDeviceName)
  880.     (This)->lpVtbl -> put_PreferredVideoDevice(This,bstrDeviceName)
  881. #define IRTCClient_get_PreferredVideoDevice(This,pbstrDeviceName)
  882.     (This)->lpVtbl -> get_PreferredVideoDevice(This,pbstrDeviceName)
  883. #define IRTCClient_get_ActiveMedia(This,plMediaType)
  884.     (This)->lpVtbl -> get_ActiveMedia(This,plMediaType)
  885. #define IRTCClient_put_MaxBitrate(This,lMaxBitrate)
  886.     (This)->lpVtbl -> put_MaxBitrate(This,lMaxBitrate)
  887. #define IRTCClient_get_MaxBitrate(This,plMaxBitrate)
  888.     (This)->lpVtbl -> get_MaxBitrate(This,plMaxBitrate)
  889. #define IRTCClient_put_TemporalSpatialTradeOff(This,lValue)
  890.     (This)->lpVtbl -> put_TemporalSpatialTradeOff(This,lValue)
  891. #define IRTCClient_get_TemporalSpatialTradeOff(This,plValue)
  892.     (This)->lpVtbl -> get_TemporalSpatialTradeOff(This,plValue)
  893. #define IRTCClient_get_NetworkQuality(This,plNetworkQuality)
  894.     (This)->lpVtbl -> get_NetworkQuality(This,plNetworkQuality)
  895. #define IRTCClient_StartT120Applet(This,enApplet)
  896.     (This)->lpVtbl -> StartT120Applet(This,enApplet)
  897. #define IRTCClient_StopT120Applets(This)
  898.     (This)->lpVtbl -> StopT120Applets(This)
  899. #define IRTCClient_get_IsT120AppletRunning(This,enApplet,pfRunning)
  900.     (This)->lpVtbl -> get_IsT120AppletRunning(This,enApplet,pfRunning)
  901. #define IRTCClient_get_LocalUserURI(This,pbstrUserURI)
  902.     (This)->lpVtbl -> get_LocalUserURI(This,pbstrUserURI)
  903. #define IRTCClient_put_LocalUserURI(This,bstrUserURI)
  904.     (This)->lpVtbl -> put_LocalUserURI(This,bstrUserURI)
  905. #define IRTCClient_get_LocalUserName(This,pbstrUserName)
  906.     (This)->lpVtbl -> get_LocalUserName(This,pbstrUserName)
  907. #define IRTCClient_put_LocalUserName(This,bstrUserName)
  908.     (This)->lpVtbl -> put_LocalUserName(This,bstrUserName)
  909. #define IRTCClient_PlayRing(This,enType,bPlay)
  910.     (This)->lpVtbl -> PlayRing(This,enType,bPlay)
  911. #define IRTCClient_SendDTMF(This,enDTMF)
  912.     (This)->lpVtbl -> SendDTMF(This,enDTMF)
  913. #define IRTCClient_InvokeTuningWizard(This,hwndParent)
  914.     (This)->lpVtbl -> InvokeTuningWizard(This,hwndParent)
  915. #define IRTCClient_get_IsTuned(This,pfTuned)
  916.     (This)->lpVtbl -> get_IsTuned(This,pfTuned)
  917. #endif /* COBJMACROS */
  918. #endif  /* C style interface */
  919. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCClient_Initialize_Proxy( 
  920.     IRTCClient * This);
  921. void __RPC_STUB IRTCClient_Initialize_Stub(
  922.     IRpcStubBuffer *This,
  923.     IRpcChannelBuffer *_pRpcChannelBuffer,
  924.     PRPC_MESSAGE _pRpcMessage,
  925.     DWORD *_pdwStubPhase);
  926. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCClient_Shutdown_Proxy( 
  927.     IRTCClient * This);
  928. void __RPC_STUB IRTCClient_Shutdown_Stub(
  929.     IRpcStubBuffer *This,
  930.     IRpcChannelBuffer *_pRpcChannelBuffer,
  931.     PRPC_MESSAGE _pRpcMessage,
  932.     DWORD *_pdwStubPhase);
  933. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCClient_PrepareForShutdown_Proxy( 
  934.     IRTCClient * This);
  935. void __RPC_STUB IRTCClient_PrepareForShutdown_Stub(
  936.     IRpcStubBuffer *This,
  937.     IRpcChannelBuffer *_pRpcChannelBuffer,
  938.     PRPC_MESSAGE _pRpcMessage,
  939.     DWORD *_pdwStubPhase);
  940. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRTCClient_put_EventFilter_Proxy( 
  941.     IRTCClient * This,
  942.     /* [in] */ long lFilter);
  943. void __RPC_STUB IRTCClient_put_EventFilter_Stub(
  944.     IRpcStubBuffer *This,
  945.     IRpcChannelBuffer *_pRpcChannelBuffer,
  946.     PRPC_MESSAGE _pRpcMessage,
  947.     DWORD *_pdwStubPhase);
  948. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClient_get_EventFilter_Proxy( 
  949.     IRTCClient * This,
  950.     /* [retval][out] */ long *plFilter);
  951. void __RPC_STUB IRTCClient_get_EventFilter_Stub(
  952.     IRpcStubBuffer *This,
  953.     IRpcChannelBuffer *_pRpcChannelBuffer,
  954.     PRPC_MESSAGE _pRpcMessage,
  955.     DWORD *_pdwStubPhase);
  956. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCClient_SetPreferredMediaTypes_Proxy( 
  957.     IRTCClient * This,
  958.     /* [in] */ long lMediaTypes,
  959.     /* [in] */ VARIANT_BOOL fPersistent);
  960. void __RPC_STUB IRTCClient_SetPreferredMediaTypes_Stub(
  961.     IRpcStubBuffer *This,
  962.     IRpcChannelBuffer *_pRpcChannelBuffer,
  963.     PRPC_MESSAGE _pRpcMessage,
  964.     DWORD *_pdwStubPhase);
  965. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClient_get_PreferredMediaTypes_Proxy( 
  966.     IRTCClient * This,
  967.     /* [retval][out] */ long *plMediaTypes);
  968. void __RPC_STUB IRTCClient_get_PreferredMediaTypes_Stub(
  969.     IRpcStubBuffer *This,
  970.     IRpcChannelBuffer *_pRpcChannelBuffer,
  971.     PRPC_MESSAGE _pRpcMessage,
  972.     DWORD *_pdwStubPhase);
  973. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClient_get_MediaCapabilities_Proxy( 
  974.     IRTCClient * This,
  975.     /* [retval][out] */ long *plMediaTypes);
  976. void __RPC_STUB IRTCClient_get_MediaCapabilities_Stub(
  977.     IRpcStubBuffer *This,
  978.     IRpcChannelBuffer *_pRpcChannelBuffer,
  979.     PRPC_MESSAGE _pRpcMessage,
  980.     DWORD *_pdwStubPhase);
  981. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCClient_CreateSession_Proxy( 
  982.     IRTCClient * This,
  983.     /* [in] */ RTC_SESSION_TYPE enType,
  984.     /* [in] */ BSTR bstrLocalPhoneURI,
  985.     /* [in] */ IRTCProfile *pProfile,
  986.     /* [in] */ long lFlags,
  987.     /* [retval][out] */ IRTCSession **ppSession);
  988. void __RPC_STUB IRTCClient_CreateSession_Stub(
  989.     IRpcStubBuffer *This,
  990.     IRpcChannelBuffer *_pRpcChannelBuffer,
  991.     PRPC_MESSAGE _pRpcMessage,
  992.     DWORD *_pdwStubPhase);
  993. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRTCClient_put_ListenForIncomingSessions_Proxy( 
  994.     IRTCClient * This,
  995.     /* [in] */ RTC_LISTEN_MODE enListen);
  996. void __RPC_STUB IRTCClient_put_ListenForIncomingSessions_Stub(
  997.     IRpcStubBuffer *This,
  998.     IRpcChannelBuffer *_pRpcChannelBuffer,
  999.     PRPC_MESSAGE _pRpcMessage,
  1000.     DWORD *_pdwStubPhase);
  1001. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClient_get_ListenForIncomingSessions_Proxy( 
  1002.     IRTCClient * This,
  1003.     /* [retval][out] */ RTC_LISTEN_MODE *penListen);
  1004. void __RPC_STUB IRTCClient_get_ListenForIncomingSessions_Stub(
  1005.     IRpcStubBuffer *This,
  1006.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1007.     PRPC_MESSAGE _pRpcMessage,
  1008.     DWORD *_pdwStubPhase);
  1009. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClient_get_NetworkAddresses_Proxy( 
  1010.     IRTCClient * This,
  1011.     /* [in] */ VARIANT_BOOL fTCP,
  1012.     /* [in] */ VARIANT_BOOL fExternal,
  1013.     /* [retval][out] */ VARIANT *pvAddresses);
  1014. void __RPC_STUB IRTCClient_get_NetworkAddresses_Stub(
  1015.     IRpcStubBuffer *This,
  1016.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1017.     PRPC_MESSAGE _pRpcMessage,
  1018.     DWORD *_pdwStubPhase);
  1019. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRTCClient_put_Volume_Proxy( 
  1020.     IRTCClient * This,
  1021.     /* [in] */ RTC_AUDIO_DEVICE enDevice,
  1022.     /* [in] */ long lVolume);
  1023. void __RPC_STUB IRTCClient_put_Volume_Stub(
  1024.     IRpcStubBuffer *This,
  1025.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1026.     PRPC_MESSAGE _pRpcMessage,
  1027.     DWORD *_pdwStubPhase);
  1028. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClient_get_Volume_Proxy( 
  1029.     IRTCClient * This,
  1030.     /* [in] */ RTC_AUDIO_DEVICE enDevice,
  1031.     /* [retval][out] */ long *plVolume);
  1032. void __RPC_STUB IRTCClient_get_Volume_Stub(
  1033.     IRpcStubBuffer *This,
  1034.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1035.     PRPC_MESSAGE _pRpcMessage,
  1036.     DWORD *_pdwStubPhase);
  1037. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRTCClient_put_AudioMuted_Proxy( 
  1038.     IRTCClient * This,
  1039.     /* [in] */ RTC_AUDIO_DEVICE enDevice,
  1040.     /* [in] */ VARIANT_BOOL fMuted);
  1041. void __RPC_STUB IRTCClient_put_AudioMuted_Stub(
  1042.     IRpcStubBuffer *This,
  1043.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1044.     PRPC_MESSAGE _pRpcMessage,
  1045.     DWORD *_pdwStubPhase);
  1046. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClient_get_AudioMuted_Proxy( 
  1047.     IRTCClient * This,
  1048.     /* [in] */ RTC_AUDIO_DEVICE enDevice,
  1049.     /* [retval][out] */ VARIANT_BOOL *pfMuted);
  1050. void __RPC_STUB IRTCClient_get_AudioMuted_Stub(
  1051.     IRpcStubBuffer *This,
  1052.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1053.     PRPC_MESSAGE _pRpcMessage,
  1054.     DWORD *_pdwStubPhase);
  1055. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClient_get_IVideoWindow_Proxy( 
  1056.     IRTCClient * This,
  1057.     /* [in] */ RTC_VIDEO_DEVICE enDevice,
  1058.     /* [retval][out] */ IVideoWindow **ppIVideoWindow);
  1059. void __RPC_STUB IRTCClient_get_IVideoWindow_Stub(
  1060.     IRpcStubBuffer *This,
  1061.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1062.     PRPC_MESSAGE _pRpcMessage,
  1063.     DWORD *_pdwStubPhase);
  1064. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRTCClient_put_PreferredAudioDevice_Proxy( 
  1065.     IRTCClient * This,
  1066.     /* [in] */ RTC_AUDIO_DEVICE enDevice,
  1067.     /* [in] */ BSTR bstrDeviceName);
  1068. void __RPC_STUB IRTCClient_put_PreferredAudioDevice_Stub(
  1069.     IRpcStubBuffer *This,
  1070.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1071.     PRPC_MESSAGE _pRpcMessage,
  1072.     DWORD *_pdwStubPhase);
  1073. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClient_get_PreferredAudioDevice_Proxy( 
  1074.     IRTCClient * This,
  1075.     /* [in] */ RTC_AUDIO_DEVICE enDevice,
  1076.     /* [retval][out] */ BSTR *pbstrDeviceName);
  1077. void __RPC_STUB IRTCClient_get_PreferredAudioDevice_Stub(
  1078.     IRpcStubBuffer *This,
  1079.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1080.     PRPC_MESSAGE _pRpcMessage,
  1081.     DWORD *_pdwStubPhase);
  1082. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRTCClient_put_PreferredVolume_Proxy( 
  1083.     IRTCClient * This,
  1084.     /* [in] */ RTC_AUDIO_DEVICE enDevice,
  1085.     /* [in] */ long lVolume);
  1086. void __RPC_STUB IRTCClient_put_PreferredVolume_Stub(
  1087.     IRpcStubBuffer *This,
  1088.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1089.     PRPC_MESSAGE _pRpcMessage,
  1090.     DWORD *_pdwStubPhase);
  1091. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClient_get_PreferredVolume_Proxy( 
  1092.     IRTCClient * This,
  1093.     /* [in] */ RTC_AUDIO_DEVICE enDevice,
  1094.     /* [retval][out] */ long *plVolume);
  1095. void __RPC_STUB IRTCClient_get_PreferredVolume_Stub(
  1096.     IRpcStubBuffer *This,
  1097.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1098.     PRPC_MESSAGE _pRpcMessage,
  1099.     DWORD *_pdwStubPhase);
  1100. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRTCClient_put_PreferredAEC_Proxy( 
  1101.     IRTCClient * This,
  1102.     /* [in] */ VARIANT_BOOL bEnable);
  1103. void __RPC_STUB IRTCClient_put_PreferredAEC_Stub(
  1104.     IRpcStubBuffer *This,
  1105.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1106.     PRPC_MESSAGE _pRpcMessage,
  1107.     DWORD *_pdwStubPhase);
  1108. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClient_get_PreferredAEC_Proxy( 
  1109.     IRTCClient * This,
  1110.     /* [retval][out] */ VARIANT_BOOL *pbEnabled);
  1111. void __RPC_STUB IRTCClient_get_PreferredAEC_Stub(
  1112.     IRpcStubBuffer *This,
  1113.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1114.     PRPC_MESSAGE _pRpcMessage,
  1115.     DWORD *_pdwStubPhase);
  1116. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRTCClient_put_PreferredVideoDevice_Proxy( 
  1117.     IRTCClient * This,
  1118.     /* [in] */ BSTR bstrDeviceName);
  1119. void __RPC_STUB IRTCClient_put_PreferredVideoDevice_Stub(
  1120.     IRpcStubBuffer *This,
  1121.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1122.     PRPC_MESSAGE _pRpcMessage,
  1123.     DWORD *_pdwStubPhase);
  1124. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClient_get_PreferredVideoDevice_Proxy( 
  1125.     IRTCClient * This,
  1126.     /* [retval][out] */ BSTR *pbstrDeviceName);
  1127. void __RPC_STUB IRTCClient_get_PreferredVideoDevice_Stub(
  1128.     IRpcStubBuffer *This,
  1129.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1130.     PRPC_MESSAGE _pRpcMessage,
  1131.     DWORD *_pdwStubPhase);
  1132. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClient_get_ActiveMedia_Proxy( 
  1133.     IRTCClient * This,
  1134.     /* [retval][out] */ long *plMediaType);
  1135. void __RPC_STUB IRTCClient_get_ActiveMedia_Stub(
  1136.     IRpcStubBuffer *This,
  1137.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1138.     PRPC_MESSAGE _pRpcMessage,
  1139.     DWORD *_pdwStubPhase);
  1140. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRTCClient_put_MaxBitrate_Proxy( 
  1141.     IRTCClient * This,
  1142.     /* [in] */ long lMaxBitrate);
  1143. void __RPC_STUB IRTCClient_put_MaxBitrate_Stub(
  1144.     IRpcStubBuffer *This,
  1145.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1146.     PRPC_MESSAGE _pRpcMessage,
  1147.     DWORD *_pdwStubPhase);
  1148. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClient_get_MaxBitrate_Proxy( 
  1149.     IRTCClient * This,
  1150.     /* [retval][out] */ long *plMaxBitrate);
  1151. void __RPC_STUB IRTCClient_get_MaxBitrate_Stub(
  1152.     IRpcStubBuffer *This,
  1153.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1154.     PRPC_MESSAGE _pRpcMessage,
  1155.     DWORD *_pdwStubPhase);
  1156. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRTCClient_put_TemporalSpatialTradeOff_Proxy( 
  1157.     IRTCClient * This,
  1158.     /* [in] */ long lValue);
  1159. void __RPC_STUB IRTCClient_put_TemporalSpatialTradeOff_Stub(
  1160.     IRpcStubBuffer *This,
  1161.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1162.     PRPC_MESSAGE _pRpcMessage,
  1163.     DWORD *_pdwStubPhase);
  1164. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClient_get_TemporalSpatialTradeOff_Proxy( 
  1165.     IRTCClient * This,
  1166.     /* [retval][out] */ long *plValue);
  1167. void __RPC_STUB IRTCClient_get_TemporalSpatialTradeOff_Stub(
  1168.     IRpcStubBuffer *This,
  1169.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1170.     PRPC_MESSAGE _pRpcMessage,
  1171.     DWORD *_pdwStubPhase);
  1172. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClient_get_NetworkQuality_Proxy( 
  1173.     IRTCClient * This,
  1174.     /* [retval][out] */ long *plNetworkQuality);
  1175. void __RPC_STUB IRTCClient_get_NetworkQuality_Stub(
  1176.     IRpcStubBuffer *This,
  1177.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1178.     PRPC_MESSAGE _pRpcMessage,
  1179.     DWORD *_pdwStubPhase);
  1180. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCClient_StartT120Applet_Proxy( 
  1181.     IRTCClient * This,
  1182.     /* [in] */ RTC_T120_APPLET enApplet);
  1183. void __RPC_STUB IRTCClient_StartT120Applet_Stub(
  1184.     IRpcStubBuffer *This,
  1185.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1186.     PRPC_MESSAGE _pRpcMessage,
  1187.     DWORD *_pdwStubPhase);
  1188. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCClient_StopT120Applets_Proxy( 
  1189.     IRTCClient * This);
  1190. void __RPC_STUB IRTCClient_StopT120Applets_Stub(
  1191.     IRpcStubBuffer *This,
  1192.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1193.     PRPC_MESSAGE _pRpcMessage,
  1194.     DWORD *_pdwStubPhase);
  1195. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClient_get_IsT120AppletRunning_Proxy( 
  1196.     IRTCClient * This,
  1197.     /* [in] */ RTC_T120_APPLET enApplet,
  1198.     /* [retval][out] */ VARIANT_BOOL *pfRunning);
  1199. void __RPC_STUB IRTCClient_get_IsT120AppletRunning_Stub(
  1200.     IRpcStubBuffer *This,
  1201.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1202.     PRPC_MESSAGE _pRpcMessage,
  1203.     DWORD *_pdwStubPhase);
  1204. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClient_get_LocalUserURI_Proxy( 
  1205.     IRTCClient * This,
  1206.     /* [retval][out] */ BSTR *pbstrUserURI);
  1207. void __RPC_STUB IRTCClient_get_LocalUserURI_Stub(
  1208.     IRpcStubBuffer *This,
  1209.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1210.     PRPC_MESSAGE _pRpcMessage,
  1211.     DWORD *_pdwStubPhase);
  1212. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRTCClient_put_LocalUserURI_Proxy( 
  1213.     IRTCClient * This,
  1214.     /* [in] */ BSTR bstrUserURI);
  1215. void __RPC_STUB IRTCClient_put_LocalUserURI_Stub(
  1216.     IRpcStubBuffer *This,
  1217.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1218.     PRPC_MESSAGE _pRpcMessage,
  1219.     DWORD *_pdwStubPhase);
  1220. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClient_get_LocalUserName_Proxy( 
  1221.     IRTCClient * This,
  1222.     /* [retval][out] */ BSTR *pbstrUserName);
  1223. void __RPC_STUB IRTCClient_get_LocalUserName_Stub(
  1224.     IRpcStubBuffer *This,
  1225.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1226.     PRPC_MESSAGE _pRpcMessage,
  1227.     DWORD *_pdwStubPhase);
  1228. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRTCClient_put_LocalUserName_Proxy( 
  1229.     IRTCClient * This,
  1230.     /* [in] */ BSTR bstrUserName);
  1231. void __RPC_STUB IRTCClient_put_LocalUserName_Stub(
  1232.     IRpcStubBuffer *This,
  1233.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1234.     PRPC_MESSAGE _pRpcMessage,
  1235.     DWORD *_pdwStubPhase);
  1236. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCClient_PlayRing_Proxy( 
  1237.     IRTCClient * This,
  1238.     /* [in] */ RTC_RING_TYPE enType,
  1239.     /* [in] */ VARIANT_BOOL bPlay);
  1240. void __RPC_STUB IRTCClient_PlayRing_Stub(
  1241.     IRpcStubBuffer *This,
  1242.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1243.     PRPC_MESSAGE _pRpcMessage,
  1244.     DWORD *_pdwStubPhase);
  1245. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCClient_SendDTMF_Proxy( 
  1246.     IRTCClient * This,
  1247.     /* [in] */ RTC_DTMF enDTMF);
  1248. void __RPC_STUB IRTCClient_SendDTMF_Stub(
  1249.     IRpcStubBuffer *This,
  1250.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1251.     PRPC_MESSAGE _pRpcMessage,
  1252.     DWORD *_pdwStubPhase);
  1253. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCClient_InvokeTuningWizard_Proxy( 
  1254.     IRTCClient * This,
  1255.     /* [in] */ OAHWND hwndParent);
  1256. void __RPC_STUB IRTCClient_InvokeTuningWizard_Stub(
  1257.     IRpcStubBuffer *This,
  1258.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1259.     PRPC_MESSAGE _pRpcMessage,
  1260.     DWORD *_pdwStubPhase);
  1261. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClient_get_IsTuned_Proxy( 
  1262.     IRTCClient * This,
  1263.     /* [retval][out] */ VARIANT_BOOL *pfTuned);
  1264. void __RPC_STUB IRTCClient_get_IsTuned_Stub(
  1265.     IRpcStubBuffer *This,
  1266.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1267.     PRPC_MESSAGE _pRpcMessage,
  1268.     DWORD *_pdwStubPhase);
  1269. #endif  /* __IRTCClient_INTERFACE_DEFINED__ */
  1270. #ifndef __IRTCClientPresence_INTERFACE_DEFINED__
  1271. #define __IRTCClientPresence_INTERFACE_DEFINED__
  1272. /* interface IRTCClientPresence */
  1273. /* [unique][helpstring][uuid][object] */ 
  1274. EXTERN_C const IID IID_IRTCClientPresence;
  1275. #if defined(__cplusplus) && !defined(CINTERFACE)
  1276.     
  1277.     MIDL_INTERFACE("11c3cbcc-0744-42d1-968a-51aa1bb274c6")
  1278.     IRTCClientPresence : public IUnknown
  1279.     {
  1280.     public:
  1281.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnablePresence( 
  1282.             /* [in] */ VARIANT_BOOL fUseStorage,
  1283.             /* [in] */ VARIANT varStorage) = 0;
  1284.         
  1285.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Export( 
  1286.             /* [in] */ VARIANT varStorage) = 0;
  1287.         
  1288.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Import( 
  1289.             /* [in] */ VARIANT varStorage,
  1290.             /* [in] */ VARIANT_BOOL fReplaceAll) = 0;
  1291.         
  1292.         virtual /* [helpstring][hidden] */ HRESULT STDMETHODCALLTYPE EnumerateBuddies( 
  1293.             /* [retval][out] */ IRTCEnumBuddies **ppEnum) = 0;
  1294.         
  1295.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Buddies( 
  1296.             /* [retval][out] */ IRTCCollection **ppCollection) = 0;
  1297.         
  1298.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Buddy( 
  1299.             /* [in] */ BSTR bstrPresentityURI,
  1300.             /* [retval][out] */ IRTCBuddy **ppBuddy) = 0;
  1301.         
  1302.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddBuddy( 
  1303.             /* [in] */ BSTR bstrPresentityURI,
  1304.             /* [in] */ BSTR bstrUserName,
  1305.             /* [in] */ BSTR bstrData,
  1306.             /* [in] */ VARIANT_BOOL fPersistent,
  1307.             /* [in] */ IRTCProfile *pProfile,
  1308.             /* [in] */ long lFlags,
  1309.             /* [retval][out] */ IRTCBuddy **ppBuddy) = 0;
  1310.         
  1311.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveBuddy( 
  1312.             /* [in] */ IRTCBuddy *pBuddy) = 0;
  1313.         
  1314.         virtual /* [helpstring][hidden] */ HRESULT STDMETHODCALLTYPE EnumerateWatchers( 
  1315.             /* [retval][out] */ IRTCEnumWatchers **ppEnum) = 0;
  1316.         
  1317.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Watchers( 
  1318.             /* [retval][out] */ IRTCCollection **ppCollection) = 0;
  1319.         
  1320.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Watcher( 
  1321.             /* [in] */ BSTR bstrPresentityURI,
  1322.             /* [retval][out] */ IRTCWatcher **ppWatcher) = 0;
  1323.         
  1324.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddWatcher( 
  1325.             /* [in] */ BSTR bstrPresentityURI,
  1326.             /* [in] */ BSTR bstrUserName,
  1327.             /* [in] */ BSTR bstrData,
  1328.             /* [in] */ VARIANT_BOOL fBlocked,
  1329.             /* [in] */ VARIANT_BOOL fPersistent,
  1330.             /* [retval][out] */ IRTCWatcher **ppWatcher) = 0;
  1331.         
  1332.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveWatcher( 
  1333.             /* [in] */ IRTCWatcher *pWatcher) = 0;
  1334.         
  1335.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetLocalPresenceInfo( 
  1336.             /* [in] */ RTC_PRESENCE_STATUS enStatus,
  1337.             /* [in] */ BSTR bstrNotes) = 0;
  1338.         
  1339.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_OfferWatcherMode( 
  1340.             /* [retval][out] */ RTC_OFFER_WATCHER_MODE *penMode) = 0;
  1341.         
  1342.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_OfferWatcherMode( 
  1343.             /* [in] */ RTC_OFFER_WATCHER_MODE enMode) = 0;
  1344.         
  1345.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PrivacyMode( 
  1346.             /* [retval][out] */ RTC_PRIVACY_MODE *penMode) = 0;
  1347.         
  1348.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PrivacyMode( 
  1349.             /* [in] */ RTC_PRIVACY_MODE enMode) = 0;
  1350.         
  1351.     };
  1352.     
  1353. #else  /* C style interface */
  1354.     typedef struct IRTCClientPresenceVtbl
  1355.     {
  1356.         BEGIN_INTERFACE
  1357.         
  1358.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1359.             IRTCClientPresence * This,
  1360.             /* [in] */ REFIID riid,
  1361.             /* [iid_is][out] */ void **ppvObject);
  1362.         
  1363.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1364.             IRTCClientPresence * This);
  1365.         
  1366.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1367.             IRTCClientPresence * This);
  1368.         
  1369.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnablePresence )( 
  1370.             IRTCClientPresence * This,
  1371.             /* [in] */ VARIANT_BOOL fUseStorage,
  1372.             /* [in] */ VARIANT varStorage);
  1373.         
  1374.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Export )( 
  1375.             IRTCClientPresence * This,
  1376.             /* [in] */ VARIANT varStorage);
  1377.         
  1378.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Import )( 
  1379.             IRTCClientPresence * This,
  1380.             /* [in] */ VARIANT varStorage,
  1381.             /* [in] */ VARIANT_BOOL fReplaceAll);
  1382.         
  1383.         /* [helpstring][hidden] */ HRESULT ( STDMETHODCALLTYPE *EnumerateBuddies )( 
  1384.             IRTCClientPresence * This,
  1385.             /* [retval][out] */ IRTCEnumBuddies **ppEnum);
  1386.         
  1387.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Buddies )( 
  1388.             IRTCClientPresence * This,
  1389.             /* [retval][out] */ IRTCCollection **ppCollection);
  1390.         
  1391.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Buddy )( 
  1392.             IRTCClientPresence * This,
  1393.             /* [in] */ BSTR bstrPresentityURI,
  1394.             /* [retval][out] */ IRTCBuddy **ppBuddy);
  1395.         
  1396.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddBuddy )( 
  1397.             IRTCClientPresence * This,
  1398.             /* [in] */ BSTR bstrPresentityURI,
  1399.             /* [in] */ BSTR bstrUserName,
  1400.             /* [in] */ BSTR bstrData,
  1401.             /* [in] */ VARIANT_BOOL fPersistent,
  1402.             /* [in] */ IRTCProfile *pProfile,
  1403.             /* [in] */ long lFlags,
  1404.             /* [retval][out] */ IRTCBuddy **ppBuddy);
  1405.         
  1406.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveBuddy )( 
  1407.             IRTCClientPresence * This,
  1408.             /* [in] */ IRTCBuddy *pBuddy);
  1409.         
  1410.         /* [helpstring][hidden] */ HRESULT ( STDMETHODCALLTYPE *EnumerateWatchers )( 
  1411.             IRTCClientPresence * This,
  1412.             /* [retval][out] */ IRTCEnumWatchers **ppEnum);
  1413.         
  1414.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Watchers )( 
  1415.             IRTCClientPresence * This,
  1416.             /* [retval][out] */ IRTCCollection **ppCollection);
  1417.         
  1418.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Watcher )( 
  1419.             IRTCClientPresence * This,
  1420.             /* [in] */ BSTR bstrPresentityURI,
  1421.             /* [retval][out] */ IRTCWatcher **ppWatcher);
  1422.         
  1423.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddWatcher )( 
  1424.             IRTCClientPresence * This,
  1425.             /* [in] */ BSTR bstrPresentityURI,
  1426.             /* [in] */ BSTR bstrUserName,
  1427.             /* [in] */ BSTR bstrData,
  1428.             /* [in] */ VARIANT_BOOL fBlocked,
  1429.             /* [in] */ VARIANT_BOOL fPersistent,
  1430.             /* [retval][out] */ IRTCWatcher **ppWatcher);
  1431.         
  1432.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveWatcher )( 
  1433.             IRTCClientPresence * This,
  1434.             /* [in] */ IRTCWatcher *pWatcher);
  1435.         
  1436.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetLocalPresenceInfo )( 
  1437.             IRTCClientPresence * This,
  1438.             /* [in] */ RTC_PRESENCE_STATUS enStatus,
  1439.             /* [in] */ BSTR bstrNotes);
  1440.         
  1441.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OfferWatcherMode )( 
  1442.             IRTCClientPresence * This,
  1443.             /* [retval][out] */ RTC_OFFER_WATCHER_MODE *penMode);
  1444.         
  1445.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_OfferWatcherMode )( 
  1446.             IRTCClientPresence * This,
  1447.             /* [in] */ RTC_OFFER_WATCHER_MODE enMode);
  1448.         
  1449.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrivacyMode )( 
  1450.             IRTCClientPresence * This,
  1451.             /* [retval][out] */ RTC_PRIVACY_MODE *penMode);
  1452.         
  1453.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PrivacyMode )( 
  1454.             IRTCClientPresence * This,
  1455.             /* [in] */ RTC_PRIVACY_MODE enMode);
  1456.         
  1457.         END_INTERFACE
  1458.     } IRTCClientPresenceVtbl;
  1459.     interface IRTCClientPresence
  1460.     {
  1461.         CONST_VTBL struct IRTCClientPresenceVtbl *lpVtbl;
  1462.     };
  1463.     
  1464. #ifdef COBJMACROS
  1465. #define IRTCClientPresence_QueryInterface(This,riid,ppvObject)
  1466.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1467. #define IRTCClientPresence_AddRef(This)
  1468.     (This)->lpVtbl -> AddRef(This)
  1469. #define IRTCClientPresence_Release(This)
  1470.     (This)->lpVtbl -> Release(This)
  1471. #define IRTCClientPresence_EnablePresence(This,fUseStorage,varStorage)
  1472.     (This)->lpVtbl -> EnablePresence(This,fUseStorage,varStorage)
  1473. #define IRTCClientPresence_Export(This,varStorage)
  1474.     (This)->lpVtbl -> Export(This,varStorage)
  1475. #define IRTCClientPresence_Import(This,varStorage,fReplaceAll)
  1476.     (This)->lpVtbl -> Import(This,varStorage,fReplaceAll)
  1477. #define IRTCClientPresence_EnumerateBuddies(This,ppEnum)
  1478.     (This)->lpVtbl -> EnumerateBuddies(This,ppEnum)
  1479. #define IRTCClientPresence_get_Buddies(This,ppCollection)
  1480.     (This)->lpVtbl -> get_Buddies(This,ppCollection)
  1481. #define IRTCClientPresence_get_Buddy(This,bstrPresentityURI,ppBuddy)
  1482.     (This)->lpVtbl -> get_Buddy(This,bstrPresentityURI,ppBuddy)
  1483. #define IRTCClientPresence_AddBuddy(This,bstrPresentityURI,bstrUserName,bstrData,fPersistent,pProfile,lFlags,ppBuddy)
  1484.     (This)->lpVtbl -> AddBuddy(This,bstrPresentityURI,bstrUserName,bstrData,fPersistent,pProfile,lFlags,ppBuddy)
  1485. #define IRTCClientPresence_RemoveBuddy(This,pBuddy)
  1486.     (This)->lpVtbl -> RemoveBuddy(This,pBuddy)
  1487. #define IRTCClientPresence_EnumerateWatchers(This,ppEnum)
  1488.     (This)->lpVtbl -> EnumerateWatchers(This,ppEnum)
  1489. #define IRTCClientPresence_get_Watchers(This,ppCollection)
  1490.     (This)->lpVtbl -> get_Watchers(This,ppCollection)
  1491. #define IRTCClientPresence_get_Watcher(This,bstrPresentityURI,ppWatcher)
  1492.     (This)->lpVtbl -> get_Watcher(This,bstrPresentityURI,ppWatcher)
  1493. #define IRTCClientPresence_AddWatcher(This,bstrPresentityURI,bstrUserName,bstrData,fBlocked,fPersistent,ppWatcher)
  1494.     (This)->lpVtbl -> AddWatcher(This,bstrPresentityURI,bstrUserName,bstrData,fBlocked,fPersistent,ppWatcher)
  1495. #define IRTCClientPresence_RemoveWatcher(This,pWatcher)
  1496.     (This)->lpVtbl -> RemoveWatcher(This,pWatcher)
  1497. #define IRTCClientPresence_SetLocalPresenceInfo(This,enStatus,bstrNotes)
  1498.     (This)->lpVtbl -> SetLocalPresenceInfo(This,enStatus,bstrNotes)
  1499. #define IRTCClientPresence_get_OfferWatcherMode(This,penMode)
  1500.     (This)->lpVtbl -> get_OfferWatcherMode(This,penMode)
  1501. #define IRTCClientPresence_put_OfferWatcherMode(This,enMode)
  1502.     (This)->lpVtbl -> put_OfferWatcherMode(This,enMode)
  1503. #define IRTCClientPresence_get_PrivacyMode(This,penMode)
  1504.     (This)->lpVtbl -> get_PrivacyMode(This,penMode)
  1505. #define IRTCClientPresence_put_PrivacyMode(This,enMode)
  1506.     (This)->lpVtbl -> put_PrivacyMode(This,enMode)
  1507. #endif /* COBJMACROS */
  1508. #endif  /* C style interface */
  1509. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCClientPresence_EnablePresence_Proxy( 
  1510.     IRTCClientPresence * This,
  1511.     /* [in] */ VARIANT_BOOL fUseStorage,
  1512.     /* [in] */ VARIANT varStorage);
  1513. void __RPC_STUB IRTCClientPresence_EnablePresence_Stub(
  1514.     IRpcStubBuffer *This,
  1515.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1516.     PRPC_MESSAGE _pRpcMessage,
  1517.     DWORD *_pdwStubPhase);
  1518. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCClientPresence_Export_Proxy( 
  1519.     IRTCClientPresence * This,
  1520.     /* [in] */ VARIANT varStorage);
  1521. void __RPC_STUB IRTCClientPresence_Export_Stub(
  1522.     IRpcStubBuffer *This,
  1523.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1524.     PRPC_MESSAGE _pRpcMessage,
  1525.     DWORD *_pdwStubPhase);
  1526. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCClientPresence_Import_Proxy( 
  1527.     IRTCClientPresence * This,
  1528.     /* [in] */ VARIANT varStorage,
  1529.     /* [in] */ VARIANT_BOOL fReplaceAll);
  1530. void __RPC_STUB IRTCClientPresence_Import_Stub(
  1531.     IRpcStubBuffer *This,
  1532.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1533.     PRPC_MESSAGE _pRpcMessage,
  1534.     DWORD *_pdwStubPhase);
  1535. /* [helpstring][hidden] */ HRESULT STDMETHODCALLTYPE IRTCClientPresence_EnumerateBuddies_Proxy( 
  1536.     IRTCClientPresence * This,
  1537.     /* [retval][out] */ IRTCEnumBuddies **ppEnum);
  1538. void __RPC_STUB IRTCClientPresence_EnumerateBuddies_Stub(
  1539.     IRpcStubBuffer *This,
  1540.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1541.     PRPC_MESSAGE _pRpcMessage,
  1542.     DWORD *_pdwStubPhase);
  1543. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClientPresence_get_Buddies_Proxy( 
  1544.     IRTCClientPresence * This,
  1545.     /* [retval][out] */ IRTCCollection **ppCollection);
  1546. void __RPC_STUB IRTCClientPresence_get_Buddies_Stub(
  1547.     IRpcStubBuffer *This,
  1548.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1549.     PRPC_MESSAGE _pRpcMessage,
  1550.     DWORD *_pdwStubPhase);
  1551. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClientPresence_get_Buddy_Proxy( 
  1552.     IRTCClientPresence * This,
  1553.     /* [in] */ BSTR bstrPresentityURI,
  1554.     /* [retval][out] */ IRTCBuddy **ppBuddy);
  1555. void __RPC_STUB IRTCClientPresence_get_Buddy_Stub(
  1556.     IRpcStubBuffer *This,
  1557.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1558.     PRPC_MESSAGE _pRpcMessage,
  1559.     DWORD *_pdwStubPhase);
  1560. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCClientPresence_AddBuddy_Proxy( 
  1561.     IRTCClientPresence * This,
  1562.     /* [in] */ BSTR bstrPresentityURI,
  1563.     /* [in] */ BSTR bstrUserName,
  1564.     /* [in] */ BSTR bstrData,
  1565.     /* [in] */ VARIANT_BOOL fPersistent,
  1566.     /* [in] */ IRTCProfile *pProfile,
  1567.     /* [in] */ long lFlags,
  1568.     /* [retval][out] */ IRTCBuddy **ppBuddy);
  1569. void __RPC_STUB IRTCClientPresence_AddBuddy_Stub(
  1570.     IRpcStubBuffer *This,
  1571.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1572.     PRPC_MESSAGE _pRpcMessage,
  1573.     DWORD *_pdwStubPhase);
  1574. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCClientPresence_RemoveBuddy_Proxy( 
  1575.     IRTCClientPresence * This,
  1576.     /* [in] */ IRTCBuddy *pBuddy);
  1577. void __RPC_STUB IRTCClientPresence_RemoveBuddy_Stub(
  1578.     IRpcStubBuffer *This,
  1579.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1580.     PRPC_MESSAGE _pRpcMessage,
  1581.     DWORD *_pdwStubPhase);
  1582. /* [helpstring][hidden] */ HRESULT STDMETHODCALLTYPE IRTCClientPresence_EnumerateWatchers_Proxy( 
  1583.     IRTCClientPresence * This,
  1584.     /* [retval][out] */ IRTCEnumWatchers **ppEnum);
  1585. void __RPC_STUB IRTCClientPresence_EnumerateWatchers_Stub(
  1586.     IRpcStubBuffer *This,
  1587.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1588.     PRPC_MESSAGE _pRpcMessage,
  1589.     DWORD *_pdwStubPhase);
  1590. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClientPresence_get_Watchers_Proxy( 
  1591.     IRTCClientPresence * This,
  1592.     /* [retval][out] */ IRTCCollection **ppCollection);
  1593. void __RPC_STUB IRTCClientPresence_get_Watchers_Stub(
  1594.     IRpcStubBuffer *This,
  1595.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1596.     PRPC_MESSAGE _pRpcMessage,
  1597.     DWORD *_pdwStubPhase);
  1598. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClientPresence_get_Watcher_Proxy( 
  1599.     IRTCClientPresence * This,
  1600.     /* [in] */ BSTR bstrPresentityURI,
  1601.     /* [retval][out] */ IRTCWatcher **ppWatcher);
  1602. void __RPC_STUB IRTCClientPresence_get_Watcher_Stub(
  1603.     IRpcStubBuffer *This,
  1604.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1605.     PRPC_MESSAGE _pRpcMessage,
  1606.     DWORD *_pdwStubPhase);
  1607. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCClientPresence_AddWatcher_Proxy( 
  1608.     IRTCClientPresence * This,
  1609.     /* [in] */ BSTR bstrPresentityURI,
  1610.     /* [in] */ BSTR bstrUserName,
  1611.     /* [in] */ BSTR bstrData,
  1612.     /* [in] */ VARIANT_BOOL fBlocked,
  1613.     /* [in] */ VARIANT_BOOL fPersistent,
  1614.     /* [retval][out] */ IRTCWatcher **ppWatcher);
  1615. void __RPC_STUB IRTCClientPresence_AddWatcher_Stub(
  1616.     IRpcStubBuffer *This,
  1617.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1618.     PRPC_MESSAGE _pRpcMessage,
  1619.     DWORD *_pdwStubPhase);
  1620. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCClientPresence_RemoveWatcher_Proxy( 
  1621.     IRTCClientPresence * This,
  1622.     /* [in] */ IRTCWatcher *pWatcher);
  1623. void __RPC_STUB IRTCClientPresence_RemoveWatcher_Stub(
  1624.     IRpcStubBuffer *This,
  1625.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1626.     PRPC_MESSAGE _pRpcMessage,
  1627.     DWORD *_pdwStubPhase);
  1628. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCClientPresence_SetLocalPresenceInfo_Proxy( 
  1629.     IRTCClientPresence * This,
  1630.     /* [in] */ RTC_PRESENCE_STATUS enStatus,
  1631.     /* [in] */ BSTR bstrNotes);
  1632. void __RPC_STUB IRTCClientPresence_SetLocalPresenceInfo_Stub(
  1633.     IRpcStubBuffer *This,
  1634.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1635.     PRPC_MESSAGE _pRpcMessage,
  1636.     DWORD *_pdwStubPhase);
  1637. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClientPresence_get_OfferWatcherMode_Proxy( 
  1638.     IRTCClientPresence * This,
  1639.     /* [retval][out] */ RTC_OFFER_WATCHER_MODE *penMode);
  1640. void __RPC_STUB IRTCClientPresence_get_OfferWatcherMode_Stub(
  1641.     IRpcStubBuffer *This,
  1642.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1643.     PRPC_MESSAGE _pRpcMessage,
  1644.     DWORD *_pdwStubPhase);
  1645. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRTCClientPresence_put_OfferWatcherMode_Proxy( 
  1646.     IRTCClientPresence * This,
  1647.     /* [in] */ RTC_OFFER_WATCHER_MODE enMode);
  1648. void __RPC_STUB IRTCClientPresence_put_OfferWatcherMode_Stub(
  1649.     IRpcStubBuffer *This,
  1650.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1651.     PRPC_MESSAGE _pRpcMessage,
  1652.     DWORD *_pdwStubPhase);
  1653. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClientPresence_get_PrivacyMode_Proxy( 
  1654.     IRTCClientPresence * This,
  1655.     /* [retval][out] */ RTC_PRIVACY_MODE *penMode);
  1656. void __RPC_STUB IRTCClientPresence_get_PrivacyMode_Stub(
  1657.     IRpcStubBuffer *This,
  1658.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1659.     PRPC_MESSAGE _pRpcMessage,
  1660.     DWORD *_pdwStubPhase);
  1661. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRTCClientPresence_put_PrivacyMode_Proxy( 
  1662.     IRTCClientPresence * This,
  1663.     /* [in] */ RTC_PRIVACY_MODE enMode);
  1664. void __RPC_STUB IRTCClientPresence_put_PrivacyMode_Stub(
  1665.     IRpcStubBuffer *This,
  1666.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1667.     PRPC_MESSAGE _pRpcMessage,
  1668.     DWORD *_pdwStubPhase);
  1669. #endif  /* __IRTCClientPresence_INTERFACE_DEFINED__ */
  1670. #ifndef __IRTCClientProvisioning_INTERFACE_DEFINED__
  1671. #define __IRTCClientProvisioning_INTERFACE_DEFINED__
  1672. /* interface IRTCClientProvisioning */
  1673. /* [unique][helpstring][uuid][object] */ 
  1674. EXTERN_C const IID IID_IRTCClientProvisioning;
  1675. #if defined(__cplusplus) && !defined(CINTERFACE)
  1676.     
  1677.     MIDL_INTERFACE("B9F5CF06-65B9-4a80-A0E6-73CAE3EF3822")
  1678.     IRTCClientProvisioning : public IUnknown
  1679.     {
  1680.     public:
  1681.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateProfile( 
  1682.             /* [in] */ BSTR bstrProfileXML,
  1683.             /* [retval][out] */ IRTCProfile **ppProfile) = 0;
  1684.         
  1685.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnableProfile( 
  1686.             /* [in] */ IRTCProfile *pProfile,
  1687.             /* [in] */ long lRegisterFlags) = 0;
  1688.         
  1689.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DisableProfile( 
  1690.             /* [in] */ IRTCProfile *pProfile) = 0;
  1691.         
  1692.         virtual /* [helpstring][hidden] */ HRESULT STDMETHODCALLTYPE EnumerateProfiles( 
  1693.             /* [retval][out] */ IRTCEnumProfiles **ppEnum) = 0;
  1694.         
  1695.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Profiles( 
  1696.             /* [retval][out] */ IRTCCollection **ppCollection) = 0;
  1697.         
  1698.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProfile( 
  1699.             /* [in] */ BSTR bstrUserAccount,
  1700.             /* [in] */ BSTR bstrUserPassword,
  1701.             /* [in] */ BSTR bstrUserURI,
  1702.             /* [in] */ BSTR bstrServer,
  1703.             /* [in] */ long lTransport,
  1704.             /* [in] */ long lCookie) = 0;
  1705.         
  1706.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SessionCapabilities( 
  1707.             /* [retval][out] */ long *plSupportedSessions) = 0;
  1708.         
  1709.     };
  1710.     
  1711. #else  /* C style interface */
  1712.     typedef struct IRTCClientProvisioningVtbl
  1713.     {
  1714.         BEGIN_INTERFACE
  1715.         
  1716.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1717.             IRTCClientProvisioning * This,
  1718.             /* [in] */ REFIID riid,
  1719.             /* [iid_is][out] */ void **ppvObject);
  1720.         
  1721.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1722.             IRTCClientProvisioning * This);
  1723.         
  1724.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1725.             IRTCClientProvisioning * This);
  1726.         
  1727.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateProfile )( 
  1728.             IRTCClientProvisioning * This,
  1729.             /* [in] */ BSTR bstrProfileXML,
  1730.             /* [retval][out] */ IRTCProfile **ppProfile);
  1731.         
  1732.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnableProfile )( 
  1733.             IRTCClientProvisioning * This,
  1734.             /* [in] */ IRTCProfile *pProfile,
  1735.             /* [in] */ long lRegisterFlags);
  1736.         
  1737.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DisableProfile )( 
  1738.             IRTCClientProvisioning * This,
  1739.             /* [in] */ IRTCProfile *pProfile);
  1740.         
  1741.         /* [helpstring][hidden] */ HRESULT ( STDMETHODCALLTYPE *EnumerateProfiles )( 
  1742.             IRTCClientProvisioning * This,
  1743.             /* [retval][out] */ IRTCEnumProfiles **ppEnum);
  1744.         
  1745.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Profiles )( 
  1746.             IRTCClientProvisioning * This,
  1747.             /* [retval][out] */ IRTCCollection **ppCollection);
  1748.         
  1749.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProfile )( 
  1750.             IRTCClientProvisioning * This,
  1751.             /* [in] */ BSTR bstrUserAccount,
  1752.             /* [in] */ BSTR bstrUserPassword,
  1753.             /* [in] */ BSTR bstrUserURI,
  1754.             /* [in] */ BSTR bstrServer,
  1755.             /* [in] */ long lTransport,
  1756.             /* [in] */ long lCookie);
  1757.         
  1758.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SessionCapabilities )( 
  1759.             IRTCClientProvisioning * This,
  1760.             /* [retval][out] */ long *plSupportedSessions);
  1761.         
  1762.         END_INTERFACE
  1763.     } IRTCClientProvisioningVtbl;
  1764.     interface IRTCClientProvisioning
  1765.     {
  1766.         CONST_VTBL struct IRTCClientProvisioningVtbl *lpVtbl;
  1767.     };
  1768.     
  1769. #ifdef COBJMACROS
  1770. #define IRTCClientProvisioning_QueryInterface(This,riid,ppvObject)
  1771.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1772. #define IRTCClientProvisioning_AddRef(This)
  1773.     (This)->lpVtbl -> AddRef(This)
  1774. #define IRTCClientProvisioning_Release(This)
  1775.     (This)->lpVtbl -> Release(This)
  1776. #define IRTCClientProvisioning_CreateProfile(This,bstrProfileXML,ppProfile)
  1777.     (This)->lpVtbl -> CreateProfile(This,bstrProfileXML,ppProfile)
  1778. #define IRTCClientProvisioning_EnableProfile(This,pProfile,lRegisterFlags)
  1779.     (This)->lpVtbl -> EnableProfile(This,pProfile,lRegisterFlags)
  1780. #define IRTCClientProvisioning_DisableProfile(This,pProfile)
  1781.     (This)->lpVtbl -> DisableProfile(This,pProfile)
  1782. #define IRTCClientProvisioning_EnumerateProfiles(This,ppEnum)
  1783.     (This)->lpVtbl -> EnumerateProfiles(This,ppEnum)
  1784. #define IRTCClientProvisioning_get_Profiles(This,ppCollection)
  1785.     (This)->lpVtbl -> get_Profiles(This,ppCollection)
  1786. #define IRTCClientProvisioning_GetProfile(This,bstrUserAccount,bstrUserPassword,bstrUserURI,bstrServer,lTransport,lCookie)
  1787.     (This)->lpVtbl -> GetProfile(This,bstrUserAccount,bstrUserPassword,bstrUserURI,bstrServer,lTransport,lCookie)
  1788. #define IRTCClientProvisioning_get_SessionCapabilities(This,plSupportedSessions)
  1789.     (This)->lpVtbl -> get_SessionCapabilities(This,plSupportedSessions)
  1790. #endif /* COBJMACROS */
  1791. #endif  /* C style interface */
  1792. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCClientProvisioning_CreateProfile_Proxy( 
  1793.     IRTCClientProvisioning * This,
  1794.     /* [in] */ BSTR bstrProfileXML,
  1795.     /* [retval][out] */ IRTCProfile **ppProfile);
  1796. void __RPC_STUB IRTCClientProvisioning_CreateProfile_Stub(
  1797.     IRpcStubBuffer *This,
  1798.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1799.     PRPC_MESSAGE _pRpcMessage,
  1800.     DWORD *_pdwStubPhase);
  1801. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCClientProvisioning_EnableProfile_Proxy( 
  1802.     IRTCClientProvisioning * This,
  1803.     /* [in] */ IRTCProfile *pProfile,
  1804.     /* [in] */ long lRegisterFlags);
  1805. void __RPC_STUB IRTCClientProvisioning_EnableProfile_Stub(
  1806.     IRpcStubBuffer *This,
  1807.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1808.     PRPC_MESSAGE _pRpcMessage,
  1809.     DWORD *_pdwStubPhase);
  1810. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCClientProvisioning_DisableProfile_Proxy( 
  1811.     IRTCClientProvisioning * This,
  1812.     /* [in] */ IRTCProfile *pProfile);
  1813. void __RPC_STUB IRTCClientProvisioning_DisableProfile_Stub(
  1814.     IRpcStubBuffer *This,
  1815.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1816.     PRPC_MESSAGE _pRpcMessage,
  1817.     DWORD *_pdwStubPhase);
  1818. /* [helpstring][hidden] */ HRESULT STDMETHODCALLTYPE IRTCClientProvisioning_EnumerateProfiles_Proxy( 
  1819.     IRTCClientProvisioning * This,
  1820.     /* [retval][out] */ IRTCEnumProfiles **ppEnum);
  1821. void __RPC_STUB IRTCClientProvisioning_EnumerateProfiles_Stub(
  1822.     IRpcStubBuffer *This,
  1823.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1824.     PRPC_MESSAGE _pRpcMessage,
  1825.     DWORD *_pdwStubPhase);
  1826. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClientProvisioning_get_Profiles_Proxy( 
  1827.     IRTCClientProvisioning * This,
  1828.     /* [retval][out] */ IRTCCollection **ppCollection);
  1829. void __RPC_STUB IRTCClientProvisioning_get_Profiles_Stub(
  1830.     IRpcStubBuffer *This,
  1831.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1832.     PRPC_MESSAGE _pRpcMessage,
  1833.     DWORD *_pdwStubPhase);
  1834. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCClientProvisioning_GetProfile_Proxy( 
  1835.     IRTCClientProvisioning * This,
  1836.     /* [in] */ BSTR bstrUserAccount,
  1837.     /* [in] */ BSTR bstrUserPassword,
  1838.     /* [in] */ BSTR bstrUserURI,
  1839.     /* [in] */ BSTR bstrServer,
  1840.     /* [in] */ long lTransport,
  1841.     /* [in] */ long lCookie);
  1842. void __RPC_STUB IRTCClientProvisioning_GetProfile_Stub(
  1843.     IRpcStubBuffer *This,
  1844.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1845.     PRPC_MESSAGE _pRpcMessage,
  1846.     DWORD *_pdwStubPhase);
  1847. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCClientProvisioning_get_SessionCapabilities_Proxy( 
  1848.     IRTCClientProvisioning * This,
  1849.     /* [retval][out] */ long *plSupportedSessions);
  1850. void __RPC_STUB IRTCClientProvisioning_get_SessionCapabilities_Stub(
  1851.     IRpcStubBuffer *This,
  1852.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1853.     PRPC_MESSAGE _pRpcMessage,
  1854.     DWORD *_pdwStubPhase);
  1855. #endif  /* __IRTCClientProvisioning_INTERFACE_DEFINED__ */
  1856. #ifndef __IRTCProfile_INTERFACE_DEFINED__
  1857. #define __IRTCProfile_INTERFACE_DEFINED__
  1858. /* interface IRTCProfile */
  1859. /* [unique][helpstring][uuid][object] */ 
  1860. EXTERN_C const IID IID_IRTCProfile;
  1861. #if defined(__cplusplus) && !defined(CINTERFACE)
  1862.     
  1863.     MIDL_INTERFACE("d07eca9e-4062-4dd4-9e7d-722a49ba7303")
  1864.     IRTCProfile : public IUnknown
  1865.     {
  1866.     public:
  1867.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Key( 
  1868.             /* [retval][out] */ BSTR *pbstrKey) = 0;
  1869.         
  1870.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  1871.             /* [retval][out] */ BSTR *pbstrName) = 0;
  1872.         
  1873.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_XML( 
  1874.             /* [retval][out] */ BSTR *pbstrXML) = 0;
  1875.         
  1876.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ProviderName( 
  1877.             /* [retval][out] */ BSTR *pbstrName) = 0;
  1878.         
  1879.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ProviderURI( 
  1880.             /* [in] */ RTC_PROVIDER_URI enURI,
  1881.             /* [retval][out] */ BSTR *pbstrURI) = 0;
  1882.         
  1883.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ProviderData( 
  1884.             /* [retval][out] */ BSTR *pbstrData) = 0;
  1885.         
  1886.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ClientName( 
  1887.             /* [retval][out] */ BSTR *pbstrName) = 0;
  1888.         
  1889.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ClientBanner( 
  1890.             /* [retval][out] */ VARIANT_BOOL *pfBanner) = 0;
  1891.         
  1892.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ClientMinVer( 
  1893.             /* [retval][out] */ BSTR *pbstrMinVer) = 0;
  1894.         
  1895.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ClientCurVer( 
  1896.             /* [retval][out] */ BSTR *pbstrCurVer) = 0;
  1897.         
  1898.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ClientUpdateURI( 
  1899.             /* [retval][out] */ BSTR *pbstrUpdateURI) = 0;
  1900.         
  1901.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ClientData( 
  1902.             /* [retval][out] */ BSTR *pbstrData) = 0;
  1903.         
  1904.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_UserURI( 
  1905.             /* [retval][out] */ BSTR *pbstrUserURI) = 0;
  1906.         
  1907.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_UserName( 
  1908.             /* [retval][out] */ BSTR *pbstrUserName) = 0;
  1909.         
  1910.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_UserAccount( 
  1911.             /* [retval][out] */ BSTR *pbstrUserAccount) = 0;
  1912.         
  1913.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetCredentials( 
  1914.             /* [in] */ BSTR bstrUserURI,
  1915.             /* [in] */ BSTR bstrUserAccount,
  1916.             /* [in] */ BSTR bstrPassword) = 0;
  1917.         
  1918.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SessionCapabilities( 
  1919.             /* [retval][out] */ long *plSupportedSessions) = 0;
  1920.         
  1921.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_State( 
  1922.             /* [retval][out] */ RTC_REGISTRATION_STATE *penState) = 0;
  1923.         
  1924.     };
  1925.     
  1926. #else  /* C style interface */
  1927.     typedef struct IRTCProfileVtbl
  1928.     {
  1929.         BEGIN_INTERFACE
  1930.         
  1931.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1932.             IRTCProfile * This,
  1933.             /* [in] */ REFIID riid,
  1934.             /* [iid_is][out] */ void **ppvObject);
  1935.         
  1936.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1937.             IRTCProfile * This);
  1938.         
  1939.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1940.             IRTCProfile * This);
  1941.         
  1942.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Key )( 
  1943.             IRTCProfile * This,
  1944.             /* [retval][out] */ BSTR *pbstrKey);
  1945.         
  1946.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  1947.             IRTCProfile * This,
  1948.             /* [retval][out] */ BSTR *pbstrName);
  1949.         
  1950.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_XML )( 
  1951.             IRTCProfile * This,
  1952.             /* [retval][out] */ BSTR *pbstrXML);
  1953.         
  1954.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderName )( 
  1955.             IRTCProfile * This,
  1956.             /* [retval][out] */ BSTR *pbstrName);
  1957.         
  1958.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderURI )( 
  1959.             IRTCProfile * This,
  1960.             /* [in] */ RTC_PROVIDER_URI enURI,
  1961.             /* [retval][out] */ BSTR *pbstrURI);
  1962.         
  1963.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderData )( 
  1964.             IRTCProfile * This,
  1965.             /* [retval][out] */ BSTR *pbstrData);
  1966.         
  1967.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClientName )( 
  1968.             IRTCProfile * This,
  1969.             /* [retval][out] */ BSTR *pbstrName);
  1970.         
  1971.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClientBanner )( 
  1972.             IRTCProfile * This,
  1973.             /* [retval][out] */ VARIANT_BOOL *pfBanner);
  1974.         
  1975.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClientMinVer )( 
  1976.             IRTCProfile * This,
  1977.             /* [retval][out] */ BSTR *pbstrMinVer);
  1978.         
  1979.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClientCurVer )( 
  1980.             IRTCProfile * This,
  1981.             /* [retval][out] */ BSTR *pbstrCurVer);
  1982.         
  1983.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClientUpdateURI )( 
  1984.             IRTCProfile * This,
  1985.             /* [retval][out] */ BSTR *pbstrUpdateURI);
  1986.         
  1987.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClientData )( 
  1988.             IRTCProfile * This,
  1989.             /* [retval][out] */ BSTR *pbstrData);
  1990.         
  1991.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserURI )( 
  1992.             IRTCProfile * This,
  1993.             /* [retval][out] */ BSTR *pbstrUserURI);
  1994.         
  1995.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserName )( 
  1996.             IRTCProfile * This,
  1997.             /* [retval][out] */ BSTR *pbstrUserName);
  1998.         
  1999.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserAccount )( 
  2000.             IRTCProfile * This,
  2001.             /* [retval][out] */ BSTR *pbstrUserAccount);
  2002.         
  2003.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetCredentials )( 
  2004.             IRTCProfile * This,
  2005.             /* [in] */ BSTR bstrUserURI,
  2006.             /* [in] */ BSTR bstrUserAccount,
  2007.             /* [in] */ BSTR bstrPassword);
  2008.         
  2009.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SessionCapabilities )( 
  2010.             IRTCProfile * This,
  2011.             /* [retval][out] */ long *plSupportedSessions);
  2012.         
  2013.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
  2014.             IRTCProfile * This,
  2015.             /* [retval][out] */ RTC_REGISTRATION_STATE *penState);
  2016.         
  2017.         END_INTERFACE
  2018.     } IRTCProfileVtbl;
  2019.     interface IRTCProfile
  2020.     {
  2021.         CONST_VTBL struct IRTCProfileVtbl *lpVtbl;
  2022.     };
  2023.     
  2024. #ifdef COBJMACROS
  2025. #define IRTCProfile_QueryInterface(This,riid,ppvObject)
  2026.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2027. #define IRTCProfile_AddRef(This)
  2028.     (This)->lpVtbl -> AddRef(This)
  2029. #define IRTCProfile_Release(This)
  2030.     (This)->lpVtbl -> Release(This)
  2031. #define IRTCProfile_get_Key(This,pbstrKey)
  2032.     (This)->lpVtbl -> get_Key(This,pbstrKey)
  2033. #define IRTCProfile_get_Name(This,pbstrName)
  2034.     (This)->lpVtbl -> get_Name(This,pbstrName)
  2035. #define IRTCProfile_get_XML(This,pbstrXML)
  2036.     (This)->lpVtbl -> get_XML(This,pbstrXML)
  2037. #define IRTCProfile_get_ProviderName(This,pbstrName)
  2038.     (This)->lpVtbl -> get_ProviderName(This,pbstrName)
  2039. #define IRTCProfile_get_ProviderURI(This,enURI,pbstrURI)
  2040.     (This)->lpVtbl -> get_ProviderURI(This,enURI,pbstrURI)
  2041. #define IRTCProfile_get_ProviderData(This,pbstrData)
  2042.     (This)->lpVtbl -> get_ProviderData(This,pbstrData)
  2043. #define IRTCProfile_get_ClientName(This,pbstrName)
  2044.     (This)->lpVtbl -> get_ClientName(This,pbstrName)
  2045. #define IRTCProfile_get_ClientBanner(This,pfBanner)
  2046.     (This)->lpVtbl -> get_ClientBanner(This,pfBanner)
  2047. #define IRTCProfile_get_ClientMinVer(This,pbstrMinVer)
  2048.     (This)->lpVtbl -> get_ClientMinVer(This,pbstrMinVer)
  2049. #define IRTCProfile_get_ClientCurVer(This,pbstrCurVer)
  2050.     (This)->lpVtbl -> get_ClientCurVer(This,pbstrCurVer)
  2051. #define IRTCProfile_get_ClientUpdateURI(This,pbstrUpdateURI)
  2052.     (This)->lpVtbl -> get_ClientUpdateURI(This,pbstrUpdateURI)
  2053. #define IRTCProfile_get_ClientData(This,pbstrData)
  2054.     (This)->lpVtbl -> get_ClientData(This,pbstrData)
  2055. #define IRTCProfile_get_UserURI(This,pbstrUserURI)
  2056.     (This)->lpVtbl -> get_UserURI(This,pbstrUserURI)
  2057. #define IRTCProfile_get_UserName(This,pbstrUserName)
  2058.     (This)->lpVtbl -> get_UserName(This,pbstrUserName)
  2059. #define IRTCProfile_get_UserAccount(This,pbstrUserAccount)
  2060.     (This)->lpVtbl -> get_UserAccount(This,pbstrUserAccount)
  2061. #define IRTCProfile_SetCredentials(This,bstrUserURI,bstrUserAccount,bstrPassword)
  2062.     (This)->lpVtbl -> SetCredentials(This,bstrUserURI,bstrUserAccount,bstrPassword)
  2063. #define IRTCProfile_get_SessionCapabilities(This,plSupportedSessions)
  2064.     (This)->lpVtbl -> get_SessionCapabilities(This,plSupportedSessions)
  2065. #define IRTCProfile_get_State(This,penState)
  2066.     (This)->lpVtbl -> get_State(This,penState)
  2067. #endif /* COBJMACROS */
  2068. #endif  /* C style interface */
  2069. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCProfile_get_Key_Proxy( 
  2070.     IRTCProfile * This,
  2071.     /* [retval][out] */ BSTR *pbstrKey);
  2072. void __RPC_STUB IRTCProfile_get_Key_Stub(
  2073.     IRpcStubBuffer *This,
  2074.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2075.     PRPC_MESSAGE _pRpcMessage,
  2076.     DWORD *_pdwStubPhase);
  2077. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCProfile_get_Name_Proxy( 
  2078.     IRTCProfile * This,
  2079.     /* [retval][out] */ BSTR *pbstrName);
  2080. void __RPC_STUB IRTCProfile_get_Name_Stub(
  2081.     IRpcStubBuffer *This,
  2082.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2083.     PRPC_MESSAGE _pRpcMessage,
  2084.     DWORD *_pdwStubPhase);
  2085. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCProfile_get_XML_Proxy( 
  2086.     IRTCProfile * This,
  2087.     /* [retval][out] */ BSTR *pbstrXML);
  2088. void __RPC_STUB IRTCProfile_get_XML_Stub(
  2089.     IRpcStubBuffer *This,
  2090.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2091.     PRPC_MESSAGE _pRpcMessage,
  2092.     DWORD *_pdwStubPhase);
  2093. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCProfile_get_ProviderName_Proxy( 
  2094.     IRTCProfile * This,
  2095.     /* [retval][out] */ BSTR *pbstrName);
  2096. void __RPC_STUB IRTCProfile_get_ProviderName_Stub(
  2097.     IRpcStubBuffer *This,
  2098.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2099.     PRPC_MESSAGE _pRpcMessage,
  2100.     DWORD *_pdwStubPhase);
  2101. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCProfile_get_ProviderURI_Proxy( 
  2102.     IRTCProfile * This,
  2103.     /* [in] */ RTC_PROVIDER_URI enURI,
  2104.     /* [retval][out] */ BSTR *pbstrURI);
  2105. void __RPC_STUB IRTCProfile_get_ProviderURI_Stub(
  2106.     IRpcStubBuffer *This,
  2107.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2108.     PRPC_MESSAGE _pRpcMessage,
  2109.     DWORD *_pdwStubPhase);
  2110. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCProfile_get_ProviderData_Proxy( 
  2111.     IRTCProfile * This,
  2112.     /* [retval][out] */ BSTR *pbstrData);
  2113. void __RPC_STUB IRTCProfile_get_ProviderData_Stub(
  2114.     IRpcStubBuffer *This,
  2115.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2116.     PRPC_MESSAGE _pRpcMessage,
  2117.     DWORD *_pdwStubPhase);
  2118. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCProfile_get_ClientName_Proxy( 
  2119.     IRTCProfile * This,
  2120.     /* [retval][out] */ BSTR *pbstrName);
  2121. void __RPC_STUB IRTCProfile_get_ClientName_Stub(
  2122.     IRpcStubBuffer *This,
  2123.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2124.     PRPC_MESSAGE _pRpcMessage,
  2125.     DWORD *_pdwStubPhase);
  2126. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCProfile_get_ClientBanner_Proxy( 
  2127.     IRTCProfile * This,
  2128.     /* [retval][out] */ VARIANT_BOOL *pfBanner);
  2129. void __RPC_STUB IRTCProfile_get_ClientBanner_Stub(
  2130.     IRpcStubBuffer *This,
  2131.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2132.     PRPC_MESSAGE _pRpcMessage,
  2133.     DWORD *_pdwStubPhase);
  2134. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCProfile_get_ClientMinVer_Proxy( 
  2135.     IRTCProfile * This,
  2136.     /* [retval][out] */ BSTR *pbstrMinVer);
  2137. void __RPC_STUB IRTCProfile_get_ClientMinVer_Stub(
  2138.     IRpcStubBuffer *This,
  2139.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2140.     PRPC_MESSAGE _pRpcMessage,
  2141.     DWORD *_pdwStubPhase);
  2142. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCProfile_get_ClientCurVer_Proxy( 
  2143.     IRTCProfile * This,
  2144.     /* [retval][out] */ BSTR *pbstrCurVer);
  2145. void __RPC_STUB IRTCProfile_get_ClientCurVer_Stub(
  2146.     IRpcStubBuffer *This,
  2147.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2148.     PRPC_MESSAGE _pRpcMessage,
  2149.     DWORD *_pdwStubPhase);
  2150. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCProfile_get_ClientUpdateURI_Proxy( 
  2151.     IRTCProfile * This,
  2152.     /* [retval][out] */ BSTR *pbstrUpdateURI);
  2153. void __RPC_STUB IRTCProfile_get_ClientUpdateURI_Stub(
  2154.     IRpcStubBuffer *This,
  2155.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2156.     PRPC_MESSAGE _pRpcMessage,
  2157.     DWORD *_pdwStubPhase);
  2158. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCProfile_get_ClientData_Proxy( 
  2159.     IRTCProfile * This,
  2160.     /* [retval][out] */ BSTR *pbstrData);
  2161. void __RPC_STUB IRTCProfile_get_ClientData_Stub(
  2162.     IRpcStubBuffer *This,
  2163.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2164.     PRPC_MESSAGE _pRpcMessage,
  2165.     DWORD *_pdwStubPhase);
  2166. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCProfile_get_UserURI_Proxy( 
  2167.     IRTCProfile * This,
  2168.     /* [retval][out] */ BSTR *pbstrUserURI);
  2169. void __RPC_STUB IRTCProfile_get_UserURI_Stub(
  2170.     IRpcStubBuffer *This,
  2171.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2172.     PRPC_MESSAGE _pRpcMessage,
  2173.     DWORD *_pdwStubPhase);
  2174. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCProfile_get_UserName_Proxy( 
  2175.     IRTCProfile * This,
  2176.     /* [retval][out] */ BSTR *pbstrUserName);
  2177. void __RPC_STUB IRTCProfile_get_UserName_Stub(
  2178.     IRpcStubBuffer *This,
  2179.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2180.     PRPC_MESSAGE _pRpcMessage,
  2181.     DWORD *_pdwStubPhase);
  2182. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCProfile_get_UserAccount_Proxy( 
  2183.     IRTCProfile * This,
  2184.     /* [retval][out] */ BSTR *pbstrUserAccount);
  2185. void __RPC_STUB IRTCProfile_get_UserAccount_Stub(
  2186.     IRpcStubBuffer *This,
  2187.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2188.     PRPC_MESSAGE _pRpcMessage,
  2189.     DWORD *_pdwStubPhase);
  2190. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCProfile_SetCredentials_Proxy( 
  2191.     IRTCProfile * This,
  2192.     /* [in] */ BSTR bstrUserURI,
  2193.     /* [in] */ BSTR bstrUserAccount,
  2194.     /* [in] */ BSTR bstrPassword);
  2195. void __RPC_STUB IRTCProfile_SetCredentials_Stub(
  2196.     IRpcStubBuffer *This,
  2197.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2198.     PRPC_MESSAGE _pRpcMessage,
  2199.     DWORD *_pdwStubPhase);
  2200. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCProfile_get_SessionCapabilities_Proxy( 
  2201.     IRTCProfile * This,
  2202.     /* [retval][out] */ long *plSupportedSessions);
  2203. void __RPC_STUB IRTCProfile_get_SessionCapabilities_Stub(
  2204.     IRpcStubBuffer *This,
  2205.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2206.     PRPC_MESSAGE _pRpcMessage,
  2207.     DWORD *_pdwStubPhase);
  2208. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCProfile_get_State_Proxy( 
  2209.     IRTCProfile * This,
  2210.     /* [retval][out] */ RTC_REGISTRATION_STATE *penState);
  2211. void __RPC_STUB IRTCProfile_get_State_Stub(
  2212.     IRpcStubBuffer *This,
  2213.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2214.     PRPC_MESSAGE _pRpcMessage,
  2215.     DWORD *_pdwStubPhase);
  2216. #endif  /* __IRTCProfile_INTERFACE_DEFINED__ */
  2217. #ifndef __IRTCSession_INTERFACE_DEFINED__
  2218. #define __IRTCSession_INTERFACE_DEFINED__
  2219. /* interface IRTCSession */
  2220. /* [unique][helpstring][uuid][object] */ 
  2221. EXTERN_C const IID IID_IRTCSession;
  2222. #if defined(__cplusplus) && !defined(CINTERFACE)
  2223.     
  2224.     MIDL_INTERFACE("387c8086-99be-42fb-9973-7c0fc0ca9fa8")
  2225.     IRTCSession : public IUnknown
  2226.     {
  2227.     public:
  2228.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Client( 
  2229.             /* [retval][out] */ IRTCClient **ppClient) = 0;
  2230.         
  2231.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_State( 
  2232.             /* [retval][out] */ RTC_SESSION_STATE *penState) = 0;
  2233.         
  2234.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
  2235.             /* [retval][out] */ RTC_SESSION_TYPE *penType) = 0;
  2236.         
  2237.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Profile( 
  2238.             /* [retval][out] */ IRTCProfile **ppProfile) = 0;
  2239.         
  2240.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Participants( 
  2241.             /* [retval][out] */ IRTCCollection **ppCollection) = 0;
  2242.         
  2243.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Answer( void) = 0;
  2244.         
  2245.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Terminate( 
  2246.             /* [in] */ RTC_TERMINATE_REASON enReason) = 0;
  2247.         
  2248.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Redirect( 
  2249.             /* [in] */ RTC_SESSION_TYPE enType,
  2250.             /* [in] */ BSTR bstrLocalPhoneURI,
  2251.             /* [in] */ IRTCProfile *pProfile,
  2252.             /* [in] */ long lFlags) = 0;
  2253.         
  2254.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddParticipant( 
  2255.             /* [in] */ BSTR bstrAddress,
  2256.             /* [in] */ BSTR bstrName,
  2257.             /* [retval][out] */ IRTCParticipant **ppParticipant) = 0;
  2258.         
  2259.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveParticipant( 
  2260.             /* [in] */ IRTCParticipant *pParticipant) = 0;
  2261.         
  2262.         virtual /* [helpstring][hidden] */ HRESULT STDMETHODCALLTYPE EnumerateParticipants( 
  2263.             /* [retval][out] */ IRTCEnumParticipants **ppEnum) = 0;
  2264.         
  2265.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CanAddParticipants( 
  2266.             /* [retval][out] */ VARIANT_BOOL *pfCanAdd) = 0;
  2267.         
  2268.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RedirectedUserURI( 
  2269.             /* [retval][out] */ BSTR *pbstrUserURI) = 0;
  2270.         
  2271.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RedirectedUserName( 
  2272.             /* [retval][out] */ BSTR *pbstrUserName) = 0;
  2273.         
  2274.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE NextRedirectedUser( void) = 0;
  2275.         
  2276.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SendMessage( 
  2277.             /* [in] */ BSTR bstrMessageHeader,
  2278.             /* [in] */ BSTR bstrMessage,
  2279.             /* [in] */ long lCookie) = 0;
  2280.         
  2281.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SendMessageStatus( 
  2282.             /* [in] */ RTC_MESSAGING_USER_STATUS enUserStatus,
  2283.             /* [in] */ long lCookie) = 0;
  2284.         
  2285.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddStream( 
  2286.             /* [in] */ long lMediaType,
  2287.             /* [in] */ long lCookie) = 0;
  2288.         
  2289.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveStream( 
  2290.             /* [in] */ long lMediaType,
  2291.             /* [in] */ long lCookie) = 0;
  2292.         
  2293.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_EncryptionKey( 
  2294.             /* [in] */ long lMediaType,
  2295.             /* [in] */ BSTR EncryptionKey) = 0;
  2296.         
  2297.     };
  2298.     
  2299. #else  /* C style interface */
  2300.     typedef struct IRTCSessionVtbl
  2301.     {
  2302.         BEGIN_INTERFACE
  2303.         
  2304.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2305.             IRTCSession * This,
  2306.             /* [in] */ REFIID riid,
  2307.             /* [iid_is][out] */ void **ppvObject);
  2308.         
  2309.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2310.             IRTCSession * This);
  2311.         
  2312.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2313.             IRTCSession * This);
  2314.         
  2315.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Client )( 
  2316.             IRTCSession * This,
  2317.             /* [retval][out] */ IRTCClient **ppClient);
  2318.         
  2319.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
  2320.             IRTCSession * This,
  2321.             /* [retval][out] */ RTC_SESSION_STATE *penState);
  2322.         
  2323.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
  2324.             IRTCSession * This,
  2325.             /* [retval][out] */ RTC_SESSION_TYPE *penType);
  2326.         
  2327.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Profile )( 
  2328.             IRTCSession * This,
  2329.             /* [retval][out] */ IRTCProfile **ppProfile);
  2330.         
  2331.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Participants )( 
  2332.             IRTCSession * This,
  2333.             /* [retval][out] */ IRTCCollection **ppCollection);
  2334.         
  2335.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Answer )( 
  2336.             IRTCSession * This);
  2337.         
  2338.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Terminate )( 
  2339.             IRTCSession * This,
  2340.             /* [in] */ RTC_TERMINATE_REASON enReason);
  2341.         
  2342.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Redirect )( 
  2343.             IRTCSession * This,
  2344.             /* [in] */ RTC_SESSION_TYPE enType,
  2345.             /* [in] */ BSTR bstrLocalPhoneURI,
  2346.             /* [in] */ IRTCProfile *pProfile,
  2347.             /* [in] */ long lFlags);
  2348.         
  2349.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddParticipant )( 
  2350.             IRTCSession * This,
  2351.             /* [in] */ BSTR bstrAddress,
  2352.             /* [in] */ BSTR bstrName,
  2353.             /* [retval][out] */ IRTCParticipant **ppParticipant);
  2354.         
  2355.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveParticipant )( 
  2356.             IRTCSession * This,
  2357.             /* [in] */ IRTCParticipant *pParticipant);
  2358.         
  2359.         /* [helpstring][hidden] */ HRESULT ( STDMETHODCALLTYPE *EnumerateParticipants )( 
  2360.             IRTCSession * This,
  2361.             /* [retval][out] */ IRTCEnumParticipants **ppEnum);
  2362.         
  2363.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanAddParticipants )( 
  2364.             IRTCSession * This,
  2365.             /* [retval][out] */ VARIANT_BOOL *pfCanAdd);
  2366.         
  2367.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectedUserURI )( 
  2368.             IRTCSession * This,
  2369.             /* [retval][out] */ BSTR *pbstrUserURI);
  2370.         
  2371.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectedUserName )( 
  2372.             IRTCSession * This,
  2373.             /* [retval][out] */ BSTR *pbstrUserName);
  2374.         
  2375.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *NextRedirectedUser )( 
  2376.             IRTCSession * This);
  2377.         
  2378.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SendMessage )( 
  2379.             IRTCSession * This,
  2380.             /* [in] */ BSTR bstrMessageHeader,
  2381.             /* [in] */ BSTR bstrMessage,
  2382.             /* [in] */ long lCookie);
  2383.         
  2384.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SendMessageStatus )( 
  2385.             IRTCSession * This,
  2386.             /* [in] */ RTC_MESSAGING_USER_STATUS enUserStatus,
  2387.             /* [in] */ long lCookie);
  2388.         
  2389.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddStream )( 
  2390.             IRTCSession * This,
  2391.             /* [in] */ long lMediaType,
  2392.             /* [in] */ long lCookie);
  2393.         
  2394.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveStream )( 
  2395.             IRTCSession * This,
  2396.             /* [in] */ long lMediaType,
  2397.             /* [in] */ long lCookie);
  2398.         
  2399.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EncryptionKey )( 
  2400.             IRTCSession * This,
  2401.             /* [in] */ long lMediaType,
  2402.             /* [in] */ BSTR EncryptionKey);
  2403.         
  2404.         END_INTERFACE
  2405.     } IRTCSessionVtbl;
  2406.     interface IRTCSession
  2407.     {
  2408.         CONST_VTBL struct IRTCSessionVtbl *lpVtbl;
  2409.     };
  2410.     
  2411. #ifdef COBJMACROS
  2412. #define IRTCSession_QueryInterface(This,riid,ppvObject)
  2413.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2414. #define IRTCSession_AddRef(This)
  2415.     (This)->lpVtbl -> AddRef(This)
  2416. #define IRTCSession_Release(This)
  2417.     (This)->lpVtbl -> Release(This)
  2418. #define IRTCSession_get_Client(This,ppClient)
  2419.     (This)->lpVtbl -> get_Client(This,ppClient)
  2420. #define IRTCSession_get_State(This,penState)
  2421.     (This)->lpVtbl -> get_State(This,penState)
  2422. #define IRTCSession_get_Type(This,penType)
  2423.     (This)->lpVtbl -> get_Type(This,penType)
  2424. #define IRTCSession_get_Profile(This,ppProfile)
  2425.     (This)->lpVtbl -> get_Profile(This,ppProfile)
  2426. #define IRTCSession_get_Participants(This,ppCollection)
  2427.     (This)->lpVtbl -> get_Participants(This,ppCollection)
  2428. #define IRTCSession_Answer(This)
  2429.     (This)->lpVtbl -> Answer(This)
  2430. #define IRTCSession_Terminate(This,enReason)
  2431.     (This)->lpVtbl -> Terminate(This,enReason)
  2432. #define IRTCSession_Redirect(This,enType,bstrLocalPhoneURI,pProfile,lFlags)
  2433.     (This)->lpVtbl -> Redirect(This,enType,bstrLocalPhoneURI,pProfile,lFlags)
  2434. #define IRTCSession_AddParticipant(This,bstrAddress,bstrName,ppParticipant)
  2435.     (This)->lpVtbl -> AddParticipant(This,bstrAddress,bstrName,ppParticipant)
  2436. #define IRTCSession_RemoveParticipant(This,pParticipant)
  2437.     (This)->lpVtbl -> RemoveParticipant(This,pParticipant)
  2438. #define IRTCSession_EnumerateParticipants(This,ppEnum)
  2439.     (This)->lpVtbl -> EnumerateParticipants(This,ppEnum)
  2440. #define IRTCSession_get_CanAddParticipants(This,pfCanAdd)
  2441.     (This)->lpVtbl -> get_CanAddParticipants(This,pfCanAdd)
  2442. #define IRTCSession_get_RedirectedUserURI(This,pbstrUserURI)
  2443.     (This)->lpVtbl -> get_RedirectedUserURI(This,pbstrUserURI)
  2444. #define IRTCSession_get_RedirectedUserName(This,pbstrUserName)
  2445.     (This)->lpVtbl -> get_RedirectedUserName(This,pbstrUserName)
  2446. #define IRTCSession_NextRedirectedUser(This)
  2447.     (This)->lpVtbl -> NextRedirectedUser(This)
  2448. #define IRTCSession_SendMessage(This,bstrMessageHeader,bstrMessage,lCookie)
  2449.     (This)->lpVtbl -> SendMessage(This,bstrMessageHeader,bstrMessage,lCookie)
  2450. #define IRTCSession_SendMessageStatus(This,enUserStatus,lCookie)
  2451.     (This)->lpVtbl -> SendMessageStatus(This,enUserStatus,lCookie)
  2452. #define IRTCSession_AddStream(This,lMediaType,lCookie)
  2453.     (This)->lpVtbl -> AddStream(This,lMediaType,lCookie)
  2454. #define IRTCSession_RemoveStream(This,lMediaType,lCookie)
  2455.     (This)->lpVtbl -> RemoveStream(This,lMediaType,lCookie)
  2456. #define IRTCSession_put_EncryptionKey(This,lMediaType,EncryptionKey)
  2457.     (This)->lpVtbl -> put_EncryptionKey(This,lMediaType,EncryptionKey)
  2458. #endif /* COBJMACROS */
  2459. #endif  /* C style interface */
  2460. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCSession_get_Client_Proxy( 
  2461.     IRTCSession * This,
  2462.     /* [retval][out] */ IRTCClient **ppClient);
  2463. void __RPC_STUB IRTCSession_get_Client_Stub(
  2464.     IRpcStubBuffer *This,
  2465.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2466.     PRPC_MESSAGE _pRpcMessage,
  2467.     DWORD *_pdwStubPhase);
  2468. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCSession_get_State_Proxy( 
  2469.     IRTCSession * This,
  2470.     /* [retval][out] */ RTC_SESSION_STATE *penState);
  2471. void __RPC_STUB IRTCSession_get_State_Stub(
  2472.     IRpcStubBuffer *This,
  2473.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2474.     PRPC_MESSAGE _pRpcMessage,
  2475.     DWORD *_pdwStubPhase);
  2476. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCSession_get_Type_Proxy( 
  2477.     IRTCSession * This,
  2478.     /* [retval][out] */ RTC_SESSION_TYPE *penType);
  2479. void __RPC_STUB IRTCSession_get_Type_Stub(
  2480.     IRpcStubBuffer *This,
  2481.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2482.     PRPC_MESSAGE _pRpcMessage,
  2483.     DWORD *_pdwStubPhase);
  2484. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCSession_get_Profile_Proxy( 
  2485.     IRTCSession * This,
  2486.     /* [retval][out] */ IRTCProfile **ppProfile);
  2487. void __RPC_STUB IRTCSession_get_Profile_Stub(
  2488.     IRpcStubBuffer *This,
  2489.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2490.     PRPC_MESSAGE _pRpcMessage,
  2491.     DWORD *_pdwStubPhase);
  2492. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCSession_get_Participants_Proxy( 
  2493.     IRTCSession * This,
  2494.     /* [retval][out] */ IRTCCollection **ppCollection);
  2495. void __RPC_STUB IRTCSession_get_Participants_Stub(
  2496.     IRpcStubBuffer *This,
  2497.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2498.     PRPC_MESSAGE _pRpcMessage,
  2499.     DWORD *_pdwStubPhase);
  2500. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCSession_Answer_Proxy( 
  2501.     IRTCSession * This);
  2502. void __RPC_STUB IRTCSession_Answer_Stub(
  2503.     IRpcStubBuffer *This,
  2504.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2505.     PRPC_MESSAGE _pRpcMessage,
  2506.     DWORD *_pdwStubPhase);
  2507. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCSession_Terminate_Proxy( 
  2508.     IRTCSession * This,
  2509.     /* [in] */ RTC_TERMINATE_REASON enReason);
  2510. void __RPC_STUB IRTCSession_Terminate_Stub(
  2511.     IRpcStubBuffer *This,
  2512.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2513.     PRPC_MESSAGE _pRpcMessage,
  2514.     DWORD *_pdwStubPhase);
  2515. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCSession_Redirect_Proxy( 
  2516.     IRTCSession * This,
  2517.     /* [in] */ RTC_SESSION_TYPE enType,
  2518.     /* [in] */ BSTR bstrLocalPhoneURI,
  2519.     /* [in] */ IRTCProfile *pProfile,
  2520.     /* [in] */ long lFlags);
  2521. void __RPC_STUB IRTCSession_Redirect_Stub(
  2522.     IRpcStubBuffer *This,
  2523.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2524.     PRPC_MESSAGE _pRpcMessage,
  2525.     DWORD *_pdwStubPhase);
  2526. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCSession_AddParticipant_Proxy( 
  2527.     IRTCSession * This,
  2528.     /* [in] */ BSTR bstrAddress,
  2529.     /* [in] */ BSTR bstrName,
  2530.     /* [retval][out] */ IRTCParticipant **ppParticipant);
  2531. void __RPC_STUB IRTCSession_AddParticipant_Stub(
  2532.     IRpcStubBuffer *This,
  2533.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2534.     PRPC_MESSAGE _pRpcMessage,
  2535.     DWORD *_pdwStubPhase);
  2536. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCSession_RemoveParticipant_Proxy( 
  2537.     IRTCSession * This,
  2538.     /* [in] */ IRTCParticipant *pParticipant);
  2539. void __RPC_STUB IRTCSession_RemoveParticipant_Stub(
  2540.     IRpcStubBuffer *This,
  2541.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2542.     PRPC_MESSAGE _pRpcMessage,
  2543.     DWORD *_pdwStubPhase);
  2544. /* [helpstring][hidden] */ HRESULT STDMETHODCALLTYPE IRTCSession_EnumerateParticipants_Proxy( 
  2545.     IRTCSession * This,
  2546.     /* [retval][out] */ IRTCEnumParticipants **ppEnum);
  2547. void __RPC_STUB IRTCSession_EnumerateParticipants_Stub(
  2548.     IRpcStubBuffer *This,
  2549.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2550.     PRPC_MESSAGE _pRpcMessage,
  2551.     DWORD *_pdwStubPhase);
  2552. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCSession_get_CanAddParticipants_Proxy( 
  2553.     IRTCSession * This,
  2554.     /* [retval][out] */ VARIANT_BOOL *pfCanAdd);
  2555. void __RPC_STUB IRTCSession_get_CanAddParticipants_Stub(
  2556.     IRpcStubBuffer *This,
  2557.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2558.     PRPC_MESSAGE _pRpcMessage,
  2559.     DWORD *_pdwStubPhase);
  2560. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCSession_get_RedirectedUserURI_Proxy( 
  2561.     IRTCSession * This,
  2562.     /* [retval][out] */ BSTR *pbstrUserURI);
  2563. void __RPC_STUB IRTCSession_get_RedirectedUserURI_Stub(
  2564.     IRpcStubBuffer *This,
  2565.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2566.     PRPC_MESSAGE _pRpcMessage,
  2567.     DWORD *_pdwStubPhase);
  2568. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCSession_get_RedirectedUserName_Proxy( 
  2569.     IRTCSession * This,
  2570.     /* [retval][out] */ BSTR *pbstrUserName);
  2571. void __RPC_STUB IRTCSession_get_RedirectedUserName_Stub(
  2572.     IRpcStubBuffer *This,
  2573.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2574.     PRPC_MESSAGE _pRpcMessage,
  2575.     DWORD *_pdwStubPhase);
  2576. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCSession_NextRedirectedUser_Proxy( 
  2577.     IRTCSession * This);
  2578. void __RPC_STUB IRTCSession_NextRedirectedUser_Stub(
  2579.     IRpcStubBuffer *This,
  2580.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2581.     PRPC_MESSAGE _pRpcMessage,
  2582.     DWORD *_pdwStubPhase);
  2583. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCSession_SendMessage_Proxy( 
  2584.     IRTCSession * This,
  2585.     /* [in] */ BSTR bstrMessageHeader,
  2586.     /* [in] */ BSTR bstrMessage,
  2587.     /* [in] */ long lCookie);
  2588. void __RPC_STUB IRTCSession_SendMessage_Stub(
  2589.     IRpcStubBuffer *This,
  2590.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2591.     PRPC_MESSAGE _pRpcMessage,
  2592.     DWORD *_pdwStubPhase);
  2593. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCSession_SendMessageStatus_Proxy( 
  2594.     IRTCSession * This,
  2595.     /* [in] */ RTC_MESSAGING_USER_STATUS enUserStatus,
  2596.     /* [in] */ long lCookie);
  2597. void __RPC_STUB IRTCSession_SendMessageStatus_Stub(
  2598.     IRpcStubBuffer *This,
  2599.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2600.     PRPC_MESSAGE _pRpcMessage,
  2601.     DWORD *_pdwStubPhase);
  2602. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCSession_AddStream_Proxy( 
  2603.     IRTCSession * This,
  2604.     /* [in] */ long lMediaType,
  2605.     /* [in] */ long lCookie);
  2606. void __RPC_STUB IRTCSession_AddStream_Stub(
  2607.     IRpcStubBuffer *This,
  2608.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2609.     PRPC_MESSAGE _pRpcMessage,
  2610.     DWORD *_pdwStubPhase);
  2611. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IRTCSession_RemoveStream_Proxy( 
  2612.     IRTCSession * This,
  2613.     /* [in] */ long lMediaType,
  2614.     /* [in] */ long lCookie);
  2615. void __RPC_STUB IRTCSession_RemoveStream_Stub(
  2616.     IRpcStubBuffer *This,
  2617.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2618.     PRPC_MESSAGE _pRpcMessage,
  2619.     DWORD *_pdwStubPhase);
  2620. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRTCSession_put_EncryptionKey_Proxy( 
  2621.     IRTCSession * This,
  2622.     /* [in] */ long lMediaType,
  2623.     /* [in] */ BSTR EncryptionKey);
  2624. void __RPC_STUB IRTCSession_put_EncryptionKey_Stub(
  2625.     IRpcStubBuffer *This,
  2626.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2627.     PRPC_MESSAGE _pRpcMessage,
  2628.     DWORD *_pdwStubPhase);
  2629. #endif  /* __IRTCSession_INTERFACE_DEFINED__ */
  2630. #ifndef __IRTCParticipant_INTERFACE_DEFINED__
  2631. #define __IRTCParticipant_INTERFACE_DEFINED__
  2632. /* interface IRTCParticipant */
  2633. /* [unique][helpstring][uuid][object] */ 
  2634. EXTERN_C const IID IID_IRTCParticipant;
  2635. #if defined(__cplusplus) && !defined(CINTERFACE)
  2636.     
  2637.     MIDL_INTERFACE("ae86add5-26b1-4414-af1d-b94cd938d739")
  2638.     IRTCParticipant : public IUnknown
  2639.     {
  2640.     public:
  2641.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_UserURI( 
  2642.             /* [retval][out] */ BSTR *pbstrUserURI) = 0;
  2643.         
  2644.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  2645.             /* [retval][out] */ BSTR *pbstrName) = 0;
  2646.         
  2647.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Removable( 
  2648.             /* [retval][out] */ VARIANT_BOOL *pfRemovable) = 0;
  2649.         
  2650.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_State( 
  2651.             /* [retval][out] */ RTC_PARTICIPANT_STATE *penState) = 0;
  2652.         
  2653.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Session( 
  2654.             /* [retval][out] */ IRTCSession **ppSession) = 0;
  2655.         
  2656.     };
  2657.     
  2658. #else  /* C style interface */
  2659.     typedef struct IRTCParticipantVtbl
  2660.     {
  2661.         BEGIN_INTERFACE
  2662.         
  2663.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2664.             IRTCParticipant * This,
  2665.             /* [in] */ REFIID riid,
  2666.             /* [iid_is][out] */ void **ppvObject);
  2667.         
  2668.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2669.             IRTCParticipant * This);
  2670.         
  2671.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2672.             IRTCParticipant * This);
  2673.         
  2674.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserURI )( 
  2675.             IRTCParticipant * This,
  2676.             /* [retval][out] */ BSTR *pbstrUserURI);
  2677.         
  2678.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  2679.             IRTCParticipant * This,
  2680.             /* [retval][out] */ BSTR *pbstrName);
  2681.         
  2682.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Removable )( 
  2683.             IRTCParticipant * This,
  2684.             /* [retval][out] */ VARIANT_BOOL *pfRemovable);
  2685.         
  2686.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
  2687.             IRTCParticipant * This,
  2688.             /* [retval][out] */ RTC_PARTICIPANT_STATE *penState);
  2689.         
  2690.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
  2691.             IRTCParticipant * This,
  2692.             /* [retval][out] */ IRTCSession **ppSession);
  2693.         
  2694.         END_INTERFACE
  2695.     } IRTCParticipantVtbl;
  2696.     interface IRTCParticipant
  2697.     {
  2698.         CONST_VTBL struct IRTCParticipantVtbl *lpVtbl;
  2699.     };
  2700.     
  2701. #ifdef COBJMACROS
  2702. #define IRTCParticipant_QueryInterface(This,riid,ppvObject)
  2703.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2704. #define IRTCParticipant_AddRef(This)
  2705.     (This)->lpVtbl -> AddRef(This)
  2706. #define IRTCParticipant_Release(This)
  2707.     (This)->lpVtbl -> Release(This)
  2708. #define IRTCParticipant_get_UserURI(This,pbstrUserURI)
  2709.     (This)->lpVtbl -> get_UserURI(This,pbstrUserURI)
  2710. #define IRTCParticipant_get_Name(This,pbstrName)
  2711.     (This)->lpVtbl -> get_Name(This,pbstrName)
  2712. #define IRTCParticipant_get_Removable(This,pfRemovable)
  2713.     (This)->lpVtbl -> get_Removable(This,pfRemovable)
  2714. #define IRTCParticipant_get_State(This,penState)
  2715.     (This)->lpVtbl -> get_State(This,penState)
  2716. #define IRTCParticipant_get_Session(This,ppSession)
  2717.     (This)->lpVtbl -> get_Session(This,ppSession)
  2718. #endif /* COBJMACROS */
  2719. #endif  /* C style interface */
  2720. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCParticipant_get_UserURI_Proxy( 
  2721.     IRTCParticipant * This,
  2722.     /* [retval][out] */ BSTR *pbstrUserURI);
  2723. void __RPC_STUB IRTCParticipant_get_UserURI_Stub(
  2724.     IRpcStubBuffer *This,
  2725.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2726.     PRPC_MESSAGE _pRpcMessage,
  2727.     DWORD *_pdwStubPhase);
  2728. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCParticipant_get_Name_Proxy( 
  2729.     IRTCParticipant * This,
  2730.     /* [retval][out] */ BSTR *pbstrName);
  2731. void __RPC_STUB IRTCParticipant_get_Name_Stub(
  2732.     IRpcStubBuffer *This,
  2733.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2734.     PRPC_MESSAGE _pRpcMessage,
  2735.     DWORD *_pdwStubPhase);
  2736. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCParticipant_get_Removable_Proxy( 
  2737.     IRTCParticipant * This,
  2738.     /* [retval][out] */ VARIANT_BOOL *pfRemovable);
  2739. void __RPC_STUB IRTCParticipant_get_Removable_Stub(
  2740.     IRpcStubBuffer *This,
  2741.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2742.     PRPC_MESSAGE _pRpcMessage,
  2743.     DWORD *_pdwStubPhase);
  2744. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCParticipant_get_State_Proxy( 
  2745.     IRTCParticipant * This,
  2746.     /* [retval][out] */ RTC_PARTICIPANT_STATE *penState);
  2747. void __RPC_STUB IRTCParticipant_get_State_Stub(
  2748.     IRpcStubBuffer *This,
  2749.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2750.     PRPC_MESSAGE _pRpcMessage,
  2751.     DWORD *_pdwStubPhase);
  2752. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRTCParticipant_get_Session_Proxy( 
  2753.     IRTCParticipant * This,
  2754.     /* [retval][out] */ IRTCSession **ppSession);
  2755. void __RPC_STUB IRTCParticipant_get_Session_Stub(
  2756.     IRpcStubBuffer *This,
  2757.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2758.     PRPC_MESSAGE _pRpcMessage,
  2759.     DWORD *_pdwStubPhase);
  2760. #endif  /* __IRTCParticipant_INTERFACE_DEFINED__ */
  2761. #ifndef __IRTCProfileEvent_INTERFACE_DEFINED__
  2762. #define __IRTCProfileEvent_INTERFACE_DEFINED__
  2763. /* interface IRTCProfileEvent */
  2764. /* [unique][helpstring][dual][uuid][object] */ 
  2765. EXTERN_C const IID IID_IRTCProfileEvent;
  2766. #if defined(__cplusplus) && !defined(CINTERFACE)
  2767.     
  2768.     MIDL_INTERFACE("D6D5AB3B-770E-43e8-800A-79B062395FCA")
  2769.     IRTCProfileEvent : public IDispatch
  2770.     {
  2771.     public:
  2772.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Profile( 
  2773.             /* [retval][out] */ IRTCProfile **ppProfile) = 0;
  2774.         
  2775.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Cookie(