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

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 5.03.0279 */
  4. /* at Thu Dec 14 06:29:16 2000
  5.  */
  6. /* Compiler settings for P:INSTMSGsrcidlmsimcsdk.idl:
  7.     Oicf (OptLev=i2), W1, Zp8, env=Win32 (32b run), ms_ext, c_ext
  8.     error checks: allocation ref bounds_check enum stub_data 
  9.     VC __declspec() decoration level: 
  10.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  11.          DECLSPEC_UUID(), MIDL_INTERFACE()
  12. */
  13. //@@MIDL_FILE_HEADING(  )
  14. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  15. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  16. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  17. #endif
  18. #include "rpc.h"
  19. #include "rpcndr.h"
  20. #ifndef __msimcsdk_h__
  21. #define __msimcsdk_h__
  22. /* Forward Declarations */ 
  23. #ifndef __IMSIMHost_FWD_DEFINED__
  24. #define __IMSIMHost_FWD_DEFINED__
  25. typedef interface IMSIMHost IMSIMHost;
  26. #endif  /* __IMSIMHost_FWD_DEFINED__ */
  27. #ifndef __DMSIMHostEvents_FWD_DEFINED__
  28. #define __DMSIMHostEvents_FWD_DEFINED__
  29. typedef interface DMSIMHostEvents DMSIMHostEvents;
  30. #endif  /* __DMSIMHostEvents_FWD_DEFINED__ */
  31. #ifndef __IMSIMWindow_FWD_DEFINED__
  32. #define __IMSIMWindow_FWD_DEFINED__
  33. typedef interface IMSIMWindow IMSIMWindow;
  34. #endif  /* __IMSIMWindow_FWD_DEFINED__ */
  35. #ifndef __DMSIMWindowEvents_FWD_DEFINED__
  36. #define __DMSIMWindowEvents_FWD_DEFINED__
  37. typedef interface DMSIMWindowEvents DMSIMWindowEvents;
  38. #endif  /* __DMSIMWindowEvents_FWD_DEFINED__ */
  39. #ifndef __IIMService_FWD_DEFINED__
  40. #define __IIMService_FWD_DEFINED__
  41. typedef interface IIMService IIMService;
  42. #endif  /* __IIMService_FWD_DEFINED__ */
  43. #ifndef __DIMServiceEvents_FWD_DEFINED__
  44. #define __DIMServiceEvents_FWD_DEFINED__
  45. typedef interface DIMServiceEvents DIMServiceEvents;
  46. #endif  /* __DIMServiceEvents_FWD_DEFINED__ */
  47. #ifndef __IIMContact_FWD_DEFINED__
  48. #define __IIMContact_FWD_DEFINED__
  49. typedef interface IIMContact IIMContact;
  50. #endif  /* __IIMContact_FWD_DEFINED__ */
  51. #ifndef __IIMContacts_FWD_DEFINED__
  52. #define __IIMContacts_FWD_DEFINED__
  53. typedef interface IIMContacts IIMContacts;
  54. #endif  /* __IIMContacts_FWD_DEFINED__ */
  55. #ifndef __IIMSession_FWD_DEFINED__
  56. #define __IIMSession_FWD_DEFINED__
  57. typedef interface IIMSession IIMSession;
  58. #endif  /* __IIMSession_FWD_DEFINED__ */
  59. #ifndef __IIMSessions_FWD_DEFINED__
  60. #define __IIMSessions_FWD_DEFINED__
  61. typedef interface IIMSessions IIMSessions;
  62. #endif  /* __IIMSessions_FWD_DEFINED__ */
  63. #ifndef __MSIMHost_FWD_DEFINED__
  64. #define __MSIMHost_FWD_DEFINED__
  65. #ifdef __cplusplus
  66. typedef class MSIMHost MSIMHost;
  67. #else
  68. typedef struct MSIMHost MSIMHost;
  69. #endif /* __cplusplus */
  70. #endif  /* __MSIMHost_FWD_DEFINED__ */
  71. #ifndef __MSIMService_FWD_DEFINED__
  72. #define __MSIMService_FWD_DEFINED__
  73. #ifdef __cplusplus
  74. typedef class MSIMService MSIMService;
  75. #else
  76. typedef struct MSIMService MSIMService;
  77. #endif /* __cplusplus */
  78. #endif  /* __MSIMService_FWD_DEFINED__ */
  79. #ifndef __MSIMWindow_FWD_DEFINED__
  80. #define __MSIMWindow_FWD_DEFINED__
  81. #ifdef __cplusplus
  82. typedef class MSIMWindow MSIMWindow;
  83. #else
  84. typedef struct MSIMWindow MSIMWindow;
  85. #endif /* __cplusplus */
  86. #endif  /* __MSIMWindow_FWD_DEFINED__ */
  87. #ifndef __MSIMHostOption_FWD_DEFINED__
  88. #define __MSIMHostOption_FWD_DEFINED__
  89. #ifdef __cplusplus
  90. typedef class MSIMHostOption MSIMHostOption;
  91. #else
  92. typedef struct MSIMHostOption MSIMHostOption;
  93. #endif /* __cplusplus */
  94. #endif  /* __MSIMHostOption_FWD_DEFINED__ */
  95. #ifndef __MSIMHostProfiles_FWD_DEFINED__
  96. #define __MSIMHostProfiles_FWD_DEFINED__
  97. #ifdef __cplusplus
  98. typedef class MSIMHostProfiles MSIMHostProfiles;
  99. #else
  100. typedef struct MSIMHostProfiles MSIMHostProfiles;
  101. #endif /* __cplusplus */
  102. #endif  /* __MSIMHostProfiles_FWD_DEFINED__ */
  103. /* header files for imported files */
  104. #include "oaidl.h"
  105. #include "ocidl.h"
  106. #ifdef __cplusplus
  107. extern "C"{
  108. #endif 
  109. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  110. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  111. /* interface __MIDL_itf_msimcsdk_0000 */
  112. /* [local] */ 
  113. #define MSIM_DISPID_ONLOGONRESULT                        0x0E00
  114. #define MSIM_DISPID_ONLOGOFF                             0x0E01
  115. #define MSIM_DISPID_ONLISTADDRESULT                      0x0E02
  116. #define MSIM_DISPID_ONLISTREMOVERESULT                   0x0E03
  117. #define MSIM_DISPID_ONFRIENDLYNAMECHANGERESULT           0x0E04
  118. #define MSIM_DISPID_ONCONTACTSTATECHANGED                0x0E05
  119. #define MSIM_DISPID_ONTEXTRECEIVED                  0x0E06
  120. #define MSIM_DISPID_ONLOCALFRIENDLYNAMECHANGERESULT 0x0E07
  121. #define MSIM_DISPID_ONLOCALSTATECHANGERESULT        0x0E08
  122. #define MSIM_DISPID_ONSENDRESULT                    0x0E09
  123. #define MSIM_DISPID_ONFINDRESULT                    0x0E0A
  124. #define MSIM_DISPID_ONSESSIONSTATECHANGE            0x0E0B
  125. #define MSIM_DISPID_ONNEWSESSIONMEMBER              0x0E0C
  126. #define MSIM_DISPID_ONSESSIONMEMBERLEAVE            0x0E0D
  127. #define MSIM_DISPID_ONNEWSESSIONREQUEST             0x0E0F
  128. #define MSIM_DISPID_ONINVITECONTACT                     0x0E10
  129. #define MSIM_DISPID_ONAPPSHUTDOWN                   0x0E12
  130. #define MSIM_DISPID_ON_NM_INVITERECEIVED             0x0E13
  131. #define MSIM_DISPID_ON_NM_ACCEPTED             0x0E14
  132. #define MSIM_DISPID_ON_NM_CANCELLED                  0x0E15
  133. #define MSIMWND_DISPID_ONMOVE                 0x00E0
  134. #define MSIMWND_DISPID_ONCLOSE                0x00E1
  135. #define MSIMWND_DISPID_ONRESIZE                 0x00E2
  136. #define MSIMWND_DISPID_ONSHOW                  0x00E3
  137. #define MSIMWND_DISPID_ONFOCUS                 0x00E4
  138. #define MSIMHOSTEVENTS_DISPID_ONDOUBLECLICK     0xD
  139. #define MSIMHOSTEVENTS_DISPID_ONSHUTDOWN        0xE
  140. #define MSIMHOSTEVENTS_DISPID_ONCLICKUSERNOTIFY 0xF
  141. typedef /* [public] */ 
  142. enum __MIDL___MIDL_itf_msimcsdk_0000_0001
  143.     { IM_E_CONNECT = 0x81000300 + 0x1,
  144. IM_E_INVALID_SERVER_NAME = 0x81000300 + 0x2,
  145. IM_E_INVALID_PASSWORD = 0x81000300 + 0x3,
  146. IM_E_ALREADY_LOGGED_ON = 0x81000300 + 0x4,
  147. IM_E_SERVER_VERSION = 0x81000300 + 0x5,
  148. IM_E_LOGON_TIMEOUT = 0x81000300 + 0x6,
  149. IM_E_LIST_FULL = 0x81000300 + 0x7,
  150. IM_E_AI_REJECT = 0x81000300 + 0x8,
  151. IM_E_AI_REJECT_NOT_INST = 0x81000300 + 0x9,
  152. IM_E_USER_NOT_FOUND = 0x81000300 + 0xa,
  153. IM_E_ALREADY_IN_LIST = 0x81000300 + 0xb,
  154. IM_E_DISCONNECTED = 0x81000300 + 0xc,
  155. IM_E_UNEXPECTED = 0x81000300 + 0xd,
  156. IM_E_SERVER_TOO_BUSY = 0x81000300 + 0xe,
  157. IM_E_INVALID_AUTH_PACKAGES = 0x81000300 + 0xf,
  158. IM_E_NEWER_CLIENT_AVAILABLE = 0x81000300 + 0x10,
  159. IM_E_AI_TIMEOUT = 0x81000300 + 0x11,
  160. IM_E_CANCEL = 0x81000300 + 0x12,
  161. IM_E_TOO_MANY_MATCHES = 0x81000300 + 0x13,
  162. IM_E_SERVER_UNAVAILABLE = 0x81000300 + 0x14,
  163. IM_E_LOGON_UI_ACTIVE = 0x81000300 + 0x15,
  164. IM_E_OPTION_UI_ACTIVE = 0x81000300 + 0x16,
  165. IM_E_CONTACT_UI_ACTIVE = 0x81000300 + 0x17,
  166. IM_E_LOGGED_ON = 0x81000300 + 0x19,
  167. IM_E_CONNECT_PROXY = 0x81000300 + 0x1a,
  168. IM_E_PROXY_AUTH = 0x81000300 + 0x1b,
  169. IM_E_PROXY_AUTH_TYPE = 0x81000300 + 0x1c,
  170. IM_E_INVALID_PROXY_NAME = 0x81000300 + 0x1d,
  171. IM_E_NOT_PRIMARY_SERVICE = 0x81000300 + 0x20,
  172. IM_E_TOO_MANY_SESSIONS = 0x81000300 + 0x21,
  173. IM_E_TOO_MANY_MESSAGES = 0x81000300 + 0x22,
  174. IM_E_REMOTE_LOGIN = 0x81000300 + 0x23,
  175. IM_E_INVALID_FRIENDLY_NAME = 0x81000300 + 0x24,
  176. IM_E_SESSION_FULL = 0x81000300 + 0x25,
  177. IM_E_NOT_ALLOWING_NEW_USERS = 0x81000300 + 0x26,
  178. IM_E_INVALID_DOMAIN = 0x81000300 + 0x27,
  179. IM_E_TCP_ERROR = 0x81000300 + 0x28,
  180. IM_E_SESSION_TIMEOUT = 0x81000300 + 0x29,
  181. IM_E_MULTIPOINT_SESSION_BEGIN_TIMEOUT = 0x81000300 + 0x2a,
  182. IM_E_MULTIPOINT_SESSION_END_TIMEOUT = 0x81000300 + 0x2b,
  183. IM_E_REVERSE_LIST_FULL = 0x81000300 + 0x2c,
  184. IM_E_SERVER_ERROR = 0x81000300 + 0x2d,
  185. IM_E_SYSTEM_CONFIG = 0x81000300 + 0x2e,
  186. IM_E_NO_DIRECTORY = 0x81000300 + 0x2f,
  187. IM_E_USER_CANCELED_LOGON = 0x81000300 + 0x50,
  188. IM_E_ALREADY_EXISTS = 0x81000300 + 0x51,
  189. IM_E_DOES_NOT_EXIST = 0x81000300 + 0x52,
  190. IM_S_LOGGED_ON = 0x1000300 + 0x19,
  191. IM_S_ALREADY_IN_THE_MODE = 0x1000300 + 0x1
  192.     } IM_RESULTS;
  193. typedef /* [public][public][public] */ 
  194. enum __MIDL___MIDL_itf_msimcsdk_0000_0002
  195.     { IM_MSG_TYPE_NO_RESULT = 0,
  196. IM_MSG_TYPE_ERRORS_ONLY = 1,
  197. IM_MSG_TYPE_ALL_RESULTS = 2
  198.     } IM_MSG_TYPE;
  199. typedef /* [public] */ 
  200. enum __MIDL___MIDL_itf_msimcsdk_0000_0003
  201.     { IM_INVITE_TYPE_REQUEST_LAUNCH = 0x1,
  202. IM_INVITE_TYPE_REQUEST_IP = 0x4,
  203. IM_INVITE_TYPE_PROVIDE_IP = 0x8
  204.     } IM_INVITE_FLAGS;
  205. typedef /* [public][public] */ 
  206. enum __MIDL___MIDL_itf_msimcsdk_0000_0004
  207.     { IM_STATE_UNKNOWN = 0,
  208. IM_STATE_OFFLINE = 0x1,
  209. IM_STATE_ONLINE = 0x2,
  210. IM_STATE_INVISIBLE = 0x6,
  211. IM_STATE_BUSY = 0xa,
  212. IM_STATE_BE_RIGHT_BACK = 0xe,
  213. IM_STATE_IDLE = 0x12,
  214. IM_STATE_AWAY = 0x22,
  215. IM_STATE_ON_THE_PHONE = 0x32,
  216. IM_STATE_OUT_TO_LUNCH = 0x42,
  217. IM_STATE_LOCAL_FINDING_SERVER = 0x100,
  218. IM_STATE_LOCAL_CONNECTING_TO_SERVER = 0x200,
  219. IM_STATE_LOCAL_SYNCHRONIZING_WITH_SERVER = 0x300,
  220. IM_STATE_LOCAL_DISCONNECTING_FROM_SERVER = 0x400
  221.     } IM_STATE;
  222. typedef /* [public][public] */ 
  223. enum __MIDL___MIDL_itf_msimcsdk_0000_0005
  224.     { IM_SSTATE_DISCONNECTED = 0,
  225. IM_SSTATE_CONNECTING = 1,
  226. IM_SSTATE_CONNECTED = 2,
  227. IM_SSTATE_DISCONNECTING = 3,
  228. IM_SSTATE_ERROR = 4
  229.     } IM_SSTATE;
  230. typedef /* [public] */ 
  231. enum __MIDL___MIDL_itf_msimcsdk_0000_0006
  232.     { MSIM_LIST_CONTACT = 0x1,
  233. MSIM_LIST_ALLOW = 0x2,
  234. MSIM_LIST_BLOCK = 0x4,
  235. MSIM_LIST_REVERSE = 0x8,
  236. MSIM_LIST_NOREF = 0x10,
  237. MSIM_LIST_SAVE = 0x20,
  238. MSIM_LIST_SYSTEM = 0x80
  239.     } MSIM_LIST_TYPE;
  240. typedef /* [public] */ 
  241. enum __MIDL___MIDL_itf_msimcsdk_0000_0007
  242.     { MSIMWND_WS_OVERLAPPED = 0,
  243. MSIMWND_WS_TOOL = 1,
  244. MSIMWND_WS_POPUP = 2,
  245. MSIMWND_WS_DIALOG = 3,
  246. MSIMWND_WS_SIZEBOX = 4
  247.     } MSIMWND_STYLES;
  248. typedef /* [public] */ 
  249. enum __MIDL___MIDL_itf_msimcsdk_0000_0008
  250.     { MSIMWND_SIZE_MAXHIDE = 1,
  251. MSIMWND_SIZE_MAXIMIZED = 2,
  252. MSIMWND_SIZE_MAXSHOW = 3,
  253. MSIMWND_SIZE_MINIMIZED = 4,
  254. MSIMWND_SIZE_RESTORED = 5
  255.     } MSIMWND_SIZE_TYPE;
  256. #define MSIM_LIST_CONTACT  0x00000001
  257. #define MSIM_LIST_ALLOW    0x00000002
  258. #define MSIM_LIST_BLOCK    0x00000004
  259. #define MSIM_LIST_REVERSE  0x00000008
  260. #define MSIM_LIST_NOREF    0x00000010
  261. #define MSIM_LIST_SAVE     0x00000020
  262. #define MSIM_LIST_SYSTEM   0x00000080
  263. #define MSIM_LIST_CONTACT_STR L"$$Messenger\Contact"
  264. #define MSIM_LIST_ALLOW_STR L"$$Messenger\Allow"
  265. #define MSIM_LIST_BLOCK_STR L"$$Messenger\Block"
  266. #define MSIM_LIST_REVERSE_STR L"$$Messenger\Reverse"
  267. extern RPC_IF_HANDLE __MIDL_itf_msimcsdk_0000_v0_0_c_ifspec;
  268. extern RPC_IF_HANDLE __MIDL_itf_msimcsdk_0000_v0_0_s_ifspec;
  269. #ifndef __MSIMCliSDKLib_LIBRARY_DEFINED__
  270. #define __MSIMCliSDKLib_LIBRARY_DEFINED__
  271. /* library MSIMCliSDKLib */
  272. /* [helpstring][version][uuid] */ 
  273. EXTERN_C const IID LIBID_MSIMCliSDKLib;
  274. #ifndef __IMSIMHost_INTERFACE_DEFINED__
  275. #define __IMSIMHost_INTERFACE_DEFINED__
  276. /* interface IMSIMHost */
  277. /* [unique][helpstring][dual][uuid][object] */ 
  278. EXTERN_C const IID IID_IMSIMHost;
  279. #if defined(__cplusplus) && !defined(CINTERFACE)
  280.     
  281.     MIDL_INTERFACE("7B8E28EB-1A74-4970-8AB4-4EA9DB048006")
  282.     IMSIMHost : public IDispatch
  283.     {
  284.     public:
  285.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateContext( 
  286.             /* [in] */ VARIANT Profile,
  287.             /* [in] */ VARIANT Flags,
  288.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppInterface) = 0;
  289.         
  290.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ShowOptions( void) = 0;
  291.         
  292.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Profiles( 
  293.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *pProfile) = 0;
  294.         
  295.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE HostWindow( 
  296.             /* [in] */ BSTR bstrControl,
  297.             /* [in] */ long lStyle,
  298.             /* [in] */ VARIANT_BOOL fShowOnTaskbar,
  299.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppMSIMWnd) = 0;
  300.         
  301.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateProfile( 
  302.             /* [in] */ BSTR bstrProfile,
  303.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppProfile) = 0;
  304.         
  305.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE PopupMessage( 
  306.             /* [in] */ BSTR bstrMessage,
  307.             /* [defaultvalue][in] */ long nTimeout,
  308.             /* [defaultvalue][in] */ VARIANT_BOOL fClick,
  309.             /* [retval][out] */ long __RPC_FAR *plCookie) = 0;
  310.         
  311.         virtual /* [hidden][restricted][helpstring] */ HRESULT STDMETHODCALLTYPE HostWindowEx( 
  312.             /* [in] */ BSTR bstrControl,
  313.             /* [in] */ long lStyle,
  314.             /* [in] */ long lExStyle,
  315.             /* [in] */ IStream __RPC_FAR *pStream,
  316.             /* [out] */ IMSIMWindow __RPC_FAR *__RPC_FAR *ppMSIMWindow,
  317.             /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk,
  318.             /* [in] */ REFIID iidAdvise,
  319.             /* [in] */ IUnknown __RPC_FAR *punkSink) = 0;
  320.         
  321.     };
  322.     
  323. #else  /* C style interface */
  324.     typedef struct IMSIMHostVtbl
  325.     {
  326.         BEGIN_INTERFACE
  327.         
  328.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  329.             IMSIMHost __RPC_FAR * This,
  330.             /* [in] */ REFIID riid,
  331.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  332.         
  333.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  334.             IMSIMHost __RPC_FAR * This);
  335.         
  336.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  337.             IMSIMHost __RPC_FAR * This);
  338.         
  339.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  340.             IMSIMHost __RPC_FAR * This,
  341.             /* [out] */ UINT __RPC_FAR *pctinfo);
  342.         
  343.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  344.             IMSIMHost __RPC_FAR * This,
  345.             /* [in] */ UINT iTInfo,
  346.             /* [in] */ LCID lcid,
  347.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  348.         
  349.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  350.             IMSIMHost __RPC_FAR * This,
  351.             /* [in] */ REFIID riid,
  352.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  353.             /* [in] */ UINT cNames,
  354.             /* [in] */ LCID lcid,
  355.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  356.         
  357.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  358.             IMSIMHost __RPC_FAR * This,
  359.             /* [in] */ DISPID dispIdMember,
  360.             /* [in] */ REFIID riid,
  361.             /* [in] */ LCID lcid,
  362.             /* [in] */ WORD wFlags,
  363.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  364.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  365.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  366.             /* [out] */ UINT __RPC_FAR *puArgErr);
  367.         
  368.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateContext )( 
  369.             IMSIMHost __RPC_FAR * This,
  370.             /* [in] */ VARIANT Profile,
  371.             /* [in] */ VARIANT Flags,
  372.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppInterface);
  373.         
  374.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ShowOptions )( 
  375.             IMSIMHost __RPC_FAR * This);
  376.         
  377.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Profiles )( 
  378.             IMSIMHost __RPC_FAR * This,
  379.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *pProfile);
  380.         
  381.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *HostWindow )( 
  382.             IMSIMHost __RPC_FAR * This,
  383.             /* [in] */ BSTR bstrControl,
  384.             /* [in] */ long lStyle,
  385.             /* [in] */ VARIANT_BOOL fShowOnTaskbar,
  386.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppMSIMWnd);
  387.         
  388.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateProfile )( 
  389.             IMSIMHost __RPC_FAR * This,
  390.             /* [in] */ BSTR bstrProfile,
  391.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppProfile);
  392.         
  393.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PopupMessage )( 
  394.             IMSIMHost __RPC_FAR * This,
  395.             /* [in] */ BSTR bstrMessage,
  396.             /* [defaultvalue][in] */ long nTimeout,
  397.             /* [defaultvalue][in] */ VARIANT_BOOL fClick,
  398.             /* [retval][out] */ long __RPC_FAR *plCookie);
  399.         
  400.         /* [hidden][restricted][helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *HostWindowEx )( 
  401.             IMSIMHost __RPC_FAR * This,
  402.             /* [in] */ BSTR bstrControl,
  403.             /* [in] */ long lStyle,
  404.             /* [in] */ long lExStyle,
  405.             /* [in] */ IStream __RPC_FAR *pStream,
  406.             /* [out] */ IMSIMWindow __RPC_FAR *__RPC_FAR *ppMSIMWindow,
  407.             /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk,
  408.             /* [in] */ REFIID iidAdvise,
  409.             /* [in] */ IUnknown __RPC_FAR *punkSink);
  410.         
  411.         END_INTERFACE
  412.     } IMSIMHostVtbl;
  413.     interface IMSIMHost
  414.     {
  415.         CONST_VTBL struct IMSIMHostVtbl __RPC_FAR *lpVtbl;
  416.     };
  417.     
  418. #ifdef COBJMACROS
  419. #define IMSIMHost_QueryInterface(This,riid,ppvObject)
  420.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  421. #define IMSIMHost_AddRef(This)
  422.     (This)->lpVtbl -> AddRef(This)
  423. #define IMSIMHost_Release(This)
  424.     (This)->lpVtbl -> Release(This)
  425. #define IMSIMHost_GetTypeInfoCount(This,pctinfo)
  426.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  427. #define IMSIMHost_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  428.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  429. #define IMSIMHost_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  430.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  431. #define IMSIMHost_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  432.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  433. #define IMSIMHost_CreateContext(This,Profile,Flags,ppInterface)
  434.     (This)->lpVtbl -> CreateContext(This,Profile,Flags,ppInterface)
  435. #define IMSIMHost_ShowOptions(This)
  436.     (This)->lpVtbl -> ShowOptions(This)
  437. #define IMSIMHost_get_Profiles(This,pProfile)
  438.     (This)->lpVtbl -> get_Profiles(This,pProfile)
  439. #define IMSIMHost_HostWindow(This,bstrControl,lStyle,fShowOnTaskbar,ppMSIMWnd)
  440.     (This)->lpVtbl -> HostWindow(This,bstrControl,lStyle,fShowOnTaskbar,ppMSIMWnd)
  441. #define IMSIMHost_CreateProfile(This,bstrProfile,ppProfile)
  442.     (This)->lpVtbl -> CreateProfile(This,bstrProfile,ppProfile)
  443. #define IMSIMHost_PopupMessage(This,bstrMessage,nTimeout,fClick,plCookie)
  444.     (This)->lpVtbl -> PopupMessage(This,bstrMessage,nTimeout,fClick,plCookie)
  445. #define IMSIMHost_HostWindowEx(This,bstrControl,lStyle,lExStyle,pStream,ppMSIMWindow,ppUnk,iidAdvise,punkSink)
  446.     (This)->lpVtbl -> HostWindowEx(This,bstrControl,lStyle,lExStyle,pStream,ppMSIMWindow,ppUnk,iidAdvise,punkSink)
  447. #endif /* COBJMACROS */
  448. #endif  /* C style interface */
  449. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSIMHost_CreateContext_Proxy( 
  450.     IMSIMHost __RPC_FAR * This,
  451.     /* [in] */ VARIANT Profile,
  452.     /* [in] */ VARIANT Flags,
  453.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppInterface);
  454. void __RPC_STUB IMSIMHost_CreateContext_Stub(
  455.     IRpcStubBuffer *This,
  456.     IRpcChannelBuffer *_pRpcChannelBuffer,
  457.     PRPC_MESSAGE _pRpcMessage,
  458.     DWORD *_pdwStubPhase);
  459. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSIMHost_ShowOptions_Proxy( 
  460.     IMSIMHost __RPC_FAR * This);
  461. void __RPC_STUB IMSIMHost_ShowOptions_Stub(
  462.     IRpcStubBuffer *This,
  463.     IRpcChannelBuffer *_pRpcChannelBuffer,
  464.     PRPC_MESSAGE _pRpcMessage,
  465.     DWORD *_pdwStubPhase);
  466. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSIMHost_get_Profiles_Proxy( 
  467.     IMSIMHost __RPC_FAR * This,
  468.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *pProfile);
  469. void __RPC_STUB IMSIMHost_get_Profiles_Stub(
  470.     IRpcStubBuffer *This,
  471.     IRpcChannelBuffer *_pRpcChannelBuffer,
  472.     PRPC_MESSAGE _pRpcMessage,
  473.     DWORD *_pdwStubPhase);
  474. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSIMHost_HostWindow_Proxy( 
  475.     IMSIMHost __RPC_FAR * This,
  476.     /* [in] */ BSTR bstrControl,
  477.     /* [in] */ long lStyle,
  478.     /* [in] */ VARIANT_BOOL fShowOnTaskbar,
  479.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppMSIMWnd);
  480. void __RPC_STUB IMSIMHost_HostWindow_Stub(
  481.     IRpcStubBuffer *This,
  482.     IRpcChannelBuffer *_pRpcChannelBuffer,
  483.     PRPC_MESSAGE _pRpcMessage,
  484.     DWORD *_pdwStubPhase);
  485. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSIMHost_CreateProfile_Proxy( 
  486.     IMSIMHost __RPC_FAR * This,
  487.     /* [in] */ BSTR bstrProfile,
  488.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppProfile);
  489. void __RPC_STUB IMSIMHost_CreateProfile_Stub(
  490.     IRpcStubBuffer *This,
  491.     IRpcChannelBuffer *_pRpcChannelBuffer,
  492.     PRPC_MESSAGE _pRpcMessage,
  493.     DWORD *_pdwStubPhase);
  494. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSIMHost_PopupMessage_Proxy( 
  495.     IMSIMHost __RPC_FAR * This,
  496.     /* [in] */ BSTR bstrMessage,
  497.     /* [defaultvalue][in] */ long nTimeout,
  498.     /* [defaultvalue][in] */ VARIANT_BOOL fClick,
  499.     /* [retval][out] */ long __RPC_FAR *plCookie);
  500. void __RPC_STUB IMSIMHost_PopupMessage_Stub(
  501.     IRpcStubBuffer *This,
  502.     IRpcChannelBuffer *_pRpcChannelBuffer,
  503.     PRPC_MESSAGE _pRpcMessage,
  504.     DWORD *_pdwStubPhase);
  505. /* [hidden][restricted][helpstring] */ HRESULT STDMETHODCALLTYPE IMSIMHost_HostWindowEx_Proxy( 
  506.     IMSIMHost __RPC_FAR * This,
  507.     /* [in] */ BSTR bstrControl,
  508.     /* [in] */ long lStyle,
  509.     /* [in] */ long lExStyle,
  510.     /* [in] */ IStream __RPC_FAR *pStream,
  511.     /* [out] */ IMSIMWindow __RPC_FAR *__RPC_FAR *ppMSIMWindow,
  512.     /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk,
  513.     /* [in] */ REFIID iidAdvise,
  514.     /* [in] */ IUnknown __RPC_FAR *punkSink);
  515. void __RPC_STUB IMSIMHost_HostWindowEx_Stub(
  516.     IRpcStubBuffer *This,
  517.     IRpcChannelBuffer *_pRpcChannelBuffer,
  518.     PRPC_MESSAGE _pRpcMessage,
  519.     DWORD *_pdwStubPhase);
  520. #endif  /* __IMSIMHost_INTERFACE_DEFINED__ */
  521. #ifndef __DMSIMHostEvents_DISPINTERFACE_DEFINED__
  522. #define __DMSIMHostEvents_DISPINTERFACE_DEFINED__
  523. /* dispinterface DMSIMHostEvents */
  524. /* [helpstring][uuid] */ 
  525. EXTERN_C const IID DIID_DMSIMHostEvents;
  526. #if defined(__cplusplus) && !defined(CINTERFACE)
  527.     MIDL_INTERFACE("E27DE165-A199-4427-A38F-BEED080AC9D4")
  528.     DMSIMHostEvents : public IDispatch
  529.     {
  530.     };
  531.     
  532. #else  /* C style interface */
  533.     typedef struct DMSIMHostEventsVtbl
  534.     {
  535.         BEGIN_INTERFACE
  536.         
  537.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  538.             DMSIMHostEvents __RPC_FAR * This,
  539.             /* [in] */ REFIID riid,
  540.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  541.         
  542.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  543.             DMSIMHostEvents __RPC_FAR * This);
  544.         
  545.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  546.             DMSIMHostEvents __RPC_FAR * This);
  547.         
  548.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  549.             DMSIMHostEvents __RPC_FAR * This,
  550.             /* [out] */ UINT __RPC_FAR *pctinfo);
  551.         
  552.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  553.             DMSIMHostEvents __RPC_FAR * This,
  554.             /* [in] */ UINT iTInfo,
  555.             /* [in] */ LCID lcid,
  556.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  557.         
  558.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  559.             DMSIMHostEvents __RPC_FAR * This,
  560.             /* [in] */ REFIID riid,
  561.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  562.             /* [in] */ UINT cNames,
  563.             /* [in] */ LCID lcid,
  564.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  565.         
  566.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  567.             DMSIMHostEvents __RPC_FAR * This,
  568.             /* [in] */ DISPID dispIdMember,
  569.             /* [in] */ REFIID riid,
  570.             /* [in] */ LCID lcid,
  571.             /* [in] */ WORD wFlags,
  572.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  573.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  574.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  575.             /* [out] */ UINT __RPC_FAR *puArgErr);
  576.         
  577.         END_INTERFACE
  578.     } DMSIMHostEventsVtbl;
  579.     interface DMSIMHostEvents
  580.     {
  581.         CONST_VTBL struct DMSIMHostEventsVtbl __RPC_FAR *lpVtbl;
  582.     };
  583.     
  584. #ifdef COBJMACROS
  585. #define DMSIMHostEvents_QueryInterface(This,riid,ppvObject)
  586.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  587. #define DMSIMHostEvents_AddRef(This)
  588.     (This)->lpVtbl -> AddRef(This)
  589. #define DMSIMHostEvents_Release(This)
  590.     (This)->lpVtbl -> Release(This)
  591. #define DMSIMHostEvents_GetTypeInfoCount(This,pctinfo)
  592.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  593. #define DMSIMHostEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  594.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  595. #define DMSIMHostEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  596.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  597. #define DMSIMHostEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  598.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  599. #endif /* COBJMACROS */
  600. #endif  /* C style interface */
  601. #endif  /* __DMSIMHostEvents_DISPINTERFACE_DEFINED__ */
  602. #ifndef __IMSIMWindow_INTERFACE_DEFINED__
  603. #define __IMSIMWindow_INTERFACE_DEFINED__
  604. /* interface IMSIMWindow */
  605. /* [unique][helpstring][dual][uuid][object] */ 
  606. EXTERN_C const IID IID_IMSIMWindow;
  607. #if defined(__cplusplus) && !defined(CINTERFACE)
  608.     
  609.     MIDL_INTERFACE("B3B674C2-844B-48F8-8EAA-A2C2E3BC43C7")
  610.     IMSIMWindow : public IDispatch
  611.     {
  612.     public:
  613.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Object( 
  614.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppDisp) = 0;
  615.         
  616.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Move( 
  617.             /* [in] */ long nX,
  618.             /* [in] */ long nY,
  619.             /* [in] */ long nWidth,
  620.             /* [in] */ long nHeight) = 0;
  621.         
  622.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Focus( void) = 0;
  623.         
  624.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Show( void) = 0;
  625.         
  626.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Hide( void) = 0;
  627.         
  628.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Title( 
  629.             /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
  630.         
  631.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Title( 
  632.             /* [in] */ BSTR newVal) = 0;
  633.         
  634.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
  635.         
  636.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_HasFocus( 
  637.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal) = 0;
  638.         
  639.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsVisible( 
  640.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal) = 0;
  641.         
  642.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPosition( 
  643.             /* [out] */ VARIANT __RPC_FAR *pvarX,
  644.             /* [out] */ VARIANT __RPC_FAR *pvarY,
  645.             /* [out] */ VARIANT __RPC_FAR *pvarWidth,
  646.             /* [out] */ VARIANT __RPC_FAR *pvarHeight) = 0;
  647.         
  648.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_TopMost( 
  649.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal) = 0;
  650.         
  651.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_TopMost( 
  652.             /* [in] */ VARIANT_BOOL newVal) = 0;
  653.         
  654.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Window( 
  655.             /* [retval][out] */ long __RPC_FAR *pVal) = 0;
  656.         
  657.     };
  658.     
  659. #else  /* C style interface */
  660.     typedef struct IMSIMWindowVtbl
  661.     {
  662.         BEGIN_INTERFACE
  663.         
  664.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  665.             IMSIMWindow __RPC_FAR * This,
  666.             /* [in] */ REFIID riid,
  667.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  668.         
  669.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  670.             IMSIMWindow __RPC_FAR * This);
  671.         
  672.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  673.             IMSIMWindow __RPC_FAR * This);
  674.         
  675.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  676.             IMSIMWindow __RPC_FAR * This,
  677.             /* [out] */ UINT __RPC_FAR *pctinfo);
  678.         
  679.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  680.             IMSIMWindow __RPC_FAR * This,
  681.             /* [in] */ UINT iTInfo,
  682.             /* [in] */ LCID lcid,
  683.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  684.         
  685.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  686.             IMSIMWindow __RPC_FAR * This,
  687.             /* [in] */ REFIID riid,
  688.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  689.             /* [in] */ UINT cNames,
  690.             /* [in] */ LCID lcid,
  691.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  692.         
  693.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  694.             IMSIMWindow __RPC_FAR * This,
  695.             /* [in] */ DISPID dispIdMember,
  696.             /* [in] */ REFIID riid,
  697.             /* [in] */ LCID lcid,
  698.             /* [in] */ WORD wFlags,
  699.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  700.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  701.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  702.             /* [out] */ UINT __RPC_FAR *puArgErr);
  703.         
  704.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Object )( 
  705.             IMSIMWindow __RPC_FAR * This,
  706.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppDisp);
  707.         
  708.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
  709.             IMSIMWindow __RPC_FAR * This,
  710.             /* [in] */ long nX,
  711.             /* [in] */ long nY,
  712.             /* [in] */ long nWidth,
  713.             /* [in] */ long nHeight);
  714.         
  715.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Focus )( 
  716.             IMSIMWindow __RPC_FAR * This);
  717.         
  718.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Show )( 
  719.             IMSIMWindow __RPC_FAR * This);
  720.         
  721.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Hide )( 
  722.             IMSIMWindow __RPC_FAR * This);
  723.         
  724.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Title )( 
  725.             IMSIMWindow __RPC_FAR * This,
  726.             /* [retval][out] */ BSTR __RPC_FAR *pVal);
  727.         
  728.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Title )( 
  729.             IMSIMWindow __RPC_FAR * This,
  730.             /* [in] */ BSTR newVal);
  731.         
  732.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )( 
  733.             IMSIMWindow __RPC_FAR * This);
  734.         
  735.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HasFocus )( 
  736.             IMSIMWindow __RPC_FAR * This,
  737.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);
  738.         
  739.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_IsVisible )( 
  740.             IMSIMWindow __RPC_FAR * This,
  741.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);
  742.         
  743.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPosition )( 
  744.             IMSIMWindow __RPC_FAR * This,
  745.             /* [out] */ VARIANT __RPC_FAR *pvarX,
  746.             /* [out] */ VARIANT __RPC_FAR *pvarY,
  747.             /* [out] */ VARIANT __RPC_FAR *pvarWidth,
  748.             /* [out] */ VARIANT __RPC_FAR *pvarHeight);
  749.         
  750.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TopMost )( 
  751.             IMSIMWindow __RPC_FAR * This,
  752.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);
  753.         
  754.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TopMost )( 
  755.             IMSIMWindow __RPC_FAR * This,
  756.             /* [in] */ VARIANT_BOOL newVal);
  757.         
  758.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Window )( 
  759.             IMSIMWindow __RPC_FAR * This,
  760.             /* [retval][out] */ long __RPC_FAR *pVal);
  761.         
  762.         END_INTERFACE
  763.     } IMSIMWindowVtbl;
  764.     interface IMSIMWindow
  765.     {
  766.         CONST_VTBL struct IMSIMWindowVtbl __RPC_FAR *lpVtbl;
  767.     };
  768.     
  769. #ifdef COBJMACROS
  770. #define IMSIMWindow_QueryInterface(This,riid,ppvObject)
  771.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  772. #define IMSIMWindow_AddRef(This)
  773.     (This)->lpVtbl -> AddRef(This)
  774. #define IMSIMWindow_Release(This)
  775.     (This)->lpVtbl -> Release(This)
  776. #define IMSIMWindow_GetTypeInfoCount(This,pctinfo)
  777.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  778. #define IMSIMWindow_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  779.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  780. #define IMSIMWindow_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  781.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  782. #define IMSIMWindow_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  783.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  784. #define IMSIMWindow_get_Object(This,ppDisp)
  785.     (This)->lpVtbl -> get_Object(This,ppDisp)
  786. #define IMSIMWindow_Move(This,nX,nY,nWidth,nHeight)
  787.     (This)->lpVtbl -> Move(This,nX,nY,nWidth,nHeight)
  788. #define IMSIMWindow_Focus(This)
  789.     (This)->lpVtbl -> Focus(This)
  790. #define IMSIMWindow_Show(This)
  791.     (This)->lpVtbl -> Show(This)
  792. #define IMSIMWindow_Hide(This)
  793.     (This)->lpVtbl -> Hide(This)
  794. #define IMSIMWindow_get_Title(This,pVal)
  795.     (This)->lpVtbl -> get_Title(This,pVal)
  796. #define IMSIMWindow_put_Title(This,newVal)
  797.     (This)->lpVtbl -> put_Title(This,newVal)
  798. #define IMSIMWindow_Close(This)
  799.     (This)->lpVtbl -> Close(This)
  800. #define IMSIMWindow_get_HasFocus(This,pVal)
  801.     (This)->lpVtbl -> get_HasFocus(This,pVal)
  802. #define IMSIMWindow_get_IsVisible(This,pVal)
  803.     (This)->lpVtbl -> get_IsVisible(This,pVal)
  804. #define IMSIMWindow_GetPosition(This,pvarX,pvarY,pvarWidth,pvarHeight)
  805.     (This)->lpVtbl -> GetPosition(This,pvarX,pvarY,pvarWidth,pvarHeight)
  806. #define IMSIMWindow_get_TopMost(This,pVal)
  807.     (This)->lpVtbl -> get_TopMost(This,pVal)
  808. #define IMSIMWindow_put_TopMost(This,newVal)
  809.     (This)->lpVtbl -> put_TopMost(This,newVal)
  810. #define IMSIMWindow_get_Window(This,pVal)
  811.     (This)->lpVtbl -> get_Window(This,pVal)
  812. #endif /* COBJMACROS */
  813. #endif  /* C style interface */
  814. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSIMWindow_get_Object_Proxy( 
  815.     IMSIMWindow __RPC_FAR * This,
  816.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppDisp);
  817. void __RPC_STUB IMSIMWindow_get_Object_Stub(
  818.     IRpcStubBuffer *This,
  819.     IRpcChannelBuffer *_pRpcChannelBuffer,
  820.     PRPC_MESSAGE _pRpcMessage,
  821.     DWORD *_pdwStubPhase);
  822. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSIMWindow_Move_Proxy( 
  823.     IMSIMWindow __RPC_FAR * This,
  824.     /* [in] */ long nX,
  825.     /* [in] */ long nY,
  826.     /* [in] */ long nWidth,
  827.     /* [in] */ long nHeight);
  828. void __RPC_STUB IMSIMWindow_Move_Stub(
  829.     IRpcStubBuffer *This,
  830.     IRpcChannelBuffer *_pRpcChannelBuffer,
  831.     PRPC_MESSAGE _pRpcMessage,
  832.     DWORD *_pdwStubPhase);
  833. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSIMWindow_Focus_Proxy( 
  834.     IMSIMWindow __RPC_FAR * This);
  835. void __RPC_STUB IMSIMWindow_Focus_Stub(
  836.     IRpcStubBuffer *This,
  837.     IRpcChannelBuffer *_pRpcChannelBuffer,
  838.     PRPC_MESSAGE _pRpcMessage,
  839.     DWORD *_pdwStubPhase);
  840. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSIMWindow_Show_Proxy( 
  841.     IMSIMWindow __RPC_FAR * This);
  842. void __RPC_STUB IMSIMWindow_Show_Stub(
  843.     IRpcStubBuffer *This,
  844.     IRpcChannelBuffer *_pRpcChannelBuffer,
  845.     PRPC_MESSAGE _pRpcMessage,
  846.     DWORD *_pdwStubPhase);
  847. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSIMWindow_Hide_Proxy( 
  848.     IMSIMWindow __RPC_FAR * This);
  849. void __RPC_STUB IMSIMWindow_Hide_Stub(
  850.     IRpcStubBuffer *This,
  851.     IRpcChannelBuffer *_pRpcChannelBuffer,
  852.     PRPC_MESSAGE _pRpcMessage,
  853.     DWORD *_pdwStubPhase);
  854. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSIMWindow_get_Title_Proxy( 
  855.     IMSIMWindow __RPC_FAR * This,
  856.     /* [retval][out] */ BSTR __RPC_FAR *pVal);
  857. void __RPC_STUB IMSIMWindow_get_Title_Stub(
  858.     IRpcStubBuffer *This,
  859.     IRpcChannelBuffer *_pRpcChannelBuffer,
  860.     PRPC_MESSAGE _pRpcMessage,
  861.     DWORD *_pdwStubPhase);
  862. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMSIMWindow_put_Title_Proxy( 
  863.     IMSIMWindow __RPC_FAR * This,
  864.     /* [in] */ BSTR newVal);
  865. void __RPC_STUB IMSIMWindow_put_Title_Stub(
  866.     IRpcStubBuffer *This,
  867.     IRpcChannelBuffer *_pRpcChannelBuffer,
  868.     PRPC_MESSAGE _pRpcMessage,
  869.     DWORD *_pdwStubPhase);
  870. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSIMWindow_Close_Proxy( 
  871.     IMSIMWindow __RPC_FAR * This);
  872. void __RPC_STUB IMSIMWindow_Close_Stub(
  873.     IRpcStubBuffer *This,
  874.     IRpcChannelBuffer *_pRpcChannelBuffer,
  875.     PRPC_MESSAGE _pRpcMessage,
  876.     DWORD *_pdwStubPhase);
  877. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSIMWindow_get_HasFocus_Proxy( 
  878.     IMSIMWindow __RPC_FAR * This,
  879.     /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);
  880. void __RPC_STUB IMSIMWindow_get_HasFocus_Stub(
  881.     IRpcStubBuffer *This,
  882.     IRpcChannelBuffer *_pRpcChannelBuffer,
  883.     PRPC_MESSAGE _pRpcMessage,
  884.     DWORD *_pdwStubPhase);
  885. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSIMWindow_get_IsVisible_Proxy( 
  886.     IMSIMWindow __RPC_FAR * This,
  887.     /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);
  888. void __RPC_STUB IMSIMWindow_get_IsVisible_Stub(
  889.     IRpcStubBuffer *This,
  890.     IRpcChannelBuffer *_pRpcChannelBuffer,
  891.     PRPC_MESSAGE _pRpcMessage,
  892.     DWORD *_pdwStubPhase);
  893. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSIMWindow_GetPosition_Proxy( 
  894.     IMSIMWindow __RPC_FAR * This,
  895.     /* [out] */ VARIANT __RPC_FAR *pvarX,
  896.     /* [out] */ VARIANT __RPC_FAR *pvarY,
  897.     /* [out] */ VARIANT __RPC_FAR *pvarWidth,
  898.     /* [out] */ VARIANT __RPC_FAR *pvarHeight);
  899. void __RPC_STUB IMSIMWindow_GetPosition_Stub(
  900.     IRpcStubBuffer *This,
  901.     IRpcChannelBuffer *_pRpcChannelBuffer,
  902.     PRPC_MESSAGE _pRpcMessage,
  903.     DWORD *_pdwStubPhase);
  904. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSIMWindow_get_TopMost_Proxy( 
  905.     IMSIMWindow __RPC_FAR * This,
  906.     /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);
  907. void __RPC_STUB IMSIMWindow_get_TopMost_Stub(
  908.     IRpcStubBuffer *This,
  909.     IRpcChannelBuffer *_pRpcChannelBuffer,
  910.     PRPC_MESSAGE _pRpcMessage,
  911.     DWORD *_pdwStubPhase);
  912. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMSIMWindow_put_TopMost_Proxy( 
  913.     IMSIMWindow __RPC_FAR * This,
  914.     /* [in] */ VARIANT_BOOL newVal);
  915. void __RPC_STUB IMSIMWindow_put_TopMost_Stub(
  916.     IRpcStubBuffer *This,
  917.     IRpcChannelBuffer *_pRpcChannelBuffer,
  918.     PRPC_MESSAGE _pRpcMessage,
  919.     DWORD *_pdwStubPhase);
  920. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSIMWindow_get_Window_Proxy( 
  921.     IMSIMWindow __RPC_FAR * This,
  922.     /* [retval][out] */ long __RPC_FAR *pVal);
  923. void __RPC_STUB IMSIMWindow_get_Window_Stub(
  924.     IRpcStubBuffer *This,
  925.     IRpcChannelBuffer *_pRpcChannelBuffer,
  926.     PRPC_MESSAGE _pRpcMessage,
  927.     DWORD *_pdwStubPhase);
  928. #endif  /* __IMSIMWindow_INTERFACE_DEFINED__ */
  929. #ifndef __DMSIMWindowEvents_DISPINTERFACE_DEFINED__
  930. #define __DMSIMWindowEvents_DISPINTERFACE_DEFINED__
  931. /* dispinterface DMSIMWindowEvents */
  932. /* [helpstring][uuid] */ 
  933. EXTERN_C const IID DIID_DMSIMWindowEvents;
  934. #if defined(__cplusplus) && !defined(CINTERFACE)
  935.     MIDL_INTERFACE("D7417B39-EBB1-45a7-88C9-B69A7DC6E3BB")
  936.     DMSIMWindowEvents : public IDispatch
  937.     {
  938.     };
  939.     
  940. #else  /* C style interface */
  941.     typedef struct DMSIMWindowEventsVtbl
  942.     {
  943.         BEGIN_INTERFACE
  944.         
  945.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  946.             DMSIMWindowEvents __RPC_FAR * This,
  947.             /* [in] */ REFIID riid,
  948.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  949.         
  950.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  951.             DMSIMWindowEvents __RPC_FAR * This);
  952.         
  953.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  954.             DMSIMWindowEvents __RPC_FAR * This);
  955.         
  956.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  957.             DMSIMWindowEvents __RPC_FAR * This,
  958.             /* [out] */ UINT __RPC_FAR *pctinfo);
  959.         
  960.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  961.             DMSIMWindowEvents __RPC_FAR * This,
  962.             /* [in] */ UINT iTInfo,
  963.             /* [in] */ LCID lcid,
  964.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  965.         
  966.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  967.             DMSIMWindowEvents __RPC_FAR * This,
  968.             /* [in] */ REFIID riid,
  969.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  970.             /* [in] */ UINT cNames,
  971.             /* [in] */ LCID lcid,
  972.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  973.         
  974.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  975.             DMSIMWindowEvents __RPC_FAR * This,
  976.             /* [in] */ DISPID dispIdMember,
  977.             /* [in] */ REFIID riid,
  978.             /* [in] */ LCID lcid,
  979.             /* [in] */ WORD wFlags,
  980.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  981.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  982.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  983.             /* [out] */ UINT __RPC_FAR *puArgErr);
  984.         
  985.         END_INTERFACE
  986.     } DMSIMWindowEventsVtbl;
  987.     interface DMSIMWindowEvents
  988.     {
  989.         CONST_VTBL struct DMSIMWindowEventsVtbl __RPC_FAR *lpVtbl;
  990.     };
  991.     
  992. #ifdef COBJMACROS
  993. #define DMSIMWindowEvents_QueryInterface(This,riid,ppvObject)
  994.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  995. #define DMSIMWindowEvents_AddRef(This)
  996.     (This)->lpVtbl -> AddRef(This)
  997. #define DMSIMWindowEvents_Release(This)
  998.     (This)->lpVtbl -> Release(This)
  999. #define DMSIMWindowEvents_GetTypeInfoCount(This,pctinfo)
  1000.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1001. #define DMSIMWindowEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1002.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1003. #define DMSIMWindowEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1004.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1005. #define DMSIMWindowEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1006.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1007. #endif /* COBJMACROS */
  1008. #endif  /* C style interface */
  1009. #endif  /* __DMSIMWindowEvents_DISPINTERFACE_DEFINED__ */
  1010. #ifndef __IIMService_INTERFACE_DEFINED__
  1011. #define __IIMService_INTERFACE_DEFINED__
  1012. /* interface IIMService */
  1013. /* [unique][helpstring][dual][uuid][object] */ 
  1014. EXTERN_C const IID IID_IIMService;
  1015. #if defined(__cplusplus) && !defined(CINTERFACE)
  1016.     
  1017.     MIDL_INTERFACE("2F5FC78B-B85C-43F8-A8F9-C9241869600B")
  1018.     IIMService : public IDispatch
  1019.     {
  1020.     public:
  1021.         virtual /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Server( 
  1022.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName) = 0;
  1023.         
  1024.         virtual /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IMAddress( 
  1025.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName) = 0;
  1026.         
  1027.         virtual /* [helpcontext][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_FriendlyName( 
  1028.             /* [in] */ BSTR bstrName) = 0;
  1029.         
  1030.         virtual /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_FriendlyName( 
  1031.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName) = 0;
  1032.         
  1033.         virtual /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE Logoff( void) = 0;
  1034.         
  1035.         virtual /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE FindContact( 
  1036.             /* [in] */ BSTR bstrFirstName,
  1037.             /* [in] */ BSTR bstrLastName,
  1038.             /* [in] */ BSTR bstrAlias,
  1039.             /* [in] */ BSTR bstrCity,
  1040.             /* [in] */ BSTR bstrState,
  1041.             /* [in] */ BSTR bstrCountry,
  1042.             /* [retval][out] */ LONG __RPC_FAR *plCookie) = 0;
  1043.         
  1044.         virtual /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE Logon( 
  1045.             /* [optional][in] */ VARIANT varParameter) = 0;
  1046.         
  1047.         virtual /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateContact( 
  1048.             /* [in] */ BSTR bstrAlias,
  1049.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppContact) = 0;
  1050.         
  1051.         virtual /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE SetLocalState( 
  1052.             /* [in] */ long lState,
  1053.             /* [defaultvalue][in] */ BSTR bstrDescription,
  1054.             /* [optional][in] */ VARIANT varData) = 0;
  1055.         
  1056.         virtual /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE GetLocalState( 
  1057.             /* [out] */ VARIANT __RPC_FAR *pvarState,
  1058.             /* [optional][full][out] */ VARIANT __RPC_FAR *pvarDescription,
  1059.             /* [optional][full][out] */ VARIANT __RPC_FAR *pvarData) = 0;
  1060.         
  1061.         virtual /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateIMSession( 
  1062.             /* [in] */ VARIANT varIMContact,
  1063.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppIMSession) = 0;
  1064.         
  1065.         virtual /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IMSessions( 
  1066.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppIMSessions) = 0;
  1067.         
  1068.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE NewList( 
  1069.             /* [in] */ BSTR bstrListName,
  1070.             /* [in] */ long bfProperties,
  1071.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppList) = 0;
  1072.         
  1073.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE List( 
  1074.             BSTR bstrListName,
  1075.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppList) = 0;
  1076.         
  1077.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RemoveList( 
  1078.             /* [in] */ BSTR bstrListName) = 0;
  1079.         
  1080.         virtual /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE SendNetMeetingInvite( 
  1081.             /* [in] */ VARIANT varContact,
  1082.             /* [in] */ long lInviteCookie,
  1083.             /* [retval][out] */ long __RPC_FAR *plSendCookie) = 0;
  1084.         
  1085.         virtual /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE SendNetMeetingAccept( 
  1086.             /* [in] */ VARIANT varContact,
  1087.             /* [in] */ long lInviteCookie,
  1088.             /* [in] */ long lInviteType,
  1089.             /* [retval][out] */ long __RPC_FAR *plSendCookie) = 0;
  1090.         
  1091.         virtual /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE SendNetMeetingCancel( 
  1092.             /* [in] */ VARIANT varContact,
  1093.             /* [in] */ long lInviteCookie,
  1094.             /* [in] */ long hrReason,
  1095.             /* [retval][out] */ long __RPC_FAR *plSendCookie) = 0;
  1096.         
  1097.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_BlockByDefault( 
  1098.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal) = 0;
  1099.         
  1100.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_BlockByDefault( 
  1101.             /* [in] */ VARIANT_BOOL newVal) = 0;
  1102.         
  1103.     };
  1104.     
  1105. #else  /* C style interface */
  1106.     typedef struct IIMServiceVtbl
  1107.     {
  1108.         BEGIN_INTERFACE
  1109.         
  1110.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1111.             IIMService __RPC_FAR * This,
  1112.             /* [in] */ REFIID riid,
  1113.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1114.         
  1115.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1116.             IIMService __RPC_FAR * This);
  1117.         
  1118.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1119.             IIMService __RPC_FAR * This);
  1120.         
  1121.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  1122.             IIMService __RPC_FAR * This,
  1123.             /* [out] */ UINT __RPC_FAR *pctinfo);
  1124.         
  1125.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  1126.             IIMService __RPC_FAR * This,
  1127.             /* [in] */ UINT iTInfo,
  1128.             /* [in] */ LCID lcid,
  1129.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1130.         
  1131.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  1132.             IIMService __RPC_FAR * This,
  1133.             /* [in] */ REFIID riid,
  1134.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1135.             /* [in] */ UINT cNames,
  1136.             /* [in] */ LCID lcid,
  1137.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1138.         
  1139.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  1140.             IIMService __RPC_FAR * This,
  1141.             /* [in] */ DISPID dispIdMember,
  1142.             /* [in] */ REFIID riid,
  1143.             /* [in] */ LCID lcid,
  1144.             /* [in] */ WORD wFlags,
  1145.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1146.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1147.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1148.             /* [out] */ UINT __RPC_FAR *puArgErr);
  1149.         
  1150.         /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Server )( 
  1151.             IIMService __RPC_FAR * This,
  1152.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  1153.         
  1154.         /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_IMAddress )( 
  1155.             IIMService __RPC_FAR * This,
  1156.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  1157.         
  1158.         /* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_FriendlyName )( 
  1159.             IIMService __RPC_FAR * This,
  1160.             /* [in] */ BSTR bstrName);
  1161.         
  1162.         /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FriendlyName )( 
  1163.             IIMService __RPC_FAR * This,
  1164.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  1165.         
  1166.         /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Logoff )( 
  1167.             IIMService __RPC_FAR * This);
  1168.         
  1169.         /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindContact )( 
  1170.             IIMService __RPC_FAR * This,
  1171.             /* [in] */ BSTR bstrFirstName,
  1172.             /* [in] */ BSTR bstrLastName,
  1173.             /* [in] */ BSTR bstrAlias,
  1174.             /* [in] */ BSTR bstrCity,
  1175.             /* [in] */ BSTR bstrState,
  1176.             /* [in] */ BSTR bstrCountry,
  1177.             /* [retval][out] */ LONG __RPC_FAR *plCookie);
  1178.         
  1179.         /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Logon )( 
  1180.             IIMService __RPC_FAR * This,
  1181.             /* [optional][in] */ VARIANT varParameter);
  1182.         
  1183.         /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateContact )( 
  1184.             IIMService __RPC_FAR * This,
  1185.             /* [in] */ BSTR bstrAlias,
  1186.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppContact);
  1187.         
  1188.         /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLocalState )( 
  1189.             IIMService __RPC_FAR * This,
  1190.             /* [in] */ long lState,
  1191.             /* [defaultvalue][in] */ BSTR bstrDescription,
  1192.             /* [optional][in] */ VARIANT varData);
  1193.         
  1194.         /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLocalState )( 
  1195.             IIMService __RPC_FAR * This,
  1196.             /* [out] */ VARIANT __RPC_FAR *pvarState,
  1197.             /* [optional][full][out] */ VARIANT __RPC_FAR *pvarDescription,
  1198.             /* [optional][full][out] */ VARIANT __RPC_FAR *pvarData);
  1199.         
  1200.         /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateIMSession )( 
  1201.             IIMService __RPC_FAR * This,
  1202.             /* [in] */ VARIANT varIMContact,
  1203.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppIMSession);
  1204.         
  1205.         /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_IMSessions )( 
  1206.             IIMService __RPC_FAR * This,
  1207.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppIMSessions);
  1208.         
  1209.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NewList )( 
  1210.             IIMService __RPC_FAR * This,
  1211.             /* [in] */ BSTR bstrListName,
  1212.             /* [in] */ long bfProperties,
  1213.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppList);
  1214.         
  1215.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *List )( 
  1216.             IIMService __RPC_FAR * This,
  1217.             BSTR bstrListName,
  1218.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppList);
  1219.         
  1220.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveList )( 
  1221.             IIMService __RPC_FAR * This,
  1222.             /* [in] */ BSTR bstrListName);
  1223.         
  1224.         /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendNetMeetingInvite )( 
  1225.             IIMService __RPC_FAR * This,
  1226.             /* [in] */ VARIANT varContact,
  1227.             /* [in] */ long lInviteCookie,
  1228.             /* [retval][out] */ long __RPC_FAR *plSendCookie);
  1229.         
  1230.         /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendNetMeetingAccept )( 
  1231.             IIMService __RPC_FAR * This,
  1232.             /* [in] */ VARIANT varContact,
  1233.             /* [in] */ long lInviteCookie,
  1234.             /* [in] */ long lInviteType,
  1235.             /* [retval][out] */ long __RPC_FAR *plSendCookie);
  1236.         
  1237.         /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendNetMeetingCancel )( 
  1238.             IIMService __RPC_FAR * This,
  1239.             /* [in] */ VARIANT varContact,
  1240.             /* [in] */ long lInviteCookie,
  1241.             /* [in] */ long hrReason,
  1242.             /* [retval][out] */ long __RPC_FAR *plSendCookie);
  1243.         
  1244.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_BlockByDefault )( 
  1245.             IIMService __RPC_FAR * This,
  1246.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);
  1247.         
  1248.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_BlockByDefault )( 
  1249.             IIMService __RPC_FAR * This,
  1250.             /* [in] */ VARIANT_BOOL newVal);
  1251.         
  1252.         END_INTERFACE
  1253.     } IIMServiceVtbl;
  1254.     interface IIMService
  1255.     {
  1256.         CONST_VTBL struct IIMServiceVtbl __RPC_FAR *lpVtbl;
  1257.     };
  1258.     
  1259. #ifdef COBJMACROS
  1260. #define IIMService_QueryInterface(This,riid,ppvObject)
  1261.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1262. #define IIMService_AddRef(This)
  1263.     (This)->lpVtbl -> AddRef(This)
  1264. #define IIMService_Release(This)
  1265.     (This)->lpVtbl -> Release(This)
  1266. #define IIMService_GetTypeInfoCount(This,pctinfo)
  1267.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1268. #define IIMService_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1269.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1270. #define IIMService_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1271.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1272. #define IIMService_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1273.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1274. #define IIMService_get_Server(This,pbstrName)
  1275.     (This)->lpVtbl -> get_Server(This,pbstrName)
  1276. #define IIMService_get_IMAddress(This,pbstrName)
  1277.     (This)->lpVtbl -> get_IMAddress(This,pbstrName)
  1278. #define IIMService_put_FriendlyName(This,bstrName)
  1279.     (This)->lpVtbl -> put_FriendlyName(This,bstrName)
  1280. #define IIMService_get_FriendlyName(This,pbstrName)
  1281.     (This)->lpVtbl -> get_FriendlyName(This,pbstrName)
  1282. #define IIMService_Logoff(This)
  1283.     (This)->lpVtbl -> Logoff(This)
  1284. #define IIMService_FindContact(This,bstrFirstName,bstrLastName,bstrAlias,bstrCity,bstrState,bstrCountry,plCookie)
  1285.     (This)->lpVtbl -> FindContact(This,bstrFirstName,bstrLastName,bstrAlias,bstrCity,bstrState,bstrCountry,plCookie)
  1286. #define IIMService_Logon(This,varParameter)
  1287.     (This)->lpVtbl -> Logon(This,varParameter)
  1288. #define IIMService_CreateContact(This,bstrAlias,ppContact)
  1289.     (This)->lpVtbl -> CreateContact(This,bstrAlias,ppContact)
  1290. #define IIMService_SetLocalState(This,lState,bstrDescription,varData)
  1291.     (This)->lpVtbl -> SetLocalState(This,lState,bstrDescription,varData)
  1292. #define IIMService_GetLocalState(This,pvarState,pvarDescription,pvarData)
  1293.     (This)->lpVtbl -> GetLocalState(This,pvarState,pvarDescription,pvarData)
  1294. #define IIMService_CreateIMSession(This,varIMContact,ppIMSession)
  1295.     (This)->lpVtbl -> CreateIMSession(This,varIMContact,ppIMSession)
  1296. #define IIMService_get_IMSessions(This,ppIMSessions)
  1297.     (This)->lpVtbl -> get_IMSessions(This,ppIMSessions)
  1298. #define IIMService_NewList(This,bstrListName,bfProperties,ppList)
  1299.     (This)->lpVtbl -> NewList(This,bstrListName,bfProperties,ppList)
  1300. #define IIMService_List(This,bstrListName,ppList)
  1301.     (This)->lpVtbl -> List(This,bstrListName,ppList)
  1302. #define IIMService_RemoveList(This,bstrListName)
  1303.     (This)->lpVtbl -> RemoveList(This,bstrListName)
  1304. #define IIMService_SendNetMeetingInvite(This,varContact,lInviteCookie,plSendCookie)
  1305.     (This)->lpVtbl -> SendNetMeetingInvite(This,varContact,lInviteCookie,plSendCookie)
  1306. #define IIMService_SendNetMeetingAccept(This,varContact,lInviteCookie,lInviteType,plSendCookie)
  1307.     (This)->lpVtbl -> SendNetMeetingAccept(This,varContact,lInviteCookie,lInviteType,plSendCookie)
  1308. #define IIMService_SendNetMeetingCancel(This,varContact,lInviteCookie,hrReason,plSendCookie)
  1309.     (This)->lpVtbl -> SendNetMeetingCancel(This,varContact,lInviteCookie,hrReason,plSendCookie)
  1310. #define IIMService_get_BlockByDefault(This,pVal)
  1311.     (This)->lpVtbl -> get_BlockByDefault(This,pVal)
  1312. #define IIMService_put_BlockByDefault(This,newVal)
  1313.     (This)->lpVtbl -> put_BlockByDefault(This,newVal)
  1314. #endif /* COBJMACROS */
  1315. #endif  /* C style interface */
  1316. /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IIMService_get_Server_Proxy( 
  1317.     IIMService __RPC_FAR * This,
  1318.     /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  1319. void __RPC_STUB IIMService_get_Server_Stub(
  1320.     IRpcStubBuffer *This,
  1321.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1322.     PRPC_MESSAGE _pRpcMessage,
  1323.     DWORD *_pdwStubPhase);
  1324. /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IIMService_get_IMAddress_Proxy( 
  1325.     IIMService __RPC_FAR * This,
  1326.     /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  1327. void __RPC_STUB IIMService_get_IMAddress_Stub(
  1328.     IRpcStubBuffer *This,
  1329.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1330.     PRPC_MESSAGE _pRpcMessage,
  1331.     DWORD *_pdwStubPhase);
  1332. /* [helpcontext][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IIMService_put_FriendlyName_Proxy( 
  1333.     IIMService __RPC_FAR * This,
  1334.     /* [in] */ BSTR bstrName);
  1335. void __RPC_STUB IIMService_put_FriendlyName_Stub(
  1336.     IRpcStubBuffer *This,
  1337.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1338.     PRPC_MESSAGE _pRpcMessage,
  1339.     DWORD *_pdwStubPhase);
  1340. /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IIMService_get_FriendlyName_Proxy( 
  1341.     IIMService __RPC_FAR * This,
  1342.     /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  1343. void __RPC_STUB IIMService_get_FriendlyName_Stub(
  1344.     IRpcStubBuffer *This,
  1345.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1346.     PRPC_MESSAGE _pRpcMessage,
  1347.     DWORD *_pdwStubPhase);
  1348. /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE IIMService_Logoff_Proxy( 
  1349.     IIMService __RPC_FAR * This);
  1350. void __RPC_STUB IIMService_Logoff_Stub(
  1351.     IRpcStubBuffer *This,
  1352.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1353.     PRPC_MESSAGE _pRpcMessage,
  1354.     DWORD *_pdwStubPhase);
  1355. /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE IIMService_FindContact_Proxy( 
  1356.     IIMService __RPC_FAR * This,
  1357.     /* [in] */ BSTR bstrFirstName,
  1358.     /* [in] */ BSTR bstrLastName,
  1359.     /* [in] */ BSTR bstrAlias,
  1360.     /* [in] */ BSTR bstrCity,
  1361.     /* [in] */ BSTR bstrState,
  1362.     /* [in] */ BSTR bstrCountry,
  1363.     /* [retval][out] */ LONG __RPC_FAR *plCookie);
  1364. void __RPC_STUB IIMService_FindContact_Stub(
  1365.     IRpcStubBuffer *This,
  1366.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1367.     PRPC_MESSAGE _pRpcMessage,
  1368.     DWORD *_pdwStubPhase);
  1369. /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE IIMService_Logon_Proxy( 
  1370.     IIMService __RPC_FAR * This,
  1371.     /* [optional][in] */ VARIANT varParameter);
  1372. void __RPC_STUB IIMService_Logon_Stub(
  1373.     IRpcStubBuffer *This,
  1374.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1375.     PRPC_MESSAGE _pRpcMessage,
  1376.     DWORD *_pdwStubPhase);
  1377. /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE IIMService_CreateContact_Proxy( 
  1378.     IIMService __RPC_FAR * This,
  1379.     /* [in] */ BSTR bstrAlias,
  1380.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppContact);
  1381. void __RPC_STUB IIMService_CreateContact_Stub(
  1382.     IRpcStubBuffer *This,
  1383.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1384.     PRPC_MESSAGE _pRpcMessage,
  1385.     DWORD *_pdwStubPhase);
  1386. /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE IIMService_SetLocalState_Proxy( 
  1387.     IIMService __RPC_FAR * This,
  1388.     /* [in] */ long lState,
  1389.     /* [defaultvalue][in] */ BSTR bstrDescription,
  1390.     /* [optional][in] */ VARIANT varData);
  1391. void __RPC_STUB IIMService_SetLocalState_Stub(
  1392.     IRpcStubBuffer *This,
  1393.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1394.     PRPC_MESSAGE _pRpcMessage,
  1395.     DWORD *_pdwStubPhase);
  1396. /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE IIMService_GetLocalState_Proxy( 
  1397.     IIMService __RPC_FAR * This,
  1398.     /* [out] */ VARIANT __RPC_FAR *pvarState,
  1399.     /* [optional][full][out] */ VARIANT __RPC_FAR *pvarDescription,
  1400.     /* [optional][full][out] */ VARIANT __RPC_FAR *pvarData);
  1401. void __RPC_STUB IIMService_GetLocalState_Stub(
  1402.     IRpcStubBuffer *This,
  1403.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1404.     PRPC_MESSAGE _pRpcMessage,
  1405.     DWORD *_pdwStubPhase);
  1406. /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE IIMService_CreateIMSession_Proxy( 
  1407.     IIMService __RPC_FAR * This,
  1408.     /* [in] */ VARIANT varIMContact,
  1409.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppIMSession);
  1410. void __RPC_STUB IIMService_CreateIMSession_Stub(
  1411.     IRpcStubBuffer *This,
  1412.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1413.     PRPC_MESSAGE _pRpcMessage,
  1414.     DWORD *_pdwStubPhase);
  1415. /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IIMService_get_IMSessions_Proxy( 
  1416.     IIMService __RPC_FAR * This,
  1417.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppIMSessions);
  1418. void __RPC_STUB IIMService_get_IMSessions_Stub(
  1419.     IRpcStubBuffer *This,
  1420.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1421.     PRPC_MESSAGE _pRpcMessage,
  1422.     DWORD *_pdwStubPhase);
  1423. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIMService_NewList_Proxy( 
  1424.     IIMService __RPC_FAR * This,
  1425.     /* [in] */ BSTR bstrListName,
  1426.     /* [in] */ long bfProperties,
  1427.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppList);
  1428. void __RPC_STUB IIMService_NewList_Stub(
  1429.     IRpcStubBuffer *This,
  1430.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1431.     PRPC_MESSAGE _pRpcMessage,
  1432.     DWORD *_pdwStubPhase);
  1433. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIMService_List_Proxy( 
  1434.     IIMService __RPC_FAR * This,
  1435.     BSTR bstrListName,
  1436.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppList);
  1437. void __RPC_STUB IIMService_List_Stub(
  1438.     IRpcStubBuffer *This,
  1439.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1440.     PRPC_MESSAGE _pRpcMessage,
  1441.     DWORD *_pdwStubPhase);
  1442. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIMService_RemoveList_Proxy( 
  1443.     IIMService __RPC_FAR * This,
  1444.     /* [in] */ BSTR bstrListName);
  1445. void __RPC_STUB IIMService_RemoveList_Stub(
  1446.     IRpcStubBuffer *This,
  1447.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1448.     PRPC_MESSAGE _pRpcMessage,
  1449.     DWORD *_pdwStubPhase);
  1450. /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE IIMService_SendNetMeetingInvite_Proxy( 
  1451.     IIMService __RPC_FAR * This,
  1452.     /* [in] */ VARIANT varContact,
  1453.     /* [in] */ long lInviteCookie,
  1454.     /* [retval][out] */ long __RPC_FAR *plSendCookie);
  1455. void __RPC_STUB IIMService_SendNetMeetingInvite_Stub(
  1456.     IRpcStubBuffer *This,
  1457.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1458.     PRPC_MESSAGE _pRpcMessage,
  1459.     DWORD *_pdwStubPhase);
  1460. /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE IIMService_SendNetMeetingAccept_Proxy( 
  1461.     IIMService __RPC_FAR * This,
  1462.     /* [in] */ VARIANT varContact,
  1463.     /* [in] */ long lInviteCookie,
  1464.     /* [in] */ long lInviteType,
  1465.     /* [retval][out] */ long __RPC_FAR *plSendCookie);
  1466. void __RPC_STUB IIMService_SendNetMeetingAccept_Stub(
  1467.     IRpcStubBuffer *This,
  1468.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1469.     PRPC_MESSAGE _pRpcMessage,
  1470.     DWORD *_pdwStubPhase);
  1471. /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE IIMService_SendNetMeetingCancel_Proxy( 
  1472.     IIMService __RPC_FAR * This,
  1473.     /* [in] */ VARIANT varContact,
  1474.     /* [in] */ long lInviteCookie,
  1475.     /* [in] */ long hrReason,
  1476.     /* [retval][out] */ long __RPC_FAR *plSendCookie);
  1477. void __RPC_STUB IIMService_SendNetMeetingCancel_Stub(
  1478.     IRpcStubBuffer *This,
  1479.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1480.     PRPC_MESSAGE _pRpcMessage,
  1481.     DWORD *_pdwStubPhase);
  1482. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIMService_get_BlockByDefault_Proxy( 
  1483.     IIMService __RPC_FAR * This,
  1484.     /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pVal);
  1485. void __RPC_STUB IIMService_get_BlockByDefault_Stub(
  1486.     IRpcStubBuffer *This,
  1487.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1488.     PRPC_MESSAGE _pRpcMessage,
  1489.     DWORD *_pdwStubPhase);
  1490. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIMService_put_BlockByDefault_Proxy( 
  1491.     IIMService __RPC_FAR * This,
  1492.     /* [in] */ VARIANT_BOOL newVal);
  1493. void __RPC_STUB IIMService_put_BlockByDefault_Stub(
  1494.     IRpcStubBuffer *This,
  1495.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1496.     PRPC_MESSAGE _pRpcMessage,
  1497.     DWORD *_pdwStubPhase);
  1498. #endif  /* __IIMService_INTERFACE_DEFINED__ */
  1499. #ifndef __DIMServiceEvents_DISPINTERFACE_DEFINED__
  1500. #define __DIMServiceEvents_DISPINTERFACE_DEFINED__
  1501. /* dispinterface DIMServiceEvents */
  1502. /* [helpstring][uuid] */ 
  1503. EXTERN_C const IID DIID_DIMServiceEvents;
  1504. #if defined(__cplusplus) && !defined(CINTERFACE)
  1505.     MIDL_INTERFACE("4153D194-2A21-4aca-8DCB-C09BEA9F7E51")
  1506.     DIMServiceEvents : public IDispatch
  1507.     {
  1508.     };
  1509.     
  1510. #else  /* C style interface */
  1511.     typedef struct DIMServiceEventsVtbl
  1512.     {
  1513.         BEGIN_INTERFACE
  1514.         
  1515.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1516.             DIMServiceEvents __RPC_FAR * This,
  1517.             /* [in] */ REFIID riid,
  1518.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1519.         
  1520.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1521.             DIMServiceEvents __RPC_FAR * This);
  1522.         
  1523.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1524.             DIMServiceEvents __RPC_FAR * This);
  1525.         
  1526.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  1527.             DIMServiceEvents __RPC_FAR * This,
  1528.             /* [out] */ UINT __RPC_FAR *pctinfo);
  1529.         
  1530.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  1531.             DIMServiceEvents __RPC_FAR * This,
  1532.             /* [in] */ UINT iTInfo,
  1533.             /* [in] */ LCID lcid,
  1534.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1535.         
  1536.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  1537.             DIMServiceEvents __RPC_FAR * This,
  1538.             /* [in] */ REFIID riid,
  1539.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1540.             /* [in] */ UINT cNames,
  1541.             /* [in] */ LCID lcid,
  1542.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1543.         
  1544.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  1545.             DIMServiceEvents __RPC_FAR * This,
  1546.             /* [in] */ DISPID dispIdMember,
  1547.             /* [in] */ REFIID riid,
  1548.             /* [in] */ LCID lcid,
  1549.             /* [in] */ WORD wFlags,
  1550.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1551.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1552.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1553.             /* [out] */ UINT __RPC_FAR *puArgErr);
  1554.         
  1555.         END_INTERFACE
  1556.     } DIMServiceEventsVtbl;
  1557.     interface DIMServiceEvents
  1558.     {
  1559.         CONST_VTBL struct DIMServiceEventsVtbl __RPC_FAR *lpVtbl;
  1560.     };
  1561.     
  1562. #ifdef COBJMACROS
  1563. #define DIMServiceEvents_QueryInterface(This,riid,ppvObject)
  1564.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1565. #define DIMServiceEvents_AddRef(This)
  1566.     (This)->lpVtbl -> AddRef(This)
  1567. #define DIMServiceEvents_Release(This)
  1568.     (This)->lpVtbl -> Release(This)
  1569. #define DIMServiceEvents_GetTypeInfoCount(This,pctinfo)
  1570.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1571. #define DIMServiceEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1572.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1573. #define DIMServiceEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1574.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1575. #define DIMServiceEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1576.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1577. #endif /* COBJMACROS */
  1578. #endif  /* C style interface */
  1579. #endif  /* __DIMServiceEvents_DISPINTERFACE_DEFINED__ */
  1580. #ifndef __IIMContact_INTERFACE_DEFINED__
  1581. #define __IIMContact_INTERFACE_DEFINED__
  1582. /* interface IIMContact */
  1583. /* [object][oleautomation][dual][helpcontext][helpstring][uuid] */ 
  1584. EXTERN_C const IID IID_IIMContact;
  1585. #if defined(__cplusplus) && !defined(CINTERFACE)
  1586.     
  1587.     MIDL_INTERFACE("B419C5AC-8B72-482c-8430-4D812DC587EA")
  1588.     IIMContact : public IDispatch
  1589.     {
  1590.     public:
  1591.         virtual /* [helpcontext][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_FriendlyName( 
  1592.             /* [in] */ BSTR bstrFriendlyName) = 0;
  1593.         
  1594.         virtual /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_FriendlyName( 
  1595.             /* [retval][out] */ BSTR __RPC_FAR *pbstrFriendlyName) = 0;
  1596.         
  1597.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_EmailAddress( 
  1598.             /* [retval][out] */ BSTR __RPC_FAR *pbstrEmailAddress) = 0;
  1599.         
  1600.         virtual /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_State( 
  1601.             /* [retval][out] */ IM_STATE __RPC_FAR *pmState) = 0;
  1602.         
  1603.         virtual /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_LogonName( 
  1604.             /* [retval][out] */ BSTR __RPC_FAR *pbstrLogonName) = 0;
  1605.         
  1606.         virtual /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE SendText( 
  1607.             /* [in] */ BSTR bstrMsgHeader,
  1608.             /* [in] */ BSTR bstrMsgText,
  1609.             /* [in] */ IM_MSG_TYPE MsgType,
  1610.             /* [retval][out] */ LONG __RPC_FAR *plCookie) = 0;
  1611.         
  1612.         virtual /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Service( 
  1613.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppService) = 0;
  1614.         
  1615.     };
  1616.     
  1617. #else  /* C style interface */
  1618.     typedef struct IIMContactVtbl
  1619.     {
  1620.         BEGIN_INTERFACE
  1621.         
  1622.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1623.             IIMContact __RPC_FAR * This,
  1624.             /* [in] */ REFIID riid,
  1625.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1626.         
  1627.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1628.             IIMContact __RPC_FAR * This);
  1629.         
  1630.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1631.             IIMContact __RPC_FAR * This);
  1632.         
  1633.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  1634.             IIMContact __RPC_FAR * This,
  1635.             /* [out] */ UINT __RPC_FAR *pctinfo);
  1636.         
  1637.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  1638.             IIMContact __RPC_FAR * This,
  1639.             /* [in] */ UINT iTInfo,
  1640.             /* [in] */ LCID lcid,
  1641.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1642.         
  1643.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  1644.             IIMContact __RPC_FAR * This,
  1645.             /* [in] */ REFIID riid,
  1646.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1647.             /* [in] */ UINT cNames,
  1648.             /* [in] */ LCID lcid,
  1649.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1650.         
  1651.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  1652.             IIMContact __RPC_FAR * This,
  1653.             /* [in] */ DISPID dispIdMember,
  1654.             /* [in] */ REFIID riid,
  1655.             /* [in] */ LCID lcid,
  1656.             /* [in] */ WORD wFlags,
  1657.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1658.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1659.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1660.             /* [out] */ UINT __RPC_FAR *puArgErr);
  1661.         
  1662.         /* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_FriendlyName )( 
  1663.             IIMContact __RPC_FAR * This,
  1664.             /* [in] */ BSTR bstrFriendlyName);
  1665.         
  1666.         /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FriendlyName )( 
  1667.             IIMContact __RPC_FAR * This,
  1668.             /* [retval][out] */ BSTR __RPC_FAR *pbstrFriendlyName);
  1669.         
  1670.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EmailAddress )( 
  1671.             IIMContact __RPC_FAR * This,
  1672.             /* [retval][out] */ BSTR __RPC_FAR *pbstrEmailAddress);
  1673.         
  1674.         /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_State )( 
  1675.             IIMContact __RPC_FAR * This,
  1676.             /* [retval][out] */ IM_STATE __RPC_FAR *pmState);
  1677.         
  1678.         /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LogonName )( 
  1679.             IIMContact __RPC_FAR * This,
  1680.             /* [retval][out] */ BSTR __RPC_FAR *pbstrLogonName);
  1681.         
  1682.         /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendText )( 
  1683.             IIMContact __RPC_FAR * This,
  1684.             /* [in] */ BSTR bstrMsgHeader,
  1685.             /* [in] */ BSTR bstrMsgText,
  1686.             /* [in] */ IM_MSG_TYPE MsgType,
  1687.             /* [retval][out] */ LONG __RPC_FAR *plCookie);
  1688.         
  1689.         /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Service )( 
  1690.             IIMContact __RPC_FAR * This,
  1691.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppService);
  1692.         
  1693.         END_INTERFACE
  1694.     } IIMContactVtbl;
  1695.     interface IIMContact
  1696.     {
  1697.         CONST_VTBL struct IIMContactVtbl __RPC_FAR *lpVtbl;
  1698.     };
  1699.     
  1700. #ifdef COBJMACROS
  1701. #define IIMContact_QueryInterface(This,riid,ppvObject)
  1702.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1703. #define IIMContact_AddRef(This)
  1704.     (This)->lpVtbl -> AddRef(This)
  1705. #define IIMContact_Release(This)
  1706.     (This)->lpVtbl -> Release(This)
  1707. #define IIMContact_GetTypeInfoCount(This,pctinfo)
  1708.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1709. #define IIMContact_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1710.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1711. #define IIMContact_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1712.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1713. #define IIMContact_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1714.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1715. #define IIMContact_put_FriendlyName(This,bstrFriendlyName)
  1716.     (This)->lpVtbl -> put_FriendlyName(This,bstrFriendlyName)
  1717. #define IIMContact_get_FriendlyName(This,pbstrFriendlyName)
  1718.     (This)->lpVtbl -> get_FriendlyName(This,pbstrFriendlyName)
  1719. #define IIMContact_get_EmailAddress(This,pbstrEmailAddress)
  1720.     (This)->lpVtbl -> get_EmailAddress(This,pbstrEmailAddress)
  1721. #define IIMContact_get_State(This,pmState)
  1722.     (This)->lpVtbl -> get_State(This,pmState)
  1723. #define IIMContact_get_LogonName(This,pbstrLogonName)
  1724.     (This)->lpVtbl -> get_LogonName(This,pbstrLogonName)
  1725. #define IIMContact_SendText(This,bstrMsgHeader,bstrMsgText,MsgType,plCookie)
  1726.     (This)->lpVtbl -> SendText(This,bstrMsgHeader,bstrMsgText,MsgType,plCookie)
  1727. #define IIMContact_get_Service(This,ppService)
  1728.     (This)->lpVtbl -> get_Service(This,ppService)
  1729. #endif /* COBJMACROS */
  1730. #endif  /* C style interface */
  1731. /* [helpcontext][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IIMContact_put_FriendlyName_Proxy( 
  1732.     IIMContact __RPC_FAR * This,
  1733.     /* [in] */ BSTR bstrFriendlyName);
  1734. void __RPC_STUB IIMContact_put_FriendlyName_Stub(
  1735.     IRpcStubBuffer *This,
  1736.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1737.     PRPC_MESSAGE _pRpcMessage,
  1738.     DWORD *_pdwStubPhase);
  1739. /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IIMContact_get_FriendlyName_Proxy( 
  1740.     IIMContact __RPC_FAR * This,
  1741.     /* [retval][out] */ BSTR __RPC_FAR *pbstrFriendlyName);
  1742. void __RPC_STUB IIMContact_get_FriendlyName_Stub(
  1743.     IRpcStubBuffer *This,
  1744.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1745.     PRPC_MESSAGE _pRpcMessage,
  1746.     DWORD *_pdwStubPhase);
  1747. /* [propget][id] */ HRESULT STDMETHODCALLTYPE IIMContact_get_EmailAddress_Proxy( 
  1748.     IIMContact __RPC_FAR * This,
  1749.     /* [retval][out] */ BSTR __RPC_FAR *pbstrEmailAddress);
  1750. void __RPC_STUB IIMContact_get_EmailAddress_Stub(
  1751.     IRpcStubBuffer *This,
  1752.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1753.     PRPC_MESSAGE _pRpcMessage,
  1754.     DWORD *_pdwStubPhase);
  1755. /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IIMContact_get_State_Proxy( 
  1756.     IIMContact __RPC_FAR * This,
  1757.     /* [retval][out] */ IM_STATE __RPC_FAR *pmState);
  1758. void __RPC_STUB IIMContact_get_State_Stub(
  1759.     IRpcStubBuffer *This,
  1760.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1761.     PRPC_MESSAGE _pRpcMessage,
  1762.     DWORD *_pdwStubPhase);
  1763. /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IIMContact_get_LogonName_Proxy( 
  1764.     IIMContact __RPC_FAR * This,
  1765.     /* [retval][out] */ BSTR __RPC_FAR *pbstrLogonName);
  1766. void __RPC_STUB IIMContact_get_LogonName_Stub(
  1767.     IRpcStubBuffer *This,
  1768.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1769.     PRPC_MESSAGE _pRpcMessage,
  1770.     DWORD *_pdwStubPhase);
  1771. /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE IIMContact_SendText_Proxy( 
  1772.     IIMContact __RPC_FAR * This,
  1773.     /* [in] */ BSTR bstrMsgHeader,
  1774.     /* [in] */ BSTR bstrMsgText,
  1775.     /* [in] */ IM_MSG_TYPE MsgType,
  1776.     /* [retval][out] */ LONG __RPC_FAR *plCookie);
  1777. void __RPC_STUB IIMContact_SendText_Stub(
  1778.     IRpcStubBuffer *This,
  1779.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1780.     PRPC_MESSAGE _pRpcMessage,
  1781.     DWORD *_pdwStubPhase);
  1782. /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IIMContact_get_Service_Proxy( 
  1783.     IIMContact __RPC_FAR * This,
  1784.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppService);
  1785. void __RPC_STUB IIMContact_get_Service_Stub(
  1786.     IRpcStubBuffer *This,
  1787.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1788.     PRPC_MESSAGE _pRpcMessage,
  1789.     DWORD *_pdwStubPhase);
  1790. #endif  /* __IIMContact_INTERFACE_DEFINED__ */
  1791. #ifndef __IIMContacts_INTERFACE_DEFINED__
  1792. #define __IIMContacts_INTERFACE_DEFINED__
  1793. /* interface IIMContacts */
  1794. /* [unique][helpstring][dual][uuid][object] */ 
  1795. EXTERN_C const IID IID_IIMContacts;
  1796. #if defined(__cplusplus) && !defined(CINTERFACE)
  1797.     
  1798.     MIDL_INTERFACE("89FE8208-B3F8-4096-A482-159DF13DF62A")
  1799.     IIMContacts : public IDispatch
  1800.     {
  1801.     public:
  1802.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( 
  1803.             /* [in] */ VARIANT varItem,
  1804.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppContact) = 0;
  1805.         
  1806.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  1807.             /* [retval][out] */ long __RPC_FAR *pVal) = 0;
  1808.         
  1809.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Add( 
  1810.             /* [in] */ IDispatch __RPC_FAR *pContact) = 0;
  1811.         
  1812.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Remove( 
  1813.             /* [in] */ IDispatch __RPC_FAR *pContact) = 0;
  1814.         
  1815.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  1816.             /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
  1817.         
  1818.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
  1819.             /* [in] */ BSTR newVal) = 0;
  1820.         
  1821.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Properties( 
  1822.             /* [retval][out] */ long __RPC_FAR *pVal) = 0;
  1823.         
  1824.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Cookie( 
  1825.             /* [retval][out] */ long __RPC_FAR *pVal) = 0;
  1826.         
  1827.         virtual /* [helpstring][id][restricted][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
  1828.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppVal) = 0;
  1829.         
  1830.     };
  1831.     
  1832. #else  /* C style interface */
  1833.     typedef struct IIMContactsVtbl
  1834.     {
  1835.         BEGIN_INTERFACE
  1836.         
  1837.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1838.             IIMContacts __RPC_FAR * This,
  1839.             /* [in] */ REFIID riid,
  1840.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1841.         
  1842.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1843.             IIMContacts __RPC_FAR * This);
  1844.         
  1845.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1846.             IIMContacts __RPC_FAR * This);
  1847.         
  1848.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  1849.             IIMContacts __RPC_FAR * This,
  1850.             /* [out] */ UINT __RPC_FAR *pctinfo);
  1851.         
  1852.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  1853.             IIMContacts __RPC_FAR * This,
  1854.             /* [in] */ UINT iTInfo,
  1855.             /* [in] */ LCID lcid,
  1856.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1857.         
  1858.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  1859.             IIMContacts __RPC_FAR * This,
  1860.             /* [in] */ REFIID riid,
  1861.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1862.             /* [in] */ UINT cNames,
  1863.             /* [in] */ LCID lcid,
  1864.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1865.         
  1866.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  1867.             IIMContacts __RPC_FAR * This,
  1868.             /* [in] */ DISPID dispIdMember,
  1869.             /* [in] */ REFIID riid,
  1870.             /* [in] */ LCID lcid,
  1871.             /* [in] */ WORD wFlags,
  1872.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1873.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1874.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1875.             /* [out] */ UINT __RPC_FAR *puArgErr);
  1876.         
  1877.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Item )( 
  1878.             IIMContacts __RPC_FAR * This,
  1879.             /* [in] */ VARIANT varItem,
  1880.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppContact);
  1881.         
  1882.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  1883.             IIMContacts __RPC_FAR * This,
  1884.             /* [retval][out] */ long __RPC_FAR *pVal);
  1885.         
  1886.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
  1887.             IIMContacts __RPC_FAR * This,
  1888.             /* [in] */ IDispatch __RPC_FAR *pContact);
  1889.         
  1890.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Remove )( 
  1891.             IIMContacts __RPC_FAR * This,
  1892.             /* [in] */ IDispatch __RPC_FAR *pContact);
  1893.         
  1894.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  1895.             IIMContacts __RPC_FAR * This,
  1896.             /* [retval][out] */ BSTR __RPC_FAR *pVal);
  1897.         
  1898.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
  1899.             IIMContacts __RPC_FAR * This,
  1900.             /* [in] */ BSTR newVal);
  1901.         
  1902.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Properties )( 
  1903.             IIMContacts __RPC_FAR * This,
  1904.             /* [retval][out] */ long __RPC_FAR *pVal);
  1905.         
  1906.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Cookie )( 
  1907.             IIMContacts __RPC_FAR * This,
  1908.             /* [retval][out] */ long __RPC_FAR *pVal);
  1909.         
  1910.         /* [helpstring][id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
  1911.             IIMContacts __RPC_FAR * This,
  1912.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppVal);
  1913.         
  1914.         END_INTERFACE
  1915.     } IIMContactsVtbl;
  1916.     interface IIMContacts
  1917.     {
  1918.         CONST_VTBL struct IIMContactsVtbl __RPC_FAR *lpVtbl;
  1919.     };
  1920.     
  1921. #ifdef COBJMACROS
  1922. #define IIMContacts_QueryInterface(This,riid,ppvObject)
  1923.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1924. #define IIMContacts_AddRef(This)
  1925.     (This)->lpVtbl -> AddRef(This)
  1926. #define IIMContacts_Release(This)
  1927.     (This)->lpVtbl -> Release(This)
  1928. #define IIMContacts_GetTypeInfoCount(This,pctinfo)
  1929.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1930. #define IIMContacts_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1931.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1932. #define IIMContacts_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1933.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1934. #define IIMContacts_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1935.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1936. #define IIMContacts_Item(This,varItem,ppContact)
  1937.     (This)->lpVtbl -> Item(This,varItem,ppContact)
  1938. #define IIMContacts_get_Count(This,pVal)
  1939.     (This)->lpVtbl -> get_Count(This,pVal)
  1940. #define IIMContacts_Add(This,pContact)
  1941.     (This)->lpVtbl -> Add(This,pContact)
  1942. #define IIMContacts_Remove(This,pContact)
  1943.     (This)->lpVtbl -> Remove(This,pContact)
  1944. #define IIMContacts_get_Name(This,pVal)
  1945.     (This)->lpVtbl -> get_Name(This,pVal)
  1946. #define IIMContacts_put_Name(This,newVal)
  1947.     (This)->lpVtbl -> put_Name(This,newVal)
  1948. #define IIMContacts_get_Properties(This,pVal)
  1949.     (This)->lpVtbl -> get_Properties(This,pVal)
  1950. #define IIMContacts_get_Cookie(This,pVal)
  1951.     (This)->lpVtbl -> get_Cookie(This,pVal)
  1952. #define IIMContacts_get__NewEnum(This,ppVal)
  1953.     (This)->lpVtbl -> get__NewEnum(This,ppVal)
  1954. #endif /* COBJMACROS */
  1955. #endif  /* C style interface */
  1956. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIMContacts_Item_Proxy( 
  1957.     IIMContacts __RPC_FAR * This,
  1958.     /* [in] */ VARIANT varItem,
  1959.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppContact);
  1960. void __RPC_STUB IIMContacts_Item_Stub(
  1961.     IRpcStubBuffer *This,
  1962.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1963.     PRPC_MESSAGE _pRpcMessage,
  1964.     DWORD *_pdwStubPhase);
  1965. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIMContacts_get_Count_Proxy( 
  1966.     IIMContacts __RPC_FAR * This,
  1967.     /* [retval][out] */ long __RPC_FAR *pVal);
  1968. void __RPC_STUB IIMContacts_get_Count_Stub(
  1969.     IRpcStubBuffer *This,
  1970.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1971.     PRPC_MESSAGE _pRpcMessage,
  1972.     DWORD *_pdwStubPhase);
  1973. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIMContacts_Add_Proxy( 
  1974.     IIMContacts __RPC_FAR * This,
  1975.     /* [in] */ IDispatch __RPC_FAR *pContact);
  1976. void __RPC_STUB IIMContacts_Add_Stub(
  1977.     IRpcStubBuffer *This,
  1978.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1979.     PRPC_MESSAGE _pRpcMessage,
  1980.     DWORD *_pdwStubPhase);
  1981. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIMContacts_Remove_Proxy( 
  1982.     IIMContacts __RPC_FAR * This,
  1983.     /* [in] */ IDispatch __RPC_FAR *pContact);
  1984. void __RPC_STUB IIMContacts_Remove_Stub(
  1985.     IRpcStubBuffer *This,
  1986.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1987.     PRPC_MESSAGE _pRpcMessage,
  1988.     DWORD *_pdwStubPhase);
  1989. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIMContacts_get_Name_Proxy( 
  1990.     IIMContacts __RPC_FAR * This,
  1991.     /* [retval][out] */ BSTR __RPC_FAR *pVal);
  1992. void __RPC_STUB IIMContacts_get_Name_Stub(
  1993.     IRpcStubBuffer *This,
  1994.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1995.     PRPC_MESSAGE _pRpcMessage,
  1996.     DWORD *_pdwStubPhase);
  1997. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IIMContacts_put_Name_Proxy( 
  1998.     IIMContacts __RPC_FAR * This,
  1999.     /* [in] */ BSTR newVal);
  2000. void __RPC_STUB IIMContacts_put_Name_Stub(
  2001.     IRpcStubBuffer *This,
  2002.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2003.     PRPC_MESSAGE _pRpcMessage,
  2004.     DWORD *_pdwStubPhase);
  2005. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIMContacts_get_Properties_Proxy( 
  2006.     IIMContacts __RPC_FAR * This,
  2007.     /* [retval][out] */ long __RPC_FAR *pVal);
  2008. void __RPC_STUB IIMContacts_get_Properties_Stub(
  2009.     IRpcStubBuffer *This,
  2010.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2011.     PRPC_MESSAGE _pRpcMessage,
  2012.     DWORD *_pdwStubPhase);
  2013. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IIMContacts_get_Cookie_Proxy( 
  2014.     IIMContacts __RPC_FAR * This,
  2015.     /* [retval][out] */ long __RPC_FAR *pVal);
  2016. void __RPC_STUB IIMContacts_get_Cookie_Stub(
  2017.     IRpcStubBuffer *This,
  2018.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2019.     PRPC_MESSAGE _pRpcMessage,
  2020.     DWORD *_pdwStubPhase);
  2021. /* [helpstring][id][restricted][propget] */ HRESULT STDMETHODCALLTYPE IIMContacts_get__NewEnum_Proxy( 
  2022.     IIMContacts __RPC_FAR * This,
  2023.     /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppVal);
  2024. void __RPC_STUB IIMContacts_get__NewEnum_Stub(
  2025.     IRpcStubBuffer *This,
  2026.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2027.     PRPC_MESSAGE _pRpcMessage,
  2028.     DWORD *_pdwStubPhase);
  2029. #endif  /* __IIMContacts_INTERFACE_DEFINED__ */
  2030. #ifndef __IIMSession_INTERFACE_DEFINED__
  2031. #define __IIMSession_INTERFACE_DEFINED__
  2032. /* interface IIMSession */
  2033. /* [object][oleautomation][dual][helpcontext][helpstring][uuid] */ 
  2034. EXTERN_C const IID IID_IIMSession;
  2035. #if defined(__cplusplus) && !defined(CINTERFACE)
  2036.     
  2037.     MIDL_INTERFACE("8A37FCCA-2087-4b0e-83B2-7A7B63C1D133")
  2038.     IIMSession : public IDispatch
  2039.     {
  2040.     public:
  2041.         virtual /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Members( 
  2042.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppMembers) = 0;
  2043.         
  2044.         virtual /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_State( 
  2045.             /* [retval][out] */ IM_SSTATE __RPC_FAR *psState) = 0;
  2046.         
  2047.         virtual /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Service( 
  2048.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppService) = 0;
  2049.         
  2050.         virtual /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Invitees( 
  2051.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppInvitees) = 0;
  2052.         
  2053.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE LeaveSession( void) = 0;
  2054.         
  2055.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE InviteContact( 
  2056.             /* [in] */ VARIANT vContact) = 0;
  2057.         
  2058.         virtual /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE SendText( 
  2059.             /* [in] */ BSTR bstrMsgHeader,
  2060.             /* [in] */ BSTR bstrMsgText,
  2061.             /* [in] */ IM_MSG_TYPE MsgType,
  2062.             /* [retval][out] */ LONG __RPC_FAR *plCookie) = 0;
  2063.         
  2064.     };
  2065.     
  2066. #else  /* C style interface */
  2067.     typedef struct IIMSessionVtbl
  2068.     {
  2069.         BEGIN_INTERFACE
  2070.         
  2071.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2072.             IIMSession __RPC_FAR * This,
  2073.             /* [in] */ REFIID riid,
  2074.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2075.         
  2076.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2077.             IIMSession __RPC_FAR * This);
  2078.         
  2079.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2080.             IIMSession __RPC_FAR * This);
  2081.         
  2082.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  2083.             IIMSession __RPC_FAR * This,
  2084.             /* [out] */ UINT __RPC_FAR *pctinfo);
  2085.         
  2086.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  2087.             IIMSession __RPC_FAR * This,
  2088.             /* [in] */ UINT iTInfo,
  2089.             /* [in] */ LCID lcid,
  2090.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  2091.         
  2092.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  2093.             IIMSession __RPC_FAR * This,
  2094.             /* [in] */ REFIID riid,
  2095.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  2096.             /* [in] */ UINT cNames,
  2097.             /* [in] */ LCID lcid,
  2098.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  2099.         
  2100.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  2101.             IIMSession __RPC_FAR * This,
  2102.             /* [in] */ DISPID dispIdMember,
  2103.             /* [in] */ REFIID riid,
  2104.             /* [in] */ LCID lcid,
  2105.             /* [in] */ WORD wFlags,
  2106.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  2107.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  2108.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  2109.             /* [out] */ UINT __RPC_FAR *puArgErr);
  2110.         
  2111.         /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Members )( 
  2112.             IIMSession __RPC_FAR * This,
  2113.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppMembers);
  2114.         
  2115.         /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_State )( 
  2116.             IIMSession __RPC_FAR * This,
  2117.             /* [retval][out] */ IM_SSTATE __RPC_FAR *psState);
  2118.         
  2119.         /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Service )( 
  2120.             IIMSession __RPC_FAR * This,
  2121.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppService);
  2122.         
  2123.         /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Invitees )( 
  2124.             IIMSession __RPC_FAR * This,
  2125.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppInvitees);
  2126.         
  2127.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LeaveSession )( 
  2128.             IIMSession __RPC_FAR * This);
  2129.         
  2130.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InviteContact )( 
  2131.             IIMSession __RPC_FAR * This,
  2132.             /* [in] */ VARIANT vContact);
  2133.         
  2134.         /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendText )( 
  2135.             IIMSession __RPC_FAR * This,
  2136.             /* [in] */ BSTR bstrMsgHeader,
  2137.             /* [in] */ BSTR bstrMsgText,
  2138.             /* [in] */ IM_MSG_TYPE MsgType,
  2139.             /* [retval][out] */ LONG __RPC_FAR *plCookie);
  2140.         
  2141.         END_INTERFACE
  2142.     } IIMSessionVtbl;
  2143.     interface IIMSession
  2144.     {
  2145.         CONST_VTBL struct IIMSessionVtbl __RPC_FAR *lpVtbl;
  2146.     };
  2147.     
  2148. #ifdef COBJMACROS
  2149. #define IIMSession_QueryInterface(This,riid,ppvObject)
  2150.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2151. #define IIMSession_AddRef(This)
  2152.     (This)->lpVtbl -> AddRef(This)
  2153. #define IIMSession_Release(This)
  2154.     (This)->lpVtbl -> Release(This)
  2155. #define IIMSession_GetTypeInfoCount(This,pctinfo)
  2156.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2157. #define IIMSession_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2158.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2159. #define IIMSession_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2160.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2161. #define IIMSession_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2162.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2163. #define IIMSession_get_Members(This,ppMembers)
  2164.     (This)->lpVtbl -> get_Members(This,ppMembers)
  2165. #define IIMSession_get_State(This,psState)
  2166.     (This)->lpVtbl -> get_State(This,psState)
  2167. #define IIMSession_get_Service(This,ppService)
  2168.     (This)->lpVtbl -> get_Service(This,ppService)
  2169. #define IIMSession_get_Invitees(This,ppInvitees)
  2170.     (This)->lpVtbl -> get_Invitees(This,ppInvitees)
  2171. #define IIMSession_LeaveSession(This)
  2172.     (This)->lpVtbl -> LeaveSession(This)
  2173. #define IIMSession_InviteContact(This,vContact)
  2174.     (This)->lpVtbl -> InviteContact(This,vContact)
  2175. #define IIMSession_SendText(This,bstrMsgHeader,bstrMsgText,MsgType,plCookie)
  2176.     (This)->lpVtbl -> SendText(This,bstrMsgHeader,bstrMsgText,MsgType,plCookie)
  2177. #endif /* COBJMACROS */
  2178. #endif  /* C style interface */
  2179. /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IIMSession_get_Members_Proxy( 
  2180.     IIMSession __RPC_FAR * This,
  2181.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppMembers);
  2182. void __RPC_STUB IIMSession_get_Members_Stub(
  2183.     IRpcStubBuffer *This,
  2184.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2185.     PRPC_MESSAGE _pRpcMessage,
  2186.     DWORD *_pdwStubPhase);
  2187. /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IIMSession_get_State_Proxy( 
  2188.     IIMSession __RPC_FAR * This,
  2189.     /* [retval][out] */ IM_SSTATE __RPC_FAR *psState);
  2190. void __RPC_STUB IIMSession_get_State_Stub(
  2191.     IRpcStubBuffer *This,
  2192.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2193.     PRPC_MESSAGE _pRpcMessage,
  2194.     DWORD *_pdwStubPhase);
  2195. /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IIMSession_get_Service_Proxy( 
  2196.     IIMSession __RPC_FAR * This,
  2197.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppService);
  2198. void __RPC_STUB IIMSession_get_Service_Stub(
  2199.     IRpcStubBuffer *This,
  2200.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2201.     PRPC_MESSAGE _pRpcMessage,
  2202.     DWORD *_pdwStubPhase);
  2203. /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IIMSession_get_Invitees_Proxy( 
  2204.     IIMSession __RPC_FAR * This,
  2205.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppInvitees);
  2206. void __RPC_STUB IIMSession_get_Invitees_Stub(
  2207.     IRpcStubBuffer *This,
  2208.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2209.     PRPC_MESSAGE _pRpcMessage,
  2210.     DWORD *_pdwStubPhase);
  2211. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIMSession_LeaveSession_Proxy( 
  2212.     IIMSession __RPC_FAR * This);
  2213. void __RPC_STUB IIMSession_LeaveSession_Stub(
  2214.     IRpcStubBuffer *This,
  2215.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2216.     PRPC_MESSAGE _pRpcMessage,
  2217.     DWORD *_pdwStubPhase);
  2218. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IIMSession_InviteContact_Proxy( 
  2219.     IIMSession __RPC_FAR * This,
  2220.     /* [in] */ VARIANT vContact);
  2221. void __RPC_STUB IIMSession_InviteContact_Stub(
  2222.     IRpcStubBuffer *This,
  2223.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2224.     PRPC_MESSAGE _pRpcMessage,
  2225.     DWORD *_pdwStubPhase);
  2226. /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE IIMSession_SendText_Proxy( 
  2227.     IIMSession __RPC_FAR * This,
  2228.     /* [in] */ BSTR bstrMsgHeader,
  2229.     /* [in] */ BSTR bstrMsgText,
  2230.     /* [in] */ IM_MSG_TYPE MsgType,
  2231.     /* [retval][out] */ LONG __RPC_FAR *plCookie);
  2232. void __RPC_STUB IIMSession_SendText_Stub(
  2233.     IRpcStubBuffer *This,
  2234.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2235.     PRPC_MESSAGE _pRpcMessage,
  2236.     DWORD *_pdwStubPhase);
  2237. #endif  /* __IIMSession_INTERFACE_DEFINED__ */
  2238. #ifndef __IIMSessions_INTERFACE_DEFINED__
  2239. #define __IIMSessions_INTERFACE_DEFINED__
  2240. /* interface IIMSessions */
  2241. /* [object][oleautomation][dual][helpcontext][helpstring][uuid] */ 
  2242. EXTERN_C const IID IID_IIMSessions;
  2243. #if defined(__cplusplus) && !defined(CINTERFACE)
  2244.     
  2245.     MIDL_INTERFACE("0E0FC368-285C-4117-953C-1C3C74611FBD")
  2246.     IIMSessions : public IDispatch
  2247.     {
  2248.     public:
  2249.         virtual /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
  2250.             /* [retval][out] */ long __RPC_FAR *pcSessions) = 0;
  2251.         
  2252.         virtual /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( 
  2253.             /* [in] */ long Index,
  2254.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppIMSession) = 0;
  2255.         
  2256.         virtual /* [helpcontext][helpstring][id][restricted][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
  2257.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnknown) = 0;
  2258.         
  2259.     };
  2260.     
  2261. #else  /* C style interface */
  2262.     typedef struct IIMSessionsVtbl
  2263.     {
  2264.         BEGIN_INTERFACE
  2265.         
  2266.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2267.             IIMSessions __RPC_FAR * This,
  2268.             /* [in] */ REFIID riid,
  2269.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2270.         
  2271.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2272.             IIMSessions __RPC_FAR * This);
  2273.         
  2274.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2275.             IIMSessions __RPC_FAR * This);
  2276.         
  2277.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  2278.             IIMSessions __RPC_FAR * This,
  2279.             /* [out] */ UINT __RPC_FAR *pctinfo);
  2280.         
  2281.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  2282.             IIMSessions __RPC_FAR * This,
  2283.             /* [in] */ UINT iTInfo,
  2284.             /* [in] */ LCID lcid,
  2285.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  2286.         
  2287.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  2288.             IIMSessions __RPC_FAR * This,
  2289.             /* [in] */ REFIID riid,
  2290.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  2291.             /* [in] */ UINT cNames,
  2292.             /* [in] */ LCID lcid,
  2293.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  2294.         
  2295.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  2296.             IIMSessions __RPC_FAR * This,
  2297.             /* [in] */ DISPID dispIdMember,
  2298.             /* [in] */ REFIID riid,
  2299.             /* [in] */ LCID lcid,
  2300.             /* [in] */ WORD wFlags,
  2301.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  2302.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  2303.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  2304.             /* [out] */ UINT __RPC_FAR *puArgErr);
  2305.         
  2306.         /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  2307.             IIMSessions __RPC_FAR * This,
  2308.             /* [retval][out] */ long __RPC_FAR *pcSessions);
  2309.         
  2310.         /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Item )( 
  2311.             IIMSessions __RPC_FAR * This,
  2312.             /* [in] */ long Index,
  2313.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppIMSession);
  2314.         
  2315.         /* [helpcontext][helpstring][id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
  2316.             IIMSessions __RPC_FAR * This,
  2317.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnknown);
  2318.         
  2319.         END_INTERFACE
  2320.     } IIMSessionsVtbl;
  2321.     interface IIMSessions
  2322.     {
  2323.         CONST_VTBL struct IIMSessionsVtbl __RPC_FAR *lpVtbl;
  2324.     };
  2325.     
  2326. #ifdef COBJMACROS
  2327. #define IIMSessions_QueryInterface(This,riid,ppvObject)
  2328.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2329. #define IIMSessions_AddRef(This)
  2330.     (This)->lpVtbl -> AddRef(This)
  2331. #define IIMSessions_Release(This)
  2332.     (This)->lpVtbl -> Release(This)
  2333. #define IIMSessions_GetTypeInfoCount(This,pctinfo)
  2334.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2335. #define IIMSessions_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2336.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2337. #define IIMSessions_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2338.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2339. #define IIMSessions_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2340.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2341. #define IIMSessions_get_Count(This,pcSessions)
  2342.     (This)->lpVtbl -> get_Count(This,pcSessions)
  2343. #define IIMSessions_Item(This,Index,ppIMSession)
  2344.     (This)->lpVtbl -> Item(This,Index,ppIMSession)
  2345. #define IIMSessions_get__NewEnum(This,ppUnknown)
  2346.     (This)->lpVtbl -> get__NewEnum(This,ppUnknown)
  2347. #endif /* COBJMACROS */
  2348. #endif  /* C style interface */
  2349. /* [helpcontext][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IIMSessions_get_Count_Proxy( 
  2350.     IIMSessions __RPC_FAR * This,
  2351.     /* [retval][out] */ long __RPC_FAR *pcSessions);
  2352. void __RPC_STUB IIMSessions_get_Count_Stub(
  2353.     IRpcStubBuffer *This,
  2354.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2355.     PRPC_MESSAGE _pRpcMessage,
  2356.     DWORD *_pdwStubPhase);
  2357. /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE IIMSessions_Item_Proxy( 
  2358.     IIMSessions __RPC_FAR * This,
  2359.     /* [in] */ long Index,
  2360.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppIMSession);
  2361. void __RPC_STUB IIMSessions_Item_Stub(
  2362.     IRpcStubBuffer *This,
  2363.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2364.     PRPC_MESSAGE _pRpcMessage,
  2365.     DWORD *_pdwStubPhase);
  2366. /* [helpcontext][helpstring][id][restricted][propget] */ HRESULT STDMETHODCALLTYPE IIMSessions_get__NewEnum_Proxy( 
  2367.     IIMSessions __RPC_FAR * This,
  2368.     /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnknown);
  2369. void __RPC_STUB IIMSessions_get__NewEnum_Stub(
  2370.     IRpcStubBuffer *This,
  2371.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2372.     PRPC_MESSAGE _pRpcMessage,
  2373.     DWORD *_pdwStubPhase);
  2374. #endif  /* __IIMSessions_INTERFACE_DEFINED__ */
  2375. EXTERN_C const CLSID CLSID_MSIMHost;
  2376. #ifdef __cplusplus
  2377. class DECLSPEC_UUID("0E16DE3E-3470-4588-9113-903713375D4F")
  2378. MSIMHost;
  2379. #endif
  2380. EXTERN_C const CLSID CLSID_MSIMService;
  2381. #ifdef __cplusplus
  2382. class DECLSPEC_UUID("955AC874-205C-4397-BD48-5DAB20E82C20")
  2383. MSIMService;
  2384. #endif
  2385. EXTERN_C const CLSID CLSID_MSIMWindow;
  2386. #ifdef __cplusplus
  2387. class DECLSPEC_UUID("A7BA7FD1-55EA-4d25-BC93-7D7941937113")
  2388. MSIMWindow;
  2389. #endif
  2390. EXTERN_C const CLSID CLSID_MSIMHostOption;
  2391. #ifdef __cplusplus
  2392. class DECLSPEC_UUID("F71FB4C1-4539-4022-8EAD-8C2D473770C2")
  2393. MSIMHostOption;
  2394. #endif
  2395. EXTERN_C const CLSID CLSID_MSIMHostProfiles;
  2396. #ifdef __cplusplus
  2397. class DECLSPEC_UUID("4AE5D919-D316-470F-A073-1F569B4BD3EA")
  2398. MSIMHostProfiles;
  2399. #endif
  2400. #endif /* __MSIMCliSDKLib_LIBRARY_DEFINED__ */
  2401. /* Additional Prototypes for ALL interfaces */
  2402. /* end of Additional Prototypes */
  2403. #ifdef __cplusplus
  2404. }
  2405. #endif
  2406. #endif