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

模拟服务器

开发平台:

C/C++

  1. /*
  2.  * M A P I X . H
  3.  *
  4.  * Definitions of objects/flags, etc used by Extended MAPI.
  5.  *
  6.  *  Copyright 1986-1999 Microsoft Corporation. All Rights Reserved.
  7.  */
  8. #ifndef MAPIX_H
  9. #define MAPIX_H
  10. #if _MSC_VER > 1000
  11. #pragma once
  12. #endif
  13. /* Include common MAPI header files if they haven't been already. */
  14. #ifndef MAPIDEFS_H
  15. #include <mapidefs.h>
  16. #endif
  17. #ifndef MAPICODE_H
  18. #include <mapicode.h>
  19. #endif
  20. #ifndef MAPIGUID_H
  21. #include <mapiguid.h>
  22. #endif
  23. #ifndef MAPITAGS_H
  24. #include <mapitags.h>
  25. #endif
  26. #ifdef __cplusplus
  27. extern "C" {
  28. #endif
  29. #ifndef BEGIN_INTERFACE
  30. #define BEGIN_INTERFACE
  31. #endif
  32. /* Forward interface declarations */
  33. DECLARE_MAPI_INTERFACE_PTR(IProfAdmin, LPPROFADMIN);
  34. DECLARE_MAPI_INTERFACE_PTR(IMsgServiceAdmin, LPSERVICEADMIN);
  35. DECLARE_MAPI_INTERFACE_PTR(IMAPISession, LPMAPISESSION);
  36. /* ------------------------------------------------------ */
  37. /* shared with simple mapi */
  38. typedef ULONG       FLAGS;
  39. /* MAPILogon() flags.       */
  40. #define MAPI_LOGON_UI           0x00000001  /* Display logon UI */
  41. #define MAPI_NEW_SESSION        0x00000002  /* Don't use shared session */
  42. #define MAPI_ALLOW_OTHERS       0x00000008  /* Make this a shared session */
  43. #define MAPI_EXPLICIT_PROFILE   0x00000010  /* Don't use default profile */
  44. #define MAPI_EXTENDED           0x00000020  /* Extended MAPI Logon */
  45. #define MAPI_FORCE_DOWNLOAD     0x00001000  /* Get new mail before return */
  46. #define MAPI_SERVICE_UI_ALWAYS 0x00002000 /* Do logon UI in all providers */
  47. #define MAPI_NO_MAIL 0x00008000 /* Do not activate transports */
  48. /* #define MAPI_NT_SERVICE 0x00010000 Allow logon from an NT service */
  49. #ifndef MAPI_PASSWORD_UI
  50. #define MAPI_PASSWORD_UI 0x00020000 /* Display password UI only */
  51. #endif
  52. #define MAPI_TIMEOUT_SHORT 0x00100000 /* Minimal wait for logon resources */
  53. #define MAPI_SIMPLE_DEFAULT (MAPI_LOGON_UI | MAPI_FORCE_DOWNLOAD | MAPI_ALLOW_OTHERS)
  54. #define MAPI_SIMPLE_EXPLICIT (MAPI_NEW_SESSION | MAPI_FORCE_DOWNLOAD | MAPI_EXPLICIT_PROFILE)
  55. /* Structure passed to MAPIInitialize(), and its ulFlags values */
  56. typedef struct
  57. {
  58. ULONG ulVersion;
  59. ULONG ulFlags;
  60. } MAPIINIT_0, FAR *LPMAPIINIT_0;
  61. typedef MAPIINIT_0 MAPIINIT;
  62. typedef MAPIINIT FAR *LPMAPIINIT;
  63. #define MAPI_INIT_VERSION 0
  64. #define MAPI_MULTITHREAD_NOTIFICATIONS 0x00000001
  65. /* Reserved for MAPI 0x40000000 */
  66. /* #define MAPI_NT_SERVICE 0x00010000 Use from NT service */
  67. /* MAPI base functions */
  68. typedef HRESULT (STDAPICALLTYPE MAPIINITIALIZE)(
  69. LPVOID lpMapiInit
  70. );
  71. typedef MAPIINITIALIZE FAR *LPMAPIINITIALIZE;
  72. typedef void (STDAPICALLTYPE MAPIUNINITIALIZE)(void);
  73. typedef MAPIUNINITIALIZE FAR *LPMAPIUNINITIALIZE;
  74. MAPIINITIALIZE MAPIInitialize;
  75. MAPIUNINITIALIZE MAPIUninitialize;
  76. /*  Extended MAPI Logon function */
  77. typedef HRESULT (STDMETHODCALLTYPE MAPILOGONEX)(
  78. ULONG_PTR ulUIParam,
  79. LPTSTR lpszProfileName,
  80. LPTSTR lpszPassword,
  81. ULONG ulFlags,   /*  ulFlags takes all that SimpleMAPI does + MAPI_UNICODE */
  82. LPMAPISESSION FAR * lppSession
  83. );
  84. typedef MAPILOGONEX FAR *LPMAPILOGONEX;
  85. MAPILOGONEX MAPILogonEx;
  86. typedef SCODE (STDMETHODCALLTYPE MAPIALLOCATEBUFFER)(
  87. ULONG cbSize,
  88. LPVOID FAR * lppBuffer
  89. );
  90. typedef SCODE (STDMETHODCALLTYPE MAPIALLOCATEMORE)(
  91. ULONG cbSize,
  92. LPVOID lpObject,
  93. LPVOID FAR * lppBuffer
  94. );
  95. typedef ULONG (STDAPICALLTYPE MAPIFREEBUFFER)(
  96. LPVOID lpBuffer
  97. );
  98. typedef MAPIALLOCATEBUFFER FAR *LPMAPIALLOCATEBUFFER;
  99. typedef MAPIALLOCATEMORE FAR *LPMAPIALLOCATEMORE;
  100. typedef MAPIFREEBUFFER FAR  *LPMAPIFREEBUFFER;
  101. MAPIALLOCATEBUFFER MAPIAllocateBuffer;
  102. MAPIALLOCATEMORE MAPIAllocateMore;
  103. MAPIFREEBUFFER MAPIFreeBuffer;
  104. typedef HRESULT (STDMETHODCALLTYPE MAPIADMINPROFILES)(
  105. ULONG ulFlags,
  106. LPPROFADMIN FAR *lppProfAdmin
  107. );
  108. typedef MAPIADMINPROFILES FAR *LPMAPIADMINPROFILES;
  109. MAPIADMINPROFILES MAPIAdminProfiles;
  110. /* IMAPISession Interface -------------------------------------------------- */
  111. /* Flags for OpenEntry and others */
  112. /*#define MAPI_MODIFY ((ULONG) 0x00000001) */
  113. /* Flags for Logoff */
  114. #define MAPI_LOGOFF_SHARED      0x00000001  /* Close all shared sessions    */
  115. #define MAPI_LOGOFF_UI          0x00000002  /* It's OK to present UI        */
  116. /* Flags for SetDefaultStore. They are mutually exclusive. */
  117. #define MAPI_DEFAULT_STORE 0x00000001 /* for incoming messages */
  118. #define MAPI_SIMPLE_STORE_TEMPORARY 0x00000002 /* for simple MAPI and CMC */
  119. #define MAPI_SIMPLE_STORE_PERMANENT 0x00000003 /* for simple MAPI and CMC */
  120. #define MAPI_PRIMARY_STORE 0x00000004 /* Used by some clients */
  121. #define MAPI_SECONDARY_STORE 0x00000005 /* Used by some clients */
  122. /* Flags for ShowForm. */
  123. #define MAPI_POST_MESSAGE 0x00000001 /* Selects post/send semantics */
  124. #define MAPI_NEW_MESSAGE 0x00000002 /* Governs copying during submission */
  125. /*  MessageOptions */
  126. /****** MAPI_UNICODE ((ULONG) 0x80000000) */
  127. /*  QueryDefaultMessageOpt */
  128. /****** MAPI_UNICODE ((ULONG) 0x80000000) */
  129. #define MAPI_IMAPISESSION_METHODS(IPURE)
  130. MAPIMETHOD(GetLastError)
  131. (THIS_ HRESULT hResult,
  132. ULONG ulFlags,
  133. LPMAPIERROR FAR * lppMAPIError) IPURE;
  134. MAPIMETHOD(GetMsgStoresTable)
  135. (THIS_ ULONG ulFlags,
  136. LPMAPITABLE FAR * lppTable) IPURE;
  137. MAPIMETHOD(OpenMsgStore)
  138. (THIS_ ULONG_PTR ulUIParam,
  139. ULONG cbEntryID,
  140. LPENTRYID lpEntryID,
  141. LPCIID lpInterface,
  142. ULONG ulFlags,
  143. LPMDB FAR * lppMDB) IPURE;
  144. MAPIMETHOD(OpenAddressBook)
  145. (THIS_ ULONG_PTR ulUIParam,
  146. LPCIID lpInterface,
  147. ULONG ulFlags,
  148. LPADRBOOK FAR * lppAdrBook) IPURE;
  149. MAPIMETHOD(OpenProfileSection)
  150. (THIS_ LPMAPIUID lpUID,
  151. LPCIID lpInterface,
  152. ULONG ulFlags,
  153. LPPROFSECT FAR * lppProfSect) IPURE;
  154. MAPIMETHOD(GetStatusTable)
  155. (THIS_ ULONG ulFlags,
  156. LPMAPITABLE FAR * lppTable) IPURE;
  157. MAPIMETHOD(OpenEntry)
  158. (THIS_ ULONG cbEntryID,
  159. LPENTRYID lpEntryID,
  160. LPCIID lpInterface,
  161. ULONG ulFlags,
  162. ULONG FAR * lpulObjType,
  163. LPUNKNOWN FAR * lppUnk) IPURE;
  164. MAPIMETHOD(CompareEntryIDs)
  165. (THIS_ ULONG cbEntryID1,
  166. LPENTRYID lpEntryID1,
  167. ULONG cbEntryID2,
  168. LPENTRYID lpEntryID2,
  169. ULONG ulFlags,
  170. ULONG FAR * lpulResult) IPURE;
  171. MAPIMETHOD(Advise)
  172. (THIS_ ULONG cbEntryID,
  173. LPENTRYID lpEntryID,
  174. ULONG ulEventMask,
  175. LPMAPIADVISESINK lpAdviseSink,
  176. ULONG FAR * lpulConnection) IPURE;
  177. MAPIMETHOD(Unadvise)
  178. (THIS_ ULONG ulConnection) IPURE;
  179. MAPIMETHOD(MessageOptions)
  180. (THIS_ ULONG_PTR ulUIParam,
  181. ULONG ulFlags,
  182. LPTSTR lpszAdrType,
  183. LPMESSAGE lpMessage) IPURE;
  184. MAPIMETHOD(QueryDefaultMessageOpt)
  185. (THIS_ LPTSTR lpszAdrType,
  186. ULONG ulFlags,
  187. ULONG FAR * lpcValues,
  188. LPSPropValue FAR * lppOptions) IPURE;
  189. MAPIMETHOD(EnumAdrTypes)
  190. (THIS_ ULONG ulFlags,
  191. ULONG FAR * lpcAdrTypes,
  192. LPTSTR FAR * FAR * lpppszAdrTypes) IPURE;
  193. MAPIMETHOD(QueryIdentity)
  194. (THIS_ ULONG FAR * lpcbEntryID,
  195. LPENTRYID FAR * lppEntryID) IPURE;
  196. MAPIMETHOD(Logoff)
  197. (THIS_ ULONG_PTR ulUIParam,
  198. ULONG ulFlags,
  199. ULONG ulReserved) IPURE;
  200. MAPIMETHOD(SetDefaultStore)
  201. (THIS_ ULONG ulFlags,
  202. ULONG cbEntryID,
  203. LPENTRYID lpEntryID) IPURE;
  204. MAPIMETHOD(AdminServices)
  205. (THIS_ ULONG ulFlags,
  206. LPSERVICEADMIN FAR * lppServiceAdmin) IPURE;
  207. MAPIMETHOD(ShowForm)
  208. (THIS_ ULONG_PTR ulUIParam,
  209. LPMDB lpMsgStore,
  210. LPMAPIFOLDER lpParentFolder,
  211. LPCIID lpInterface,
  212. ULONG ulMessageToken,
  213. LPMESSAGE lpMessageSent,
  214. ULONG ulFlags,
  215. ULONG ulMessageStatus,
  216. ULONG ulMessageFlags,
  217. ULONG ulAccess,
  218. LPSTR lpszMessageClass) IPURE;
  219. MAPIMETHOD(PrepareForm)
  220. (THIS_ LPCIID lpInterface,
  221. LPMESSAGE lpMessage,
  222. ULONG FAR * lpulMessageToken) IPURE;
  223. #undef  INTERFACE
  224. #define  INTERFACE  IMAPISession
  225. DECLARE_MAPI_INTERFACE_(IMAPISession, IUnknown)
  226. {
  227. BEGIN_INTERFACE
  228. MAPI_IUNKNOWN_METHODS(PURE)
  229. MAPI_IMAPISESSION_METHODS(PURE)
  230. };
  231. /*DECLARE_MAPI_INTERFACE_PTR(IMAPISession, LPMAPISESSION);*/
  232. /* IAddrBook Interface ----------------------------------------------------- */
  233. /*  CreateOneOff */
  234. /****** MAPI_UNICODE ((ULONG) 0x80000000) */
  235. /****** MAPI_SEND_NO_RICH_INFO ((ULONG) 0x00010000) */
  236. /*  RecipOptions */
  237. /****** MAPI_UNICODE ((ULONG) 0x80000000) */
  238. /*  QueryDefaultRecipOpt */
  239. /****** MAPI_UNICODE ((ULONG) 0x80000000) */
  240. /*  GetSearchPath */
  241. /****** MAPI_UNICODE ((ULONG) 0x80000000) */
  242. #define MAPI_IADDRBOOK_METHODS(IPURE)
  243. MAPIMETHOD(OpenEntry)
  244. (THIS_ ULONG cbEntryID,
  245. LPENTRYID lpEntryID,
  246. LPCIID lpInterface,
  247. ULONG ulFlags,
  248. ULONG FAR * lpulObjType,
  249. LPUNKNOWN FAR * lppUnk) IPURE;
  250. MAPIMETHOD(CompareEntryIDs)
  251. (THIS_ ULONG cbEntryID1,
  252. LPENTRYID lpEntryID1,
  253. ULONG cbEntryID2,
  254. LPENTRYID lpEntryID2,
  255. ULONG ulFlags,
  256. ULONG FAR * lpulResult) IPURE;
  257. MAPIMETHOD(Advise)
  258. (THIS_ ULONG cbEntryID,
  259. LPENTRYID lpEntryID,
  260. ULONG ulEventMask,
  261. LPMAPIADVISESINK lpAdviseSink,
  262. ULONG FAR * lpulConnection) IPURE;
  263. MAPIMETHOD(Unadvise)
  264. (THIS_ ULONG ulConnection) IPURE;
  265. MAPIMETHOD(CreateOneOff)
  266. (THIS_ LPTSTR lpszName,
  267. LPTSTR lpszAdrType,
  268. LPTSTR lpszAddress,
  269. ULONG ulFlags,
  270. ULONG FAR * lpcbEntryID,
  271. LPENTRYID FAR * lppEntryID) IPURE;
  272. MAPIMETHOD(NewEntry)
  273. (THIS_ ULONG_PTR ulUIParam,
  274. ULONG ulFlags,
  275. ULONG cbEIDContainer,
  276. LPENTRYID lpEIDContainer,
  277. ULONG cbEIDNewEntryTpl,
  278. LPENTRYID lpEIDNewEntryTpl,
  279. ULONG FAR * lpcbEIDNewEntry,
  280. LPENTRYID FAR * lppEIDNewEntry) IPURE;
  281. MAPIMETHOD(ResolveName)
  282. (THIS_ ULONG_PTR ulUIParam,
  283. ULONG ulFlags,
  284. LPTSTR lpszNewEntryTitle,
  285. LPADRLIST lpAdrList) IPURE;
  286. MAPIMETHOD(Address)
  287. (THIS_ ULONG_PTR FAR * lpulUIParam,
  288. LPADRPARM lpAdrParms,
  289. LPADRLIST FAR * lppAdrList) IPURE;
  290. MAPIMETHOD(Details)
  291. (THIS_ ULONG FAR * lpulUIParam,
  292. LPFNDISMISS lpfnDismiss,
  293. LPVOID lpvDismissContext,
  294. ULONG cbEntryID,
  295. LPENTRYID lpEntryID,
  296. LPFNBUTTON lpfButtonCallback,
  297. LPVOID lpvButtonContext,
  298. LPTSTR lpszButtonText,
  299. ULONG ulFlags) IPURE;
  300. MAPIMETHOD(RecipOptions)
  301. (THIS_ ULONG_PTR ulUIParam,
  302. ULONG ulFlags,
  303. LPADRENTRY lpRecip) IPURE;
  304. MAPIMETHOD(QueryDefaultRecipOpt)
  305. (THIS_ LPTSTR lpszAdrType,
  306. ULONG ulFlags,
  307. ULONG FAR * lpcValues,
  308. LPSPropValue FAR * lppOptions) IPURE;
  309. MAPIMETHOD(GetPAB)
  310. (THIS_ ULONG FAR * lpcbEntryID,
  311. LPENTRYID FAR * lppEntryID) IPURE;
  312. MAPIMETHOD(SetPAB)
  313. (THIS_ ULONG cbEntryID,
  314. LPENTRYID lpEntryID) IPURE;
  315. MAPIMETHOD(GetDefaultDir)
  316. (THIS_ ULONG FAR * lpcbEntryID,
  317. LPENTRYID FAR * lppEntryID) IPURE;
  318. MAPIMETHOD(SetDefaultDir)
  319. (THIS_ ULONG cbEntryID,
  320. LPENTRYID lpEntryID) IPURE;
  321. MAPIMETHOD(GetSearchPath)
  322. (THIS_ ULONG ulFlags,
  323. LPSRowSet FAR * lppSearchPath) IPURE;
  324. MAPIMETHOD(SetSearchPath)
  325. (THIS_ ULONG ulFlags,
  326. LPSRowSet lpSearchPath) IPURE;
  327. MAPIMETHOD(PrepareRecips)
  328. (THIS_ ULONG ulFlags,
  329. LPSPropTagArray lpPropTagArray,
  330. LPADRLIST lpRecipList) IPURE;
  331. #undef  INTERFACE
  332. #define  INTERFACE  IAddrBook
  333. DECLARE_MAPI_INTERFACE_(IAddrBook, IMAPIProp)
  334. {
  335. BEGIN_INTERFACE
  336. MAPI_IUNKNOWN_METHODS(PURE)
  337. MAPI_IMAPIPROP_METHODS(PURE)
  338. MAPI_IADDRBOOK_METHODS(PURE)
  339. };
  340. DECLARE_MAPI_INTERFACE_PTR(IAddrBook, LPADRBOOK);
  341. /* IProfAdmin Interface ---------------------------------------------------- */
  342. /* Flags for CreateProfile */
  343. #define MAPI_DEFAULT_SERVICES 0x00000001
  344. /* GetProfileTable */
  345. /****** MAPI_UNICODE ((ULONG) 0x80000000) */
  346. #define MAPI_IPROFADMIN_METHODS(IPURE)
  347. MAPIMETHOD(GetLastError)
  348. (THIS_ HRESULT hResult,
  349. ULONG ulFlags,
  350. LPMAPIERROR FAR * lppMAPIError) IPURE;
  351. MAPIMETHOD(GetProfileTable)
  352. (THIS_ ULONG ulFlags,
  353. LPMAPITABLE FAR * lppTable) IPURE;
  354. MAPIMETHOD(CreateProfile)
  355. (THIS_ LPTSTR lpszProfileName,
  356. LPTSTR lpszPassword,
  357. ULONG_PTR ulUIParam,
  358. ULONG ulFlags) IPURE;
  359. MAPIMETHOD(DeleteProfile)
  360. (THIS_ LPTSTR lpszProfileName,
  361. ULONG ulFlags) IPURE;
  362. MAPIMETHOD(ChangeProfilePassword)
  363. (THIS_ LPTSTR lpszProfileName,
  364. LPTSTR lpszOldPassword,
  365. LPTSTR lpszNewPassword,
  366. ULONG ulFlags) IPURE;
  367. MAPIMETHOD(CopyProfile)
  368. (THIS_ LPTSTR lpszOldProfileName,
  369. LPTSTR lpszOldPassword,
  370. LPTSTR lpszNewProfileName,
  371. ULONG_PTR ulUIParam,
  372. ULONG ulFlags) IPURE;
  373. MAPIMETHOD(RenameProfile)
  374. (THIS_ LPTSTR lpszOldProfileName,
  375. LPTSTR lpszOldPassword,
  376. LPTSTR lpszNewProfileName,
  377. ULONG_PTR ulUIParam,
  378. ULONG ulFlags) IPURE;
  379. MAPIMETHOD(SetDefaultProfile)
  380. (THIS_ LPTSTR lpszProfileName,
  381. ULONG ulFlags) IPURE;
  382. MAPIMETHOD(AdminServices)
  383. (THIS_ LPTSTR lpszProfileName,
  384. LPTSTR lpszPassword,
  385. ULONG_PTR ulUIParam,
  386. ULONG ulFlags,
  387. LPSERVICEADMIN FAR * lppServiceAdmin) IPURE;
  388. #undef  INTERFACE
  389. #define  INTERFACE  IProfAdmin
  390. DECLARE_MAPI_INTERFACE_(IProfAdmin, IUnknown)
  391. {
  392. BEGIN_INTERFACE
  393. MAPI_IUNKNOWN_METHODS(PURE)
  394. MAPI_IPROFADMIN_METHODS(PURE)
  395. };
  396. /* IMsgServiceAdmin Interface ---------------------------------------------- */
  397. /* Values for PR_RESOURCE_FLAGS in message service table */
  398. #define SERVICE_DEFAULT_STORE 0x00000001
  399. #define SERVICE_SINGLE_COPY 0x00000002
  400. #define SERVICE_CREATE_WITH_STORE 0x00000004
  401. #define SERVICE_PRIMARY_IDENTITY 0x00000008
  402. #define SERVICE_NO_PRIMARY_IDENTITY 0x00000020
  403. /*  GetMsgServiceTable */
  404. /****** MAPI_UNICODE ((ULONG) 0x80000000) */
  405. /*  GetProviderTable */
  406. /****** MAPI_UNICODE ((ULONG) 0x80000000) */
  407. #define MAPI_IMSGSERVICEADMIN_METHODS(IPURE)
  408. MAPIMETHOD(GetLastError)
  409. (THIS_ HRESULT hResult,
  410. ULONG ulFlags,
  411. LPMAPIERROR FAR * lppMAPIError) IPURE;
  412. MAPIMETHOD(GetMsgServiceTable)
  413. (THIS_ ULONG ulFlags,
  414. LPMAPITABLE FAR * lppTable) IPURE;
  415. MAPIMETHOD(CreateMsgService)
  416. (THIS_ LPTSTR lpszService,
  417. LPTSTR lpszDisplayName,
  418. ULONG_PTR ulUIParam,
  419. ULONG ulFlags) IPURE;
  420. MAPIMETHOD(DeleteMsgService)
  421. (THIS_ LPMAPIUID lpUID) IPURE;
  422. MAPIMETHOD(CopyMsgService)
  423. (THIS_ LPMAPIUID lpUID,
  424. LPTSTR lpszDisplayName,
  425. LPCIID lpInterfaceToCopy,
  426. LPCIID lpInterfaceDst,
  427. LPVOID lpObjectDst,
  428. ULONG_PTR ulUIParam,
  429. ULONG ulFlags) IPURE;
  430. MAPIMETHOD(RenameMsgService)
  431. (THIS_ LPMAPIUID lpUID,
  432. ULONG ulFlags,
  433. LPTSTR lpszDisplayName) IPURE;
  434. MAPIMETHOD(ConfigureMsgService)
  435. (THIS_ LPMAPIUID lpUID,
  436. ULONG_PTR ulUIParam,
  437. ULONG ulFlags,
  438. ULONG cValues,
  439. LPSPropValue lpProps) IPURE;
  440. MAPIMETHOD(OpenProfileSection)
  441. (THIS_ LPMAPIUID lpUID,
  442. LPCIID lpInterface,
  443. ULONG ulFlags,
  444. LPPROFSECT FAR * lppProfSect) IPURE;
  445. MAPIMETHOD(MsgServiceTransportOrder)
  446. (THIS_ ULONG cUID,
  447. LPMAPIUID lpUIDList,
  448. ULONG ulFlags) IPURE;
  449. MAPIMETHOD(AdminProviders)
  450. (THIS_ LPMAPIUID lpUID,
  451. ULONG ulFlags,
  452. LPPROVIDERADMIN FAR * lppProviderAdmin) IPURE;
  453. MAPIMETHOD(SetPrimaryIdentity)
  454. (THIS_ LPMAPIUID lpUID,
  455. ULONG ulFlags) IPURE;
  456. MAPIMETHOD(GetProviderTable)
  457. (THIS_ ULONG ulFlags,
  458. LPMAPITABLE FAR * lppTable) IPURE;
  459. #undef   INTERFACE
  460. #define   INTERFACE IMsgServiceAdmin
  461. DECLARE_MAPI_INTERFACE_(IMsgServiceAdmin, IUnknown)
  462. {
  463. BEGIN_INTERFACE
  464. MAPI_IUNKNOWN_METHODS(PURE)
  465. MAPI_IMSGSERVICEADMIN_METHODS(PURE)
  466. };
  467. #ifdef __cplusplus
  468. } /* extern "C" */
  469. #endif
  470. #endif /* MAPIX_H */