rtccore.h
上传用户:tuheem
上传日期:2007-05-01
资源大小:21889k
文件大小:236k
源码类别:

多媒体编程

开发平台:

Visual C++

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