MAPIX.h
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:25k
源码类别:

对话框与窗口

开发平台:

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