Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1642 lines
51 KiB

  1. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3. /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for msoeapi.idl:
  5. Oicf, W1, Zp8, env=Win32 (32b run)
  6. protocol : dce , ms_ext, c_ext
  7. error checks: allocation ref bounds_check enum stub_data
  8. VC __declspec() decoration level:
  9. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10. DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING( )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __msoeapi_h__
  27. #define __msoeapi_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __IOutlookExpress_FWD_DEFINED__
  33. #define __IOutlookExpress_FWD_DEFINED__
  34. typedef interface IOutlookExpress IOutlookExpress;
  35. #endif /* __IOutlookExpress_FWD_DEFINED__ */
  36. #ifndef __IStoreNamespace_FWD_DEFINED__
  37. #define __IStoreNamespace_FWD_DEFINED__
  38. typedef interface IStoreNamespace IStoreNamespace;
  39. #endif /* __IStoreNamespace_FWD_DEFINED__ */
  40. #ifndef __IStoreFolder_FWD_DEFINED__
  41. #define __IStoreFolder_FWD_DEFINED__
  42. typedef interface IStoreFolder IStoreFolder;
  43. #endif /* __IStoreFolder_FWD_DEFINED__ */
  44. /* header files for imported files */
  45. #include "ocidl.h"
  46. #include "mimeole.h"
  47. #ifdef __cplusplus
  48. extern "C"{
  49. #endif
  50. void * __RPC_USER MIDL_user_allocate(size_t);
  51. void __RPC_USER MIDL_user_free( void * );
  52. /* interface __MIDL_itf_msoeapi_0000 */
  53. /* [local] */
  54. #ifndef OE5_BETA2
  55. #endif
  56. #ifndef OE5_BETA2
  57. #endif
  58. //+-------------------------------------------------------------------------
  59. // GUID Definitions
  60. //--------------------------------------------------------------------------
  61. #pragma comment(lib,"uuid.lib")
  62. // {3338DF69-4660-11d1-8A8D-00C04FB951F3}
  63. DEFINE_GUID(CLSID_OutlookExpress, 0x3338df69, 0x4660, 0x11d1, 0x8a, 0x8d, 0x0, 0xc0, 0x4f, 0xb9, 0x51, 0xf3);
  64. // {0006F01A-0000-0000-C000-0000000046}
  65. DEFINE_GUID(CLSID_Envelope, 0x0006F01A, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);
  66. // {3338DF6A-4660-11d1-8A8D-00C04FB951F3}
  67. DEFINE_GUID(IID_IOutlookExpress, 0x3338df6a, 0x4660, 0x11d1, 0x8a, 0x8d, 0x00, 0xc0, 0x4f, 0xb9, 0x51, 0xf3);
  68. #ifndef OE5_BETA2
  69. // {E70C92A9-4BFD-11d1-8A95-00C04FB951F3}
  70. DEFINE_GUID(CLSID_StoreNamespace, 0xe70c92a9, 0x4bfd, 0x11d1, 0x8a, 0x95, 0x0, 0xc0, 0x4f, 0xb9, 0x51, 0xf3);
  71. // {E70C92AA-4BFD-11d1-8A95-00C04FB951F3}
  72. DEFINE_GUID(IID_IStoreNamespace, 0xe70c92aa, 0x4bfd, 0x11d1, 0x8a, 0x95, 0x0, 0xc0, 0x4f, 0xb9, 0x51, 0xf3);
  73. // {E70C92AC-4BFD-11d1-8A95-00C04FB951F3}
  74. DEFINE_GUID(IID_IStoreFolder, 0xe70c92ac, 0x4bfd, 0x11d1, 0x8a, 0x95, 0x0, 0xc0, 0x4f, 0xb9, 0x51, 0xf3);
  75. #endif
  76. //+-------------------------------------------------------------------------
  77. // Errors Definition Macros
  78. //--------------------------------------------------------------------------
  79. #ifndef FACILITY_INTERNET
  80. #define FACILITY_INTERNET 12
  81. #endif
  82. #ifndef HR_E
  83. #define HR_E(n) MAKE_SCODE(SEVERITY_ERROR, FACILITY_INTERNET, n)
  84. #endif
  85. #ifndef HR_S
  86. #define HR_S(n) MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_INTERNET, n)
  87. #endif
  88. #ifndef HR_CODE
  89. #define HR_CODE(hr) (INT)(hr & 0xffff)
  90. #endif
  91. //+-------------------------------------------------------------------------
  92. // MSOEAPI Failure Return Values
  93. //--------------------------------------------------------------------------
  94. #define MSOEAPI_E_FILE_NOT_FOUND HR_E(0xCF65)
  95. #define MSOEAPI_E_STORE_INITIALIZE HR_E(0xCF66)
  96. #define MSOEAPI_E_INVALID_STRUCT_SIZE HR_E(0xCF67)
  97. #define MSOEAPI_E_CANT_LOAD_MSOERT HR_E(0xCF68)
  98. #define MSOEAPI_E_CANT_LOAD_INETCOMM HR_E(0xCF69)
  99. #define MSOEAPI_E_CANT_LOAD_MSOEACCT HR_E(0xCF70)
  100. #define MSOEAPI_E_CANT_MSOERT_BADVER HR_E(0xCF71)
  101. #define MSOEAPI_E_CANT_INETCOMM_BADVER HR_E(0xCF72)
  102. #define MSOEAPI_E_CANT_MSOEACCT_BADVER HR_E(0xCF73)
  103. //+-------------------------------------------------------------------------
  104. // String Definition Macros
  105. //--------------------------------------------------------------------------
  106. #ifdef __cplusplus
  107. #define EXTERN_C extern "C"
  108. #else
  109. #define EXTERN_C extern
  110. #endif
  111. #ifndef STRCONSTA
  112. #ifdef DEFINE_STRCONST
  113. #define STRCONSTA(x,y) EXTERN_C const char x[] = y
  114. #define STRCONSTW(x,y) EXTERN_C const WCHAR x[] = L##y
  115. #else
  116. #define STRCONSTA(x,y) EXTERN_C const char x[]
  117. #define STRCONSTW(x,y) EXTERN_C const WCHAR x[]
  118. #endif STRCONSTA
  119. #endif
  120. //+-------------------------------------------------------------------------
  121. // Strings
  122. //--------------------------------------------------------------------------
  123. STRCONSTA(STR_MSOEAPI_INSTANCECLASS, "OutlookExpressHiddenWindow");
  124. STRCONSTA(STR_MSOEAPI_IPSERVERCLASS, "OutlookExpressInProccessServer");
  125. STRCONSTA(STR_MSOEAPI_INSTANCEMUTEX, "OutlookExpress_InstanceMutex_101897");
  126. STRCONSTA(STR_MSOEAPI_DLLNAME, "MSOE.DLL");
  127. STRCONSTA(STR_MSOEAPI_START, "CoStartOutlookExpress");
  128. STRCONSTA(STR_MSOEAPI_SHUTDOWN, "CoShutdownOutlookExpress");
  129. STRCONSTA(STR_MSOEAPI_CREATE, "CoCreateOutlookExpress");
  130. //+-------------------------------------------------------------------------
  131. // Function Typedefs
  132. //--------------------------------------------------------------------------
  133. typedef HRESULT (APIENTRY *PFNSTART)(DWORD dwFlags, LPCSTR pszCmdLine, INT nCmdShow);
  134. typedef HRESULT (APIENTRY *PFNSHUTDOWN)(DWORD dwReserved);
  135. typedef HRESULT (APIENTRY *PFNCREATE)(IUnknown *pUnkOuter, IUnknown **ppUnknown);
  136. #define MSOEAPI_ACDM_CMDLINE ( 1 )
  137. #define MSOEAPI_ACDM_NOTIFY ( 2 )
  138. #define MSOEAPI_ACDM_ODBNOTIFY ( 3 )
  139. #define MSOEAPI_ACDM_STGNOTIFY ( 4 )
  140. #ifndef OE5_BETA2
  141. struct HENUMSTORE__
  142. {
  143. DWORD unused;
  144. } ;
  145. typedef struct HENUMSTORE__ *HENUMSTORE;
  146. typedef HENUMSTORE *LPHENUMSTORE;
  147. #endif // OE5_BETA2
  148. #ifndef __LPOUTLOOKEXPRESS_DEFINED
  149. #define __LPOUTLOOKEXPRESS_DEFINED
  150. extern RPC_IF_HANDLE __MIDL_itf_msoeapi_0000_v0_0_c_ifspec;
  151. extern RPC_IF_HANDLE __MIDL_itf_msoeapi_0000_v0_0_s_ifspec;
  152. #ifndef __IOutlookExpress_INTERFACE_DEFINED__
  153. #define __IOutlookExpress_INTERFACE_DEFINED__
  154. /* interface IOutlookExpress */
  155. /* [unique][uuid][object] */
  156. typedef IOutlookExpress *LPOUTLOOKEXPRESS;
  157. #define MSOEAPI_START_SHOWSPLASH 0x00000001
  158. #define MSOEAPI_START_MESSAGEPUMP 0x00000002
  159. #define MSOEAPI_START_ALLOWCOMPACTION 0x00000004
  160. #define MSOEAPI_START_INSTANCEMUTEX 0x00000008
  161. #define MSOEAPI_START_SHOWERRORS 0x00000010
  162. #define MSOEAPI_START_APPWINDOW 0x00000020
  163. #define MSOEAPI_START_DEFAULTIDENTITY 0x00000040
  164. #define MSOEAPI_START_APPLICATION \
  165. (MSOEAPI_START_SHOWSPLASH | \
  166. MSOEAPI_START_SHOWERRORS | \
  167. MSOEAPI_START_MESSAGEPUMP | \
  168. MSOEAPI_START_ALLOWCOMPACTION | \
  169. MSOEAPI_START_INSTANCEMUTEX | \
  170. MSOEAPI_START_APPWINDOW)
  171. #define MSOEAPI_START_COMOBJECT \
  172. MSOEAPI_START_SHOWERRORS
  173. EXTERN_C const IID IID_IOutlookExpress;
  174. #if defined(__cplusplus) && !defined(CINTERFACE)
  175. MIDL_INTERFACE("3338DF6A-4660-11d1-8A8D-00C04FB951F3")
  176. IOutlookExpress : public IUnknown
  177. {
  178. public:
  179. virtual HRESULT STDMETHODCALLTYPE Start(
  180. /* [in] */ DWORD dwFlags,
  181. /* [in] */ LPCSTR pszCmdLine,
  182. /* [in] */ INT nCmdShow) = 0;
  183. };
  184. #else /* C style interface */
  185. typedef struct IOutlookExpressVtbl
  186. {
  187. BEGIN_INTERFACE
  188. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  189. IOutlookExpress * This,
  190. /* [in] */ REFIID riid,
  191. /* [iid_is][out] */ void **ppvObject);
  192. ULONG ( STDMETHODCALLTYPE *AddRef )(
  193. IOutlookExpress * This);
  194. ULONG ( STDMETHODCALLTYPE *Release )(
  195. IOutlookExpress * This);
  196. HRESULT ( STDMETHODCALLTYPE *Start )(
  197. IOutlookExpress * This,
  198. /* [in] */ DWORD dwFlags,
  199. /* [in] */ LPCSTR pszCmdLine,
  200. /* [in] */ INT nCmdShow);
  201. END_INTERFACE
  202. } IOutlookExpressVtbl;
  203. interface IOutlookExpress
  204. {
  205. CONST_VTBL struct IOutlookExpressVtbl *lpVtbl;
  206. };
  207. #ifdef COBJMACROS
  208. #define IOutlookExpress_QueryInterface(This,riid,ppvObject) \
  209. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  210. #define IOutlookExpress_AddRef(This) \
  211. (This)->lpVtbl -> AddRef(This)
  212. #define IOutlookExpress_Release(This) \
  213. (This)->lpVtbl -> Release(This)
  214. #define IOutlookExpress_Start(This,dwFlags,pszCmdLine,nCmdShow) \
  215. (This)->lpVtbl -> Start(This,dwFlags,pszCmdLine,nCmdShow)
  216. #endif /* COBJMACROS */
  217. #endif /* C style interface */
  218. HRESULT STDMETHODCALLTYPE IOutlookExpress_Start_Proxy(
  219. IOutlookExpress * This,
  220. /* [in] */ DWORD dwFlags,
  221. /* [in] */ LPCSTR pszCmdLine,
  222. /* [in] */ INT nCmdShow);
  223. void __RPC_STUB IOutlookExpress_Start_Stub(
  224. IRpcStubBuffer *This,
  225. IRpcChannelBuffer *_pRpcChannelBuffer,
  226. PRPC_MESSAGE _pRpcMessage,
  227. DWORD *_pdwStubPhase);
  228. #endif /* __IOutlookExpress_INTERFACE_DEFINED__ */
  229. /* interface __MIDL_itf_msoeapi_0287 */
  230. /* [local] */
  231. #endif
  232. #ifndef OE5_BETA2
  233. #ifndef __LPSTORENAMESPACE_DEFINED
  234. #define __LPSTORENAMESPACE_DEFINED
  235. extern RPC_IF_HANDLE __MIDL_itf_msoeapi_0287_v0_0_c_ifspec;
  236. extern RPC_IF_HANDLE __MIDL_itf_msoeapi_0287_v0_0_s_ifspec;
  237. #ifndef __IStoreNamespace_INTERFACE_DEFINED__
  238. #define __IStoreNamespace_INTERFACE_DEFINED__
  239. /* interface IStoreNamespace */
  240. /* [unique][uuid][object] */
  241. typedef IStoreNamespace *LPSTORENAMESPACE;
  242. typedef DWORD STOREFOLDERID;
  243. typedef STOREFOLDERID *LPSTOREFOLDERID;
  244. #define FOLDERID_ROOT ( 0 )
  245. #define FOLDERID_INVALID ( 0xffffffff )
  246. typedef DWORD MESSAGEID;
  247. typedef MESSAGEID *LPMESSAGEID;
  248. #define MESSAGEID_INVALID ( 0xffffffff )
  249. #define MESSAGEID_FIRST ( 0xffffffff )
  250. #define CCHMAX_FOLDER_NAME ( 256 )
  251. #define WM_FOLDERNOTIFY (WM_USER + 1600) // IStoreNamespace Notification - lparam=LPFOLDERNOTIFYEX, client must call CoTaskMemFree(lParam)
  252. #define WM_NEWMSGS (WM_USER + 1650) // IStoreFolder Notification: wParam=MESSAGEID, lParam=Reserved
  253. #define WM_DELETEMSGS (WM_USER + 1651) // IStoreFolder Notification: wParam=prgdwMsgId, lParam=cMsgs
  254. #define WM_DELETEFOLDER (WM_USER + 1652) // IStoreFolder Notification: wParam=STOREFOLDERID or HFOLDER
  255. #define WM_MARKEDASREAD (WM_USER + 1653) // IStoreFolder Notification: wParamprgdwMsgId, lParam=cMsgs
  256. #define WM_MARKEDASUNREAD (WM_USER + 1654) // IStoreFolder Notification: wParamprgdwMsgId, lParam=cMsgs
  257. typedef
  258. enum tagFOLDERNOTIFYTYPE
  259. { NEW_FOLDER = 1,
  260. DELETE_FOLDER = NEW_FOLDER + 1,
  261. RENAME_FOLDER = DELETE_FOLDER + 1,
  262. MOVE_FOLDER = RENAME_FOLDER + 1,
  263. UNREAD_CHANGE = MOVE_FOLDER + 1,
  264. IMAPFLAG_CHANGE = UNREAD_CHANGE + 1,
  265. UPDATEFLAG_CHANGE = IMAPFLAG_CHANGE + 1,
  266. FOLDER_PROPS_CHANGED = UPDATEFLAG_CHANGE + 1
  267. } FOLDERNOTIFYTYPE;
  268. typedef struct tagFOLDERNOTIFYEX
  269. {
  270. FOLDERNOTIFYTYPE type;
  271. STOREFOLDERID idFolderOld;
  272. STOREFOLDERID idFolderNew;
  273. } FOLDERNOTIFYEX;
  274. typedef struct tagFOLDERNOTIFYEX *LPFOLDERNOTIFYEX;
  275. typedef struct tagMESSAGEIDLIST
  276. {
  277. DWORD cbSize;
  278. DWORD cMsgs;
  279. LPMESSAGEID prgdwMsgId;
  280. } MESSAGEIDLIST;
  281. typedef struct tagMESSAGEIDLIST *LPMESSAGEIDLIST;
  282. typedef
  283. enum tagSPECIALFOLDER
  284. { FOLDER_NOTSPECIAL = -1,
  285. FOLDER_INBOX = FOLDER_NOTSPECIAL + 1,
  286. FOLDER_OUTBOX = FOLDER_INBOX + 1,
  287. FOLDER_SENT = FOLDER_OUTBOX + 1,
  288. FOLDER_DELETED = FOLDER_SENT + 1,
  289. FOLDER_DRAFT = FOLDER_DELETED + 1,
  290. FOLDER_MAX = FOLDER_DRAFT + 1
  291. } SPECIALFOLDER;
  292. typedef struct tagFOLDERPROPS
  293. {
  294. DWORD cbSize;
  295. STOREFOLDERID dwFolderId;
  296. INT cSubFolders;
  297. SPECIALFOLDER sfType;
  298. DWORD cUnread;
  299. DWORD cMessage;
  300. CHAR szName[ 256 ];
  301. } FOLDERPROPS;
  302. typedef struct tagFOLDERPROPS *LPFOLDERPROPS;
  303. // CLocalStore::CopyMoveMessages flags - dwFlags == 0 is copy
  304. #define CMF_MOVE 0x0001 // msgs deleted from src fldr after copy
  305. #define CMF_DELETE 0x0002 // same as CMF_MOVE but uses delete string for status
  306. EXTERN_C const IID IID_IStoreNamespace;
  307. #if defined(__cplusplus) && !defined(CINTERFACE)
  308. MIDL_INTERFACE("E70C92AA-4BFD-11d1-8A95-00C04FB951F3")
  309. IStoreNamespace : public IUnknown
  310. {
  311. public:
  312. virtual HRESULT STDMETHODCALLTYPE Initialize(
  313. /* [in] */ HWND hwndOwner,
  314. /* [in] */ DWORD dwReserved) = 0;
  315. virtual HRESULT STDMETHODCALLTYPE GetDirectory(
  316. /* [size_is][out][in] */ LPSTR pszPath,
  317. /* [in] */ DWORD cchMaxPath) = 0;
  318. virtual HRESULT STDMETHODCALLTYPE OpenSpecialFolder(
  319. /* [in] */ SPECIALFOLDER sfType,
  320. /* [in] */ DWORD dwReserved,
  321. /* [out] */ IStoreFolder **ppFolder) = 0;
  322. virtual HRESULT STDMETHODCALLTYPE OpenFolder(
  323. /* [in] */ STOREFOLDERID dwFolderId,
  324. /* [in] */ DWORD dwReserved,
  325. /* [out] */ IStoreFolder **ppFolder) = 0;
  326. virtual HRESULT STDMETHODCALLTYPE CreateFolder(
  327. /* [in] */ STOREFOLDERID dwParentId,
  328. /* [in] */ LPCSTR pszName,
  329. /* [in] */ DWORD dwReserved,
  330. /* [out] */ LPSTOREFOLDERID pdwFolderId) = 0;
  331. virtual HRESULT STDMETHODCALLTYPE RenameFolder(
  332. /* [in] */ STOREFOLDERID dwFolderId,
  333. /* [in] */ DWORD dwReserved,
  334. /* [in] */ LPCSTR pszNewName) = 0;
  335. virtual HRESULT STDMETHODCALLTYPE MoveFolder(
  336. /* [in] */ STOREFOLDERID dwFolderId,
  337. /* [in] */ STOREFOLDERID dwParentId,
  338. /* [in] */ DWORD dwReserved) = 0;
  339. virtual HRESULT STDMETHODCALLTYPE DeleteFolder(
  340. /* [in] */ STOREFOLDERID dwFolderId,
  341. /* [in] */ DWORD dwReserved) = 0;
  342. virtual HRESULT STDMETHODCALLTYPE GetFolderProps(
  343. /* [in] */ STOREFOLDERID dwFolderId,
  344. /* [in] */ DWORD dwReserved,
  345. /* [out][in] */ LPFOLDERPROPS pProps) = 0;
  346. virtual HRESULT STDMETHODCALLTYPE CopyMoveMessages(
  347. /* [in] */ IStoreFolder *pSource,
  348. /* [in] */ IStoreFolder *pDest,
  349. /* [in] */ LPMESSAGEIDLIST pMsgIdList,
  350. /* [in] */ DWORD dwFlags,
  351. /* [in] */ DWORD dwFlagsRemove,
  352. /* [in] */ IProgressNotify *pProgress) = 0;
  353. virtual HRESULT STDMETHODCALLTYPE RegisterNotification(
  354. /* [in] */ DWORD dwReserved,
  355. /* [in] */ HWND hwnd) = 0;
  356. virtual HRESULT STDMETHODCALLTYPE UnregisterNotification(
  357. /* [in] */ DWORD dwReserved,
  358. /* [in] */ HWND hwnd) = 0;
  359. virtual HRESULT STDMETHODCALLTYPE CompactAll(
  360. /* [in] */ DWORD dwReserved) = 0;
  361. virtual HRESULT STDMETHODCALLTYPE GetFirstSubFolder(
  362. /* [in] */ STOREFOLDERID dwFolderId,
  363. /* [out][in] */ LPFOLDERPROPS pProps,
  364. /* [out] */ LPHENUMSTORE phEnum) = 0;
  365. virtual HRESULT STDMETHODCALLTYPE GetNextSubFolder(
  366. /* [in] */ HENUMSTORE hEnum,
  367. /* [out][in] */ LPFOLDERPROPS pProps) = 0;
  368. virtual HRESULT STDMETHODCALLTYPE GetSubFolderClose(
  369. /* [in] */ HENUMSTORE hEnum) = 0;
  370. };
  371. #else /* C style interface */
  372. typedef struct IStoreNamespaceVtbl
  373. {
  374. BEGIN_INTERFACE
  375. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  376. IStoreNamespace * This,
  377. /* [in] */ REFIID riid,
  378. /* [iid_is][out] */ void **ppvObject);
  379. ULONG ( STDMETHODCALLTYPE *AddRef )(
  380. IStoreNamespace * This);
  381. ULONG ( STDMETHODCALLTYPE *Release )(
  382. IStoreNamespace * This);
  383. HRESULT ( STDMETHODCALLTYPE *Initialize )(
  384. IStoreNamespace * This,
  385. /* [in] */ HWND hwndOwner,
  386. /* [in] */ DWORD dwReserved);
  387. HRESULT ( STDMETHODCALLTYPE *GetDirectory )(
  388. IStoreNamespace * This,
  389. /* [size_is][out][in] */ LPSTR pszPath,
  390. /* [in] */ DWORD cchMaxPath);
  391. HRESULT ( STDMETHODCALLTYPE *OpenSpecialFolder )(
  392. IStoreNamespace * This,
  393. /* [in] */ SPECIALFOLDER sfType,
  394. /* [in] */ DWORD dwReserved,
  395. /* [out] */ IStoreFolder **ppFolder);
  396. HRESULT ( STDMETHODCALLTYPE *OpenFolder )(
  397. IStoreNamespace * This,
  398. /* [in] */ STOREFOLDERID dwFolderId,
  399. /* [in] */ DWORD dwReserved,
  400. /* [out] */ IStoreFolder **ppFolder);
  401. HRESULT ( STDMETHODCALLTYPE *CreateFolder )(
  402. IStoreNamespace * This,
  403. /* [in] */ STOREFOLDERID dwParentId,
  404. /* [in] */ LPCSTR pszName,
  405. /* [in] */ DWORD dwReserved,
  406. /* [out] */ LPSTOREFOLDERID pdwFolderId);
  407. HRESULT ( STDMETHODCALLTYPE *RenameFolder )(
  408. IStoreNamespace * This,
  409. /* [in] */ STOREFOLDERID dwFolderId,
  410. /* [in] */ DWORD dwReserved,
  411. /* [in] */ LPCSTR pszNewName);
  412. HRESULT ( STDMETHODCALLTYPE *MoveFolder )(
  413. IStoreNamespace * This,
  414. /* [in] */ STOREFOLDERID dwFolderId,
  415. /* [in] */ STOREFOLDERID dwParentId,
  416. /* [in] */ DWORD dwReserved);
  417. HRESULT ( STDMETHODCALLTYPE *DeleteFolder )(
  418. IStoreNamespace * This,
  419. /* [in] */ STOREFOLDERID dwFolderId,
  420. /* [in] */ DWORD dwReserved);
  421. HRESULT ( STDMETHODCALLTYPE *GetFolderProps )(
  422. IStoreNamespace * This,
  423. /* [in] */ STOREFOLDERID dwFolderId,
  424. /* [in] */ DWORD dwReserved,
  425. /* [out][in] */ LPFOLDERPROPS pProps);
  426. HRESULT ( STDMETHODCALLTYPE *CopyMoveMessages )(
  427. IStoreNamespace * This,
  428. /* [in] */ IStoreFolder *pSource,
  429. /* [in] */ IStoreFolder *pDest,
  430. /* [in] */ LPMESSAGEIDLIST pMsgIdList,
  431. /* [in] */ DWORD dwFlags,
  432. /* [in] */ DWORD dwFlagsRemove,
  433. /* [in] */ IProgressNotify *pProgress);
  434. HRESULT ( STDMETHODCALLTYPE *RegisterNotification )(
  435. IStoreNamespace * This,
  436. /* [in] */ DWORD dwReserved,
  437. /* [in] */ HWND hwnd);
  438. HRESULT ( STDMETHODCALLTYPE *UnregisterNotification )(
  439. IStoreNamespace * This,
  440. /* [in] */ DWORD dwReserved,
  441. /* [in] */ HWND hwnd);
  442. HRESULT ( STDMETHODCALLTYPE *CompactAll )(
  443. IStoreNamespace * This,
  444. /* [in] */ DWORD dwReserved);
  445. HRESULT ( STDMETHODCALLTYPE *GetFirstSubFolder )(
  446. IStoreNamespace * This,
  447. /* [in] */ STOREFOLDERID dwFolderId,
  448. /* [out][in] */ LPFOLDERPROPS pProps,
  449. /* [out] */ LPHENUMSTORE phEnum);
  450. HRESULT ( STDMETHODCALLTYPE *GetNextSubFolder )(
  451. IStoreNamespace * This,
  452. /* [in] */ HENUMSTORE hEnum,
  453. /* [out][in] */ LPFOLDERPROPS pProps);
  454. HRESULT ( STDMETHODCALLTYPE *GetSubFolderClose )(
  455. IStoreNamespace * This,
  456. /* [in] */ HENUMSTORE hEnum);
  457. END_INTERFACE
  458. } IStoreNamespaceVtbl;
  459. interface IStoreNamespace
  460. {
  461. CONST_VTBL struct IStoreNamespaceVtbl *lpVtbl;
  462. };
  463. #ifdef COBJMACROS
  464. #define IStoreNamespace_QueryInterface(This,riid,ppvObject) \
  465. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  466. #define IStoreNamespace_AddRef(This) \
  467. (This)->lpVtbl -> AddRef(This)
  468. #define IStoreNamespace_Release(This) \
  469. (This)->lpVtbl -> Release(This)
  470. #define IStoreNamespace_Initialize(This,hwndOwner,dwReserved) \
  471. (This)->lpVtbl -> Initialize(This,hwndOwner,dwReserved)
  472. #define IStoreNamespace_GetDirectory(This,pszPath,cchMaxPath) \
  473. (This)->lpVtbl -> GetDirectory(This,pszPath,cchMaxPath)
  474. #define IStoreNamespace_OpenSpecialFolder(This,sfType,dwReserved,ppFolder) \
  475. (This)->lpVtbl -> OpenSpecialFolder(This,sfType,dwReserved,ppFolder)
  476. #define IStoreNamespace_OpenFolder(This,dwFolderId,dwReserved,ppFolder) \
  477. (This)->lpVtbl -> OpenFolder(This,dwFolderId,dwReserved,ppFolder)
  478. #define IStoreNamespace_CreateFolder(This,dwParentId,pszName,dwReserved,pdwFolderId) \
  479. (This)->lpVtbl -> CreateFolder(This,dwParentId,pszName,dwReserved,pdwFolderId)
  480. #define IStoreNamespace_RenameFolder(This,dwFolderId,dwReserved,pszNewName) \
  481. (This)->lpVtbl -> RenameFolder(This,dwFolderId,dwReserved,pszNewName)
  482. #define IStoreNamespace_MoveFolder(This,dwFolderId,dwParentId,dwReserved) \
  483. (This)->lpVtbl -> MoveFolder(This,dwFolderId,dwParentId,dwReserved)
  484. #define IStoreNamespace_DeleteFolder(This,dwFolderId,dwReserved) \
  485. (This)->lpVtbl -> DeleteFolder(This,dwFolderId,dwReserved)
  486. #define IStoreNamespace_GetFolderProps(This,dwFolderId,dwReserved,pProps) \
  487. (This)->lpVtbl -> GetFolderProps(This,dwFolderId,dwReserved,pProps)
  488. #define IStoreNamespace_CopyMoveMessages(This,pSource,pDest,pMsgIdList,dwFlags,dwFlagsRemove,pProgress) \
  489. (This)->lpVtbl -> CopyMoveMessages(This,pSource,pDest,pMsgIdList,dwFlags,dwFlagsRemove,pProgress)
  490. #define IStoreNamespace_RegisterNotification(This,dwReserved,hwnd) \
  491. (This)->lpVtbl -> RegisterNotification(This,dwReserved,hwnd)
  492. #define IStoreNamespace_UnregisterNotification(This,dwReserved,hwnd) \
  493. (This)->lpVtbl -> UnregisterNotification(This,dwReserved,hwnd)
  494. #define IStoreNamespace_CompactAll(This,dwReserved) \
  495. (This)->lpVtbl -> CompactAll(This,dwReserved)
  496. #define IStoreNamespace_GetFirstSubFolder(This,dwFolderId,pProps,phEnum) \
  497. (This)->lpVtbl -> GetFirstSubFolder(This,dwFolderId,pProps,phEnum)
  498. #define IStoreNamespace_GetNextSubFolder(This,hEnum,pProps) \
  499. (This)->lpVtbl -> GetNextSubFolder(This,hEnum,pProps)
  500. #define IStoreNamespace_GetSubFolderClose(This,hEnum) \
  501. (This)->lpVtbl -> GetSubFolderClose(This,hEnum)
  502. #endif /* COBJMACROS */
  503. #endif /* C style interface */
  504. HRESULT STDMETHODCALLTYPE IStoreNamespace_Initialize_Proxy(
  505. IStoreNamespace * This,
  506. /* [in] */ HWND hwndOwner,
  507. /* [in] */ DWORD dwReserved);
  508. void __RPC_STUB IStoreNamespace_Initialize_Stub(
  509. IRpcStubBuffer *This,
  510. IRpcChannelBuffer *_pRpcChannelBuffer,
  511. PRPC_MESSAGE _pRpcMessage,
  512. DWORD *_pdwStubPhase);
  513. HRESULT STDMETHODCALLTYPE IStoreNamespace_GetDirectory_Proxy(
  514. IStoreNamespace * This,
  515. /* [size_is][out][in] */ LPSTR pszPath,
  516. /* [in] */ DWORD cchMaxPath);
  517. void __RPC_STUB IStoreNamespace_GetDirectory_Stub(
  518. IRpcStubBuffer *This,
  519. IRpcChannelBuffer *_pRpcChannelBuffer,
  520. PRPC_MESSAGE _pRpcMessage,
  521. DWORD *_pdwStubPhase);
  522. HRESULT STDMETHODCALLTYPE IStoreNamespace_OpenSpecialFolder_Proxy(
  523. IStoreNamespace * This,
  524. /* [in] */ SPECIALFOLDER sfType,
  525. /* [in] */ DWORD dwReserved,
  526. /* [out] */ IStoreFolder **ppFolder);
  527. void __RPC_STUB IStoreNamespace_OpenSpecialFolder_Stub(
  528. IRpcStubBuffer *This,
  529. IRpcChannelBuffer *_pRpcChannelBuffer,
  530. PRPC_MESSAGE _pRpcMessage,
  531. DWORD *_pdwStubPhase);
  532. HRESULT STDMETHODCALLTYPE IStoreNamespace_OpenFolder_Proxy(
  533. IStoreNamespace * This,
  534. /* [in] */ STOREFOLDERID dwFolderId,
  535. /* [in] */ DWORD dwReserved,
  536. /* [out] */ IStoreFolder **ppFolder);
  537. void __RPC_STUB IStoreNamespace_OpenFolder_Stub(
  538. IRpcStubBuffer *This,
  539. IRpcChannelBuffer *_pRpcChannelBuffer,
  540. PRPC_MESSAGE _pRpcMessage,
  541. DWORD *_pdwStubPhase);
  542. HRESULT STDMETHODCALLTYPE IStoreNamespace_CreateFolder_Proxy(
  543. IStoreNamespace * This,
  544. /* [in] */ STOREFOLDERID dwParentId,
  545. /* [in] */ LPCSTR pszName,
  546. /* [in] */ DWORD dwReserved,
  547. /* [out] */ LPSTOREFOLDERID pdwFolderId);
  548. void __RPC_STUB IStoreNamespace_CreateFolder_Stub(
  549. IRpcStubBuffer *This,
  550. IRpcChannelBuffer *_pRpcChannelBuffer,
  551. PRPC_MESSAGE _pRpcMessage,
  552. DWORD *_pdwStubPhase);
  553. HRESULT STDMETHODCALLTYPE IStoreNamespace_RenameFolder_Proxy(
  554. IStoreNamespace * This,
  555. /* [in] */ STOREFOLDERID dwFolderId,
  556. /* [in] */ DWORD dwReserved,
  557. /* [in] */ LPCSTR pszNewName);
  558. void __RPC_STUB IStoreNamespace_RenameFolder_Stub(
  559. IRpcStubBuffer *This,
  560. IRpcChannelBuffer *_pRpcChannelBuffer,
  561. PRPC_MESSAGE _pRpcMessage,
  562. DWORD *_pdwStubPhase);
  563. HRESULT STDMETHODCALLTYPE IStoreNamespace_MoveFolder_Proxy(
  564. IStoreNamespace * This,
  565. /* [in] */ STOREFOLDERID dwFolderId,
  566. /* [in] */ STOREFOLDERID dwParentId,
  567. /* [in] */ DWORD dwReserved);
  568. void __RPC_STUB IStoreNamespace_MoveFolder_Stub(
  569. IRpcStubBuffer *This,
  570. IRpcChannelBuffer *_pRpcChannelBuffer,
  571. PRPC_MESSAGE _pRpcMessage,
  572. DWORD *_pdwStubPhase);
  573. HRESULT STDMETHODCALLTYPE IStoreNamespace_DeleteFolder_Proxy(
  574. IStoreNamespace * This,
  575. /* [in] */ STOREFOLDERID dwFolderId,
  576. /* [in] */ DWORD dwReserved);
  577. void __RPC_STUB IStoreNamespace_DeleteFolder_Stub(
  578. IRpcStubBuffer *This,
  579. IRpcChannelBuffer *_pRpcChannelBuffer,
  580. PRPC_MESSAGE _pRpcMessage,
  581. DWORD *_pdwStubPhase);
  582. HRESULT STDMETHODCALLTYPE IStoreNamespace_GetFolderProps_Proxy(
  583. IStoreNamespace * This,
  584. /* [in] */ STOREFOLDERID dwFolderId,
  585. /* [in] */ DWORD dwReserved,
  586. /* [out][in] */ LPFOLDERPROPS pProps);
  587. void __RPC_STUB IStoreNamespace_GetFolderProps_Stub(
  588. IRpcStubBuffer *This,
  589. IRpcChannelBuffer *_pRpcChannelBuffer,
  590. PRPC_MESSAGE _pRpcMessage,
  591. DWORD *_pdwStubPhase);
  592. HRESULT STDMETHODCALLTYPE IStoreNamespace_CopyMoveMessages_Proxy(
  593. IStoreNamespace * This,
  594. /* [in] */ IStoreFolder *pSource,
  595. /* [in] */ IStoreFolder *pDest,
  596. /* [in] */ LPMESSAGEIDLIST pMsgIdList,
  597. /* [in] */ DWORD dwFlags,
  598. /* [in] */ DWORD dwFlagsRemove,
  599. /* [in] */ IProgressNotify *pProgress);
  600. void __RPC_STUB IStoreNamespace_CopyMoveMessages_Stub(
  601. IRpcStubBuffer *This,
  602. IRpcChannelBuffer *_pRpcChannelBuffer,
  603. PRPC_MESSAGE _pRpcMessage,
  604. DWORD *_pdwStubPhase);
  605. HRESULT STDMETHODCALLTYPE IStoreNamespace_RegisterNotification_Proxy(
  606. IStoreNamespace * This,
  607. /* [in] */ DWORD dwReserved,
  608. /* [in] */ HWND hwnd);
  609. void __RPC_STUB IStoreNamespace_RegisterNotification_Stub(
  610. IRpcStubBuffer *This,
  611. IRpcChannelBuffer *_pRpcChannelBuffer,
  612. PRPC_MESSAGE _pRpcMessage,
  613. DWORD *_pdwStubPhase);
  614. HRESULT STDMETHODCALLTYPE IStoreNamespace_UnregisterNotification_Proxy(
  615. IStoreNamespace * This,
  616. /* [in] */ DWORD dwReserved,
  617. /* [in] */ HWND hwnd);
  618. void __RPC_STUB IStoreNamespace_UnregisterNotification_Stub(
  619. IRpcStubBuffer *This,
  620. IRpcChannelBuffer *_pRpcChannelBuffer,
  621. PRPC_MESSAGE _pRpcMessage,
  622. DWORD *_pdwStubPhase);
  623. HRESULT STDMETHODCALLTYPE IStoreNamespace_CompactAll_Proxy(
  624. IStoreNamespace * This,
  625. /* [in] */ DWORD dwReserved);
  626. void __RPC_STUB IStoreNamespace_CompactAll_Stub(
  627. IRpcStubBuffer *This,
  628. IRpcChannelBuffer *_pRpcChannelBuffer,
  629. PRPC_MESSAGE _pRpcMessage,
  630. DWORD *_pdwStubPhase);
  631. HRESULT STDMETHODCALLTYPE IStoreNamespace_GetFirstSubFolder_Proxy(
  632. IStoreNamespace * This,
  633. /* [in] */ STOREFOLDERID dwFolderId,
  634. /* [out][in] */ LPFOLDERPROPS pProps,
  635. /* [out] */ LPHENUMSTORE phEnum);
  636. void __RPC_STUB IStoreNamespace_GetFirstSubFolder_Stub(
  637. IRpcStubBuffer *This,
  638. IRpcChannelBuffer *_pRpcChannelBuffer,
  639. PRPC_MESSAGE _pRpcMessage,
  640. DWORD *_pdwStubPhase);
  641. HRESULT STDMETHODCALLTYPE IStoreNamespace_GetNextSubFolder_Proxy(
  642. IStoreNamespace * This,
  643. /* [in] */ HENUMSTORE hEnum,
  644. /* [out][in] */ LPFOLDERPROPS pProps);
  645. void __RPC_STUB IStoreNamespace_GetNextSubFolder_Stub(
  646. IRpcStubBuffer *This,
  647. IRpcChannelBuffer *_pRpcChannelBuffer,
  648. PRPC_MESSAGE _pRpcMessage,
  649. DWORD *_pdwStubPhase);
  650. HRESULT STDMETHODCALLTYPE IStoreNamespace_GetSubFolderClose_Proxy(
  651. IStoreNamespace * This,
  652. /* [in] */ HENUMSTORE hEnum);
  653. void __RPC_STUB IStoreNamespace_GetSubFolderClose_Stub(
  654. IRpcStubBuffer *This,
  655. IRpcChannelBuffer *_pRpcChannelBuffer,
  656. PRPC_MESSAGE _pRpcMessage,
  657. DWORD *_pdwStubPhase);
  658. #endif /* __IStoreNamespace_INTERFACE_DEFINED__ */
  659. /* interface __MIDL_itf_msoeapi_0288 */
  660. /* [local] */
  661. #endif
  662. #ifndef __LPSTOREFOLDER_DEFINED
  663. #define __LPSTOREFOLDER_DEFINED
  664. extern RPC_IF_HANDLE __MIDL_itf_msoeapi_0288_v0_0_c_ifspec;
  665. extern RPC_IF_HANDLE __MIDL_itf_msoeapi_0288_v0_0_s_ifspec;
  666. #ifndef __IStoreFolder_INTERFACE_DEFINED__
  667. #define __IStoreFolder_INTERFACE_DEFINED__
  668. /* interface IStoreFolder */
  669. /* [unique][uuid][object] */
  670. typedef IStoreFolder *LPSTOREFOLDER;
  671. #define MSG_DELETED 0x0001 // The message has been deleted, compaction will remove it
  672. #define MSG_UNREAD 0x0002 // The message is marked as un-read
  673. #define MSG_SUBMITTED 0x0004 // For messages waiting to be sent: OUTBOX ONLY
  674. #define MSG_UNSENT 0x0008 // For msgs-in-progress saved to a folder
  675. #define MSG_RECEIVED 0x0010 // For messages that came from a server
  676. #define MSG_NEWSMSG 0x0020 // For news messages
  677. #define MSG_NOSECUI 0x0040 // For messages where the user wants to die
  678. #define MSG_VOICEMAIL 0x0080 // The message has the X-Voicemail header set...
  679. #define MSG_REPLIED 0x0100 // The message has been replied to
  680. #define MSG_FORWARDED 0x0200 // The message has been forwarded to
  681. #define MSG_RCPTSENT 0x0400 // S/MIME Receipt has been sent
  682. #define MSG_FLAGGED 0x0800 // The message is currently flags
  683. #define MSG_LAST 0x0200 // ** Keep this puppy updated!! **
  684. #define MSG_EXTERNAL_FLAGS 0x00fe
  685. #define MSG_FLAGS 0x000f
  686. typedef struct tagMESSAGEPROPS
  687. {
  688. DWORD cbSize;
  689. DWORD dwReserved;
  690. MESSAGEID dwMessageId;
  691. DWORD dwLanguage;
  692. DWORD dwState;
  693. DWORD cbMessage;
  694. IMSGPRIORITY priority;
  695. FILETIME ftReceived;
  696. FILETIME ftSent;
  697. LPSTR pszSubject;
  698. LPSTR pszDisplayTo;
  699. LPSTR pszDisplayFrom;
  700. LPSTR pszNormalSubject;
  701. DWORD dwFlags;
  702. IStream *pStmOffsetTable;
  703. } MESSAGEPROPS;
  704. typedef struct tagMESSAGEPROPS *LPMESSAGEPROPS;
  705. struct HBATCHLOCK__
  706. {
  707. DWORD unused;
  708. } ;
  709. typedef struct HBATCHLOCK__ *HBATCHLOCK;
  710. typedef HBATCHLOCK *LPHBATCHLOCK;
  711. #define MSGPROPS_FAST 0x00000001 // See MESSAGEPROPS structure, improved performance
  712. #define COMMITSTREAM_REVERT 0x00000001 // Don't add this stream/message to the folder
  713. EXTERN_C const IID IID_IStoreFolder;
  714. #if defined(__cplusplus) && !defined(CINTERFACE)
  715. MIDL_INTERFACE("E70C92AC-4BFD-11d1-8A95-00C04FB951F3")
  716. IStoreFolder : public IUnknown
  717. {
  718. public:
  719. virtual HRESULT STDMETHODCALLTYPE GetFolderProps(
  720. /* [in] */ DWORD dwReserved,
  721. /* [out][in] */ LPFOLDERPROPS pProps) = 0;
  722. virtual HRESULT STDMETHODCALLTYPE GetMessageProps(
  723. /* [in] */ MESSAGEID dwMessageId,
  724. /* [in] */ DWORD dwFlags,
  725. /* [out][in] */ LPMESSAGEPROPS pProps) = 0;
  726. virtual HRESULT STDMETHODCALLTYPE FreeMessageProps(
  727. /* [out][in] */ LPMESSAGEPROPS pProps) = 0;
  728. virtual HRESULT STDMETHODCALLTYPE DeleteMessages(
  729. /* [in] */ LPMESSAGEIDLIST pMsgIdList,
  730. /* [in] */ DWORD dwReserved,
  731. /* [in] */ IProgressNotify *pProgress) = 0;
  732. virtual HRESULT STDMETHODCALLTYPE SetLanguage(
  733. /* [in] */ DWORD dwLanguage,
  734. /* [in] */ DWORD dwReserved,
  735. /* [in] */ LPMESSAGEIDLIST pMsgIdList) = 0;
  736. virtual HRESULT STDMETHODCALLTYPE MarkMessagesAsRead(
  737. /* [in] */ BOOL fRead,
  738. /* [in] */ DWORD dwReserved,
  739. /* [in] */ LPMESSAGEIDLIST pMsgIdList) = 0;
  740. virtual HRESULT STDMETHODCALLTYPE SetFlags(
  741. /* [in] */ LPMESSAGEIDLIST pMsgIdList,
  742. /* [in] */ DWORD dwState,
  743. /* [in] */ DWORD dwStatemask,
  744. /* [out] */ LPDWORD prgdwNewFlags) = 0;
  745. virtual HRESULT STDMETHODCALLTYPE OpenMessage(
  746. /* [in] */ MESSAGEID dwMessageId,
  747. /* [in] */ REFIID riid,
  748. /* [iid_is][out] */ LPVOID *ppvObject) = 0;
  749. virtual HRESULT STDMETHODCALLTYPE SaveMessage(
  750. /* [in] */ REFIID riid,
  751. /* [iid_is][in] */ LPVOID pvObject,
  752. /* [in] */ DWORD dwMsgFlags,
  753. /* [out] */ LPMESSAGEID pdwMessageId) = 0;
  754. virtual HRESULT STDMETHODCALLTYPE BatchLock(
  755. /* [in] */ DWORD dwReserved,
  756. /* [out] */ LPHBATCHLOCK phBatchLock) = 0;
  757. virtual HRESULT STDMETHODCALLTYPE BatchFlush(
  758. /* [in] */ DWORD dwReserved,
  759. /* [in] */ HBATCHLOCK hBatchLock) = 0;
  760. virtual HRESULT STDMETHODCALLTYPE BatchUnlock(
  761. /* [in] */ DWORD dwReserved,
  762. /* [in] */ HBATCHLOCK hBatchLock) = 0;
  763. virtual HRESULT STDMETHODCALLTYPE CreateStream(
  764. /* [in] */ HBATCHLOCK hBatchLock,
  765. /* [in] */ DWORD dwReserved,
  766. /* [out] */ IStream **ppStream,
  767. /* [out] */ LPMESSAGEID pdwMessageId) = 0;
  768. virtual HRESULT STDMETHODCALLTYPE CommitStream(
  769. /* [in] */ HBATCHLOCK hBatchLock,
  770. /* [in] */ DWORD dwFlags,
  771. /* [in] */ DWORD dwMsgFlags,
  772. /* [in] */ IStream *pStream,
  773. /* [in] */ MESSAGEID dwMessageId,
  774. /* [in] */ IMimeMessage *pMessage) = 0;
  775. virtual HRESULT STDMETHODCALLTYPE RegisterNotification(
  776. /* [in] */ DWORD dwReserved,
  777. /* [in] */ HWND hwnd) = 0;
  778. virtual HRESULT STDMETHODCALLTYPE UnregisterNotification(
  779. /* [in] */ DWORD dwReserved,
  780. /* [in] */ HWND hwnd) = 0;
  781. virtual HRESULT STDMETHODCALLTYPE Compact(
  782. /* [in] */ DWORD dwReserved) = 0;
  783. virtual HRESULT STDMETHODCALLTYPE GetFirstMessage(
  784. /* [in] */ DWORD dwFlags,
  785. /* [in] */ DWORD dwMsgFlags,
  786. /* [in] */ MESSAGEID dwMsgIdFirst,
  787. /* [out][in] */ LPMESSAGEPROPS pProps,
  788. /* [out] */ LPHENUMSTORE phEnum) = 0;
  789. virtual HRESULT STDMETHODCALLTYPE GetNextMessage(
  790. /* [in] */ HENUMSTORE hEnum,
  791. /* [in] */ DWORD dwFlags,
  792. /* [out][in] */ LPMESSAGEPROPS pProps) = 0;
  793. virtual HRESULT STDMETHODCALLTYPE GetMessageClose(
  794. /* [in] */ HENUMSTORE hEnum) = 0;
  795. };
  796. #else /* C style interface */
  797. typedef struct IStoreFolderVtbl
  798. {
  799. BEGIN_INTERFACE
  800. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  801. IStoreFolder * This,
  802. /* [in] */ REFIID riid,
  803. /* [iid_is][out] */ void **ppvObject);
  804. ULONG ( STDMETHODCALLTYPE *AddRef )(
  805. IStoreFolder * This);
  806. ULONG ( STDMETHODCALLTYPE *Release )(
  807. IStoreFolder * This);
  808. HRESULT ( STDMETHODCALLTYPE *GetFolderProps )(
  809. IStoreFolder * This,
  810. /* [in] */ DWORD dwReserved,
  811. /* [out][in] */ LPFOLDERPROPS pProps);
  812. HRESULT ( STDMETHODCALLTYPE *GetMessageProps )(
  813. IStoreFolder * This,
  814. /* [in] */ MESSAGEID dwMessageId,
  815. /* [in] */ DWORD dwFlags,
  816. /* [out][in] */ LPMESSAGEPROPS pProps);
  817. HRESULT ( STDMETHODCALLTYPE *FreeMessageProps )(
  818. IStoreFolder * This,
  819. /* [out][in] */ LPMESSAGEPROPS pProps);
  820. HRESULT ( STDMETHODCALLTYPE *DeleteMessages )(
  821. IStoreFolder * This,
  822. /* [in] */ LPMESSAGEIDLIST pMsgIdList,
  823. /* [in] */ DWORD dwReserved,
  824. /* [in] */ IProgressNotify *pProgress);
  825. HRESULT ( STDMETHODCALLTYPE *SetLanguage )(
  826. IStoreFolder * This,
  827. /* [in] */ DWORD dwLanguage,
  828. /* [in] */ DWORD dwReserved,
  829. /* [in] */ LPMESSAGEIDLIST pMsgIdList);
  830. HRESULT ( STDMETHODCALLTYPE *MarkMessagesAsRead )(
  831. IStoreFolder * This,
  832. /* [in] */ BOOL fRead,
  833. /* [in] */ DWORD dwReserved,
  834. /* [in] */ LPMESSAGEIDLIST pMsgIdList);
  835. HRESULT ( STDMETHODCALLTYPE *SetFlags )(
  836. IStoreFolder * This,
  837. /* [in] */ LPMESSAGEIDLIST pMsgIdList,
  838. /* [in] */ DWORD dwState,
  839. /* [in] */ DWORD dwStatemask,
  840. /* [out] */ LPDWORD prgdwNewFlags);
  841. HRESULT ( STDMETHODCALLTYPE *OpenMessage )(
  842. IStoreFolder * This,
  843. /* [in] */ MESSAGEID dwMessageId,
  844. /* [in] */ REFIID riid,
  845. /* [iid_is][out] */ LPVOID *ppvObject);
  846. HRESULT ( STDMETHODCALLTYPE *SaveMessage )(
  847. IStoreFolder * This,
  848. /* [in] */ REFIID riid,
  849. /* [iid_is][in] */ LPVOID pvObject,
  850. /* [in] */ DWORD dwMsgFlags,
  851. /* [out] */ LPMESSAGEID pdwMessageId);
  852. HRESULT ( STDMETHODCALLTYPE *BatchLock )(
  853. IStoreFolder * This,
  854. /* [in] */ DWORD dwReserved,
  855. /* [out] */ LPHBATCHLOCK phBatchLock);
  856. HRESULT ( STDMETHODCALLTYPE *BatchFlush )(
  857. IStoreFolder * This,
  858. /* [in] */ DWORD dwReserved,
  859. /* [in] */ HBATCHLOCK hBatchLock);
  860. HRESULT ( STDMETHODCALLTYPE *BatchUnlock )(
  861. IStoreFolder * This,
  862. /* [in] */ DWORD dwReserved,
  863. /* [in] */ HBATCHLOCK hBatchLock);
  864. HRESULT ( STDMETHODCALLTYPE *CreateStream )(
  865. IStoreFolder * This,
  866. /* [in] */ HBATCHLOCK hBatchLock,
  867. /* [in] */ DWORD dwReserved,
  868. /* [out] */ IStream **ppStream,
  869. /* [out] */ LPMESSAGEID pdwMessageId);
  870. HRESULT ( STDMETHODCALLTYPE *CommitStream )(
  871. IStoreFolder * This,
  872. /* [in] */ HBATCHLOCK hBatchLock,
  873. /* [in] */ DWORD dwFlags,
  874. /* [in] */ DWORD dwMsgFlags,
  875. /* [in] */ IStream *pStream,
  876. /* [in] */ MESSAGEID dwMessageId,
  877. /* [in] */ IMimeMessage *pMessage);
  878. HRESULT ( STDMETHODCALLTYPE *RegisterNotification )(
  879. IStoreFolder * This,
  880. /* [in] */ DWORD dwReserved,
  881. /* [in] */ HWND hwnd);
  882. HRESULT ( STDMETHODCALLTYPE *UnregisterNotification )(
  883. IStoreFolder * This,
  884. /* [in] */ DWORD dwReserved,
  885. /* [in] */ HWND hwnd);
  886. HRESULT ( STDMETHODCALLTYPE *Compact )(
  887. IStoreFolder * This,
  888. /* [in] */ DWORD dwReserved);
  889. HRESULT ( STDMETHODCALLTYPE *GetFirstMessage )(
  890. IStoreFolder * This,
  891. /* [in] */ DWORD dwFlags,
  892. /* [in] */ DWORD dwMsgFlags,
  893. /* [in] */ MESSAGEID dwMsgIdFirst,
  894. /* [out][in] */ LPMESSAGEPROPS pProps,
  895. /* [out] */ LPHENUMSTORE phEnum);
  896. HRESULT ( STDMETHODCALLTYPE *GetNextMessage )(
  897. IStoreFolder * This,
  898. /* [in] */ HENUMSTORE hEnum,
  899. /* [in] */ DWORD dwFlags,
  900. /* [out][in] */ LPMESSAGEPROPS pProps);
  901. HRESULT ( STDMETHODCALLTYPE *GetMessageClose )(
  902. IStoreFolder * This,
  903. /* [in] */ HENUMSTORE hEnum);
  904. END_INTERFACE
  905. } IStoreFolderVtbl;
  906. interface IStoreFolder
  907. {
  908. CONST_VTBL struct IStoreFolderVtbl *lpVtbl;
  909. };
  910. #ifdef COBJMACROS
  911. #define IStoreFolder_QueryInterface(This,riid,ppvObject) \
  912. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  913. #define IStoreFolder_AddRef(This) \
  914. (This)->lpVtbl -> AddRef(This)
  915. #define IStoreFolder_Release(This) \
  916. (This)->lpVtbl -> Release(This)
  917. #define IStoreFolder_GetFolderProps(This,dwReserved,pProps) \
  918. (This)->lpVtbl -> GetFolderProps(This,dwReserved,pProps)
  919. #define IStoreFolder_GetMessageProps(This,dwMessageId,dwFlags,pProps) \
  920. (This)->lpVtbl -> GetMessageProps(This,dwMessageId,dwFlags,pProps)
  921. #define IStoreFolder_FreeMessageProps(This,pProps) \
  922. (This)->lpVtbl -> FreeMessageProps(This,pProps)
  923. #define IStoreFolder_DeleteMessages(This,pMsgIdList,dwReserved,pProgress) \
  924. (This)->lpVtbl -> DeleteMessages(This,pMsgIdList,dwReserved,pProgress)
  925. #define IStoreFolder_SetLanguage(This,dwLanguage,dwReserved,pMsgIdList) \
  926. (This)->lpVtbl -> SetLanguage(This,dwLanguage,dwReserved,pMsgIdList)
  927. #define IStoreFolder_MarkMessagesAsRead(This,fRead,dwReserved,pMsgIdList) \
  928. (This)->lpVtbl -> MarkMessagesAsRead(This,fRead,dwReserved,pMsgIdList)
  929. #define IStoreFolder_SetFlags(This,pMsgIdList,dwState,dwStatemask,prgdwNewFlags) \
  930. (This)->lpVtbl -> SetFlags(This,pMsgIdList,dwState,dwStatemask,prgdwNewFlags)
  931. #define IStoreFolder_OpenMessage(This,dwMessageId,riid,ppvObject) \
  932. (This)->lpVtbl -> OpenMessage(This,dwMessageId,riid,ppvObject)
  933. #define IStoreFolder_SaveMessage(This,riid,pvObject,dwMsgFlags,pdwMessageId) \
  934. (This)->lpVtbl -> SaveMessage(This,riid,pvObject,dwMsgFlags,pdwMessageId)
  935. #define IStoreFolder_BatchLock(This,dwReserved,phBatchLock) \
  936. (This)->lpVtbl -> BatchLock(This,dwReserved,phBatchLock)
  937. #define IStoreFolder_BatchFlush(This,dwReserved,hBatchLock) \
  938. (This)->lpVtbl -> BatchFlush(This,dwReserved,hBatchLock)
  939. #define IStoreFolder_BatchUnlock(This,dwReserved,hBatchLock) \
  940. (This)->lpVtbl -> BatchUnlock(This,dwReserved,hBatchLock)
  941. #define IStoreFolder_CreateStream(This,hBatchLock,dwReserved,ppStream,pdwMessageId) \
  942. (This)->lpVtbl -> CreateStream(This,hBatchLock,dwReserved,ppStream,pdwMessageId)
  943. #define IStoreFolder_CommitStream(This,hBatchLock,dwFlags,dwMsgFlags,pStream,dwMessageId,pMessage) \
  944. (This)->lpVtbl -> CommitStream(This,hBatchLock,dwFlags,dwMsgFlags,pStream,dwMessageId,pMessage)
  945. #define IStoreFolder_RegisterNotification(This,dwReserved,hwnd) \
  946. (This)->lpVtbl -> RegisterNotification(This,dwReserved,hwnd)
  947. #define IStoreFolder_UnregisterNotification(This,dwReserved,hwnd) \
  948. (This)->lpVtbl -> UnregisterNotification(This,dwReserved,hwnd)
  949. #define IStoreFolder_Compact(This,dwReserved) \
  950. (This)->lpVtbl -> Compact(This,dwReserved)
  951. #define IStoreFolder_GetFirstMessage(This,dwFlags,dwMsgFlags,dwMsgIdFirst,pProps,phEnum) \
  952. (This)->lpVtbl -> GetFirstMessage(This,dwFlags,dwMsgFlags,dwMsgIdFirst,pProps,phEnum)
  953. #define IStoreFolder_GetNextMessage(This,hEnum,dwFlags,pProps) \
  954. (This)->lpVtbl -> GetNextMessage(This,hEnum,dwFlags,pProps)
  955. #define IStoreFolder_GetMessageClose(This,hEnum) \
  956. (This)->lpVtbl -> GetMessageClose(This,hEnum)
  957. #endif /* COBJMACROS */
  958. #endif /* C style interface */
  959. HRESULT STDMETHODCALLTYPE IStoreFolder_GetFolderProps_Proxy(
  960. IStoreFolder * This,
  961. /* [in] */ DWORD dwReserved,
  962. /* [out][in] */ LPFOLDERPROPS pProps);
  963. void __RPC_STUB IStoreFolder_GetFolderProps_Stub(
  964. IRpcStubBuffer *This,
  965. IRpcChannelBuffer *_pRpcChannelBuffer,
  966. PRPC_MESSAGE _pRpcMessage,
  967. DWORD *_pdwStubPhase);
  968. HRESULT STDMETHODCALLTYPE IStoreFolder_GetMessageProps_Proxy(
  969. IStoreFolder * This,
  970. /* [in] */ MESSAGEID dwMessageId,
  971. /* [in] */ DWORD dwFlags,
  972. /* [out][in] */ LPMESSAGEPROPS pProps);
  973. void __RPC_STUB IStoreFolder_GetMessageProps_Stub(
  974. IRpcStubBuffer *This,
  975. IRpcChannelBuffer *_pRpcChannelBuffer,
  976. PRPC_MESSAGE _pRpcMessage,
  977. DWORD *_pdwStubPhase);
  978. HRESULT STDMETHODCALLTYPE IStoreFolder_FreeMessageProps_Proxy(
  979. IStoreFolder * This,
  980. /* [out][in] */ LPMESSAGEPROPS pProps);
  981. void __RPC_STUB IStoreFolder_FreeMessageProps_Stub(
  982. IRpcStubBuffer *This,
  983. IRpcChannelBuffer *_pRpcChannelBuffer,
  984. PRPC_MESSAGE _pRpcMessage,
  985. DWORD *_pdwStubPhase);
  986. HRESULT STDMETHODCALLTYPE IStoreFolder_DeleteMessages_Proxy(
  987. IStoreFolder * This,
  988. /* [in] */ LPMESSAGEIDLIST pMsgIdList,
  989. /* [in] */ DWORD dwReserved,
  990. /* [in] */ IProgressNotify *pProgress);
  991. void __RPC_STUB IStoreFolder_DeleteMessages_Stub(
  992. IRpcStubBuffer *This,
  993. IRpcChannelBuffer *_pRpcChannelBuffer,
  994. PRPC_MESSAGE _pRpcMessage,
  995. DWORD *_pdwStubPhase);
  996. HRESULT STDMETHODCALLTYPE IStoreFolder_SetLanguage_Proxy(
  997. IStoreFolder * This,
  998. /* [in] */ DWORD dwLanguage,
  999. /* [in] */ DWORD dwReserved,
  1000. /* [in] */ LPMESSAGEIDLIST pMsgIdList);
  1001. void __RPC_STUB IStoreFolder_SetLanguage_Stub(
  1002. IRpcStubBuffer *This,
  1003. IRpcChannelBuffer *_pRpcChannelBuffer,
  1004. PRPC_MESSAGE _pRpcMessage,
  1005. DWORD *_pdwStubPhase);
  1006. HRESULT STDMETHODCALLTYPE IStoreFolder_MarkMessagesAsRead_Proxy(
  1007. IStoreFolder * This,
  1008. /* [in] */ BOOL fRead,
  1009. /* [in] */ DWORD dwReserved,
  1010. /* [in] */ LPMESSAGEIDLIST pMsgIdList);
  1011. void __RPC_STUB IStoreFolder_MarkMessagesAsRead_Stub(
  1012. IRpcStubBuffer *This,
  1013. IRpcChannelBuffer *_pRpcChannelBuffer,
  1014. PRPC_MESSAGE _pRpcMessage,
  1015. DWORD *_pdwStubPhase);
  1016. HRESULT STDMETHODCALLTYPE IStoreFolder_SetFlags_Proxy(
  1017. IStoreFolder * This,
  1018. /* [in] */ LPMESSAGEIDLIST pMsgIdList,
  1019. /* [in] */ DWORD dwState,
  1020. /* [in] */ DWORD dwStatemask,
  1021. /* [out] */ LPDWORD prgdwNewFlags);
  1022. void __RPC_STUB IStoreFolder_SetFlags_Stub(
  1023. IRpcStubBuffer *This,
  1024. IRpcChannelBuffer *_pRpcChannelBuffer,
  1025. PRPC_MESSAGE _pRpcMessage,
  1026. DWORD *_pdwStubPhase);
  1027. HRESULT STDMETHODCALLTYPE IStoreFolder_OpenMessage_Proxy(
  1028. IStoreFolder * This,
  1029. /* [in] */ MESSAGEID dwMessageId,
  1030. /* [in] */ REFIID riid,
  1031. /* [iid_is][out] */ LPVOID *ppvObject);
  1032. void __RPC_STUB IStoreFolder_OpenMessage_Stub(
  1033. IRpcStubBuffer *This,
  1034. IRpcChannelBuffer *_pRpcChannelBuffer,
  1035. PRPC_MESSAGE _pRpcMessage,
  1036. DWORD *_pdwStubPhase);
  1037. HRESULT STDMETHODCALLTYPE IStoreFolder_SaveMessage_Proxy(
  1038. IStoreFolder * This,
  1039. /* [in] */ REFIID riid,
  1040. /* [iid_is][in] */ LPVOID pvObject,
  1041. /* [in] */ DWORD dwMsgFlags,
  1042. /* [out] */ LPMESSAGEID pdwMessageId);
  1043. void __RPC_STUB IStoreFolder_SaveMessage_Stub(
  1044. IRpcStubBuffer *This,
  1045. IRpcChannelBuffer *_pRpcChannelBuffer,
  1046. PRPC_MESSAGE _pRpcMessage,
  1047. DWORD *_pdwStubPhase);
  1048. HRESULT STDMETHODCALLTYPE IStoreFolder_BatchLock_Proxy(
  1049. IStoreFolder * This,
  1050. /* [in] */ DWORD dwReserved,
  1051. /* [out] */ LPHBATCHLOCK phBatchLock);
  1052. void __RPC_STUB IStoreFolder_BatchLock_Stub(
  1053. IRpcStubBuffer *This,
  1054. IRpcChannelBuffer *_pRpcChannelBuffer,
  1055. PRPC_MESSAGE _pRpcMessage,
  1056. DWORD *_pdwStubPhase);
  1057. HRESULT STDMETHODCALLTYPE IStoreFolder_BatchFlush_Proxy(
  1058. IStoreFolder * This,
  1059. /* [in] */ DWORD dwReserved,
  1060. /* [in] */ HBATCHLOCK hBatchLock);
  1061. void __RPC_STUB IStoreFolder_BatchFlush_Stub(
  1062. IRpcStubBuffer *This,
  1063. IRpcChannelBuffer *_pRpcChannelBuffer,
  1064. PRPC_MESSAGE _pRpcMessage,
  1065. DWORD *_pdwStubPhase);
  1066. HRESULT STDMETHODCALLTYPE IStoreFolder_BatchUnlock_Proxy(
  1067. IStoreFolder * This,
  1068. /* [in] */ DWORD dwReserved,
  1069. /* [in] */ HBATCHLOCK hBatchLock);
  1070. void __RPC_STUB IStoreFolder_BatchUnlock_Stub(
  1071. IRpcStubBuffer *This,
  1072. IRpcChannelBuffer *_pRpcChannelBuffer,
  1073. PRPC_MESSAGE _pRpcMessage,
  1074. DWORD *_pdwStubPhase);
  1075. HRESULT STDMETHODCALLTYPE IStoreFolder_CreateStream_Proxy(
  1076. IStoreFolder * This,
  1077. /* [in] */ HBATCHLOCK hBatchLock,
  1078. /* [in] */ DWORD dwReserved,
  1079. /* [out] */ IStream **ppStream,
  1080. /* [out] */ LPMESSAGEID pdwMessageId);
  1081. void __RPC_STUB IStoreFolder_CreateStream_Stub(
  1082. IRpcStubBuffer *This,
  1083. IRpcChannelBuffer *_pRpcChannelBuffer,
  1084. PRPC_MESSAGE _pRpcMessage,
  1085. DWORD *_pdwStubPhase);
  1086. HRESULT STDMETHODCALLTYPE IStoreFolder_CommitStream_Proxy(
  1087. IStoreFolder * This,
  1088. /* [in] */ HBATCHLOCK hBatchLock,
  1089. /* [in] */ DWORD dwFlags,
  1090. /* [in] */ DWORD dwMsgFlags,
  1091. /* [in] */ IStream *pStream,
  1092. /* [in] */ MESSAGEID dwMessageId,
  1093. /* [in] */ IMimeMessage *pMessage);
  1094. void __RPC_STUB IStoreFolder_CommitStream_Stub(
  1095. IRpcStubBuffer *This,
  1096. IRpcChannelBuffer *_pRpcChannelBuffer,
  1097. PRPC_MESSAGE _pRpcMessage,
  1098. DWORD *_pdwStubPhase);
  1099. HRESULT STDMETHODCALLTYPE IStoreFolder_RegisterNotification_Proxy(
  1100. IStoreFolder * This,
  1101. /* [in] */ DWORD dwReserved,
  1102. /* [in] */ HWND hwnd);
  1103. void __RPC_STUB IStoreFolder_RegisterNotification_Stub(
  1104. IRpcStubBuffer *This,
  1105. IRpcChannelBuffer *_pRpcChannelBuffer,
  1106. PRPC_MESSAGE _pRpcMessage,
  1107. DWORD *_pdwStubPhase);
  1108. HRESULT STDMETHODCALLTYPE IStoreFolder_UnregisterNotification_Proxy(
  1109. IStoreFolder * This,
  1110. /* [in] */ DWORD dwReserved,
  1111. /* [in] */ HWND hwnd);
  1112. void __RPC_STUB IStoreFolder_UnregisterNotification_Stub(
  1113. IRpcStubBuffer *This,
  1114. IRpcChannelBuffer *_pRpcChannelBuffer,
  1115. PRPC_MESSAGE _pRpcMessage,
  1116. DWORD *_pdwStubPhase);
  1117. HRESULT STDMETHODCALLTYPE IStoreFolder_Compact_Proxy(
  1118. IStoreFolder * This,
  1119. /* [in] */ DWORD dwReserved);
  1120. void __RPC_STUB IStoreFolder_Compact_Stub(
  1121. IRpcStubBuffer *This,
  1122. IRpcChannelBuffer *_pRpcChannelBuffer,
  1123. PRPC_MESSAGE _pRpcMessage,
  1124. DWORD *_pdwStubPhase);
  1125. HRESULT STDMETHODCALLTYPE IStoreFolder_GetFirstMessage_Proxy(
  1126. IStoreFolder * This,
  1127. /* [in] */ DWORD dwFlags,
  1128. /* [in] */ DWORD dwMsgFlags,
  1129. /* [in] */ MESSAGEID dwMsgIdFirst,
  1130. /* [out][in] */ LPMESSAGEPROPS pProps,
  1131. /* [out] */ LPHENUMSTORE phEnum);
  1132. void __RPC_STUB IStoreFolder_GetFirstMessage_Stub(
  1133. IRpcStubBuffer *This,
  1134. IRpcChannelBuffer *_pRpcChannelBuffer,
  1135. PRPC_MESSAGE _pRpcMessage,
  1136. DWORD *_pdwStubPhase);
  1137. HRESULT STDMETHODCALLTYPE IStoreFolder_GetNextMessage_Proxy(
  1138. IStoreFolder * This,
  1139. /* [in] */ HENUMSTORE hEnum,
  1140. /* [in] */ DWORD dwFlags,
  1141. /* [out][in] */ LPMESSAGEPROPS pProps);
  1142. void __RPC_STUB IStoreFolder_GetNextMessage_Stub(
  1143. IRpcStubBuffer *This,
  1144. IRpcChannelBuffer *_pRpcChannelBuffer,
  1145. PRPC_MESSAGE _pRpcMessage,
  1146. DWORD *_pdwStubPhase);
  1147. HRESULT STDMETHODCALLTYPE IStoreFolder_GetMessageClose_Proxy(
  1148. IStoreFolder * This,
  1149. /* [in] */ HENUMSTORE hEnum);
  1150. void __RPC_STUB IStoreFolder_GetMessageClose_Stub(
  1151. IRpcStubBuffer *This,
  1152. IRpcChannelBuffer *_pRpcChannelBuffer,
  1153. PRPC_MESSAGE _pRpcMessage,
  1154. DWORD *_pdwStubPhase);
  1155. #endif /* __IStoreFolder_INTERFACE_DEFINED__ */
  1156. /* interface __MIDL_itf_msoeapi_0289 */
  1157. /* [local] */
  1158. #endif
  1159. #endif // OE5_BETA2
  1160. //+-------------------------------------------------------------------------
  1161. // Outlook Express Exported C API Functions
  1162. //--------------------------------------------------------------------------
  1163. #ifdef __cplusplus
  1164. extern "C" {
  1165. #endif
  1166. //+-------------------------------------------------------------------------
  1167. // API Name Decoration
  1168. //--------------------------------------------------------------------------
  1169. #if !defined(_MSOEAPI_)
  1170. #define MSOEAPI DECLSPEC_IMPORT HRESULT WINAPI
  1171. #define MSOEAPI_(_type_) DECLSPEC_IMPORT _type_ WINAPI
  1172. #else
  1173. #define MSOEAPI HRESULT WINAPI
  1174. #define MSOEAPI_(_type_) _type_ WINAPI
  1175. #endif
  1176. //+-------------------------------------------------------------------------
  1177. // Prototypes
  1178. //--------------------------------------------------------------------------
  1179. MSOEAPI CoStartOutlookExpress(
  1180. /* IN */ DWORD dwFlags,
  1181. /* IN */ LPCSTR pszCmdLine,
  1182. /* IN */ INT nCmdShow);
  1183. MSOEAPI CoCreateOutlookExpress(
  1184. /* IN */ IUnknown *pUnkOuter,
  1185. /* OUT */ IUnknown **ppUnknown);
  1186. #ifdef __cplusplus
  1187. }
  1188. #endif
  1189. extern RPC_IF_HANDLE __MIDL_itf_msoeapi_0289_v0_0_c_ifspec;
  1190. extern RPC_IF_HANDLE __MIDL_itf_msoeapi_0289_v0_0_s_ifspec;
  1191. /* Additional Prototypes for ALL interfaces */
  1192. unsigned long __RPC_USER HWND_UserSize( unsigned long *, unsigned long , HWND * );
  1193. unsigned char * __RPC_USER HWND_UserMarshal( unsigned long *, unsigned char *, HWND * );
  1194. unsigned char * __RPC_USER HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * );
  1195. void __RPC_USER HWND_UserFree( unsigned long *, HWND * );
  1196. /* end of Additional Prototypes */
  1197. #ifdef __cplusplus
  1198. }
  1199. #endif
  1200. #endif