source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/mapihook.h@ 1175

Last change on this file since 1175 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 1.5 KB
Line 
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef MAPIHOOK_H
7#define MAPIHOOK_H
8
9#include <mapidefs.h>
10#include <mapicode.h>
11#include <mapiguid.h>
12#include <mapitags.h>
13
14#ifndef BEGIN_INTERFACE
15#define BEGIN_INTERFACE
16#endif
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
22#define HOOK_DELETE ((ULONG) 0x00000001)
23#define HOOK_CANCEL ((ULONG) 0x00000002)
24
25#define MAPI_ISPOOLERHOOK_METHODS(IPURE) MAPIMETHOD(InboundMsgHook) (THIS_ LPMESSAGE lpMessage,LPMAPIFOLDER lpFolder,LPMDB lpMDB,ULONG *lpulFlags,ULONG *lpcbEntryID,LPBYTE *lppEntryID) IPURE; MAPIMETHOD(OutboundMsgHook) (THIS_ LPMESSAGE lpMessage,LPMAPIFOLDER lpFolder,LPMDB lpMDB,ULONG *lpulFlags,ULONG *lpcbEntryID,LPBYTE *lppEntryID) IPURE;
26#undef INTERFACE
27#define INTERFACE ISpoolerHook
28 DECLARE_MAPI_INTERFACE_(ISpoolerHook,IUnknown) {
29 BEGIN_INTERFACE
30 MAPI_IUNKNOWN_METHODS(PURE)
31 MAPI_ISPOOLERHOOK_METHODS(PURE)
32 };
33
34 DECLARE_MAPI_INTERFACE_PTR(ISpoolerHook,LPSPOOLERHOOK);
35
36#define HOOK_INBOUND ((ULONG) 0x00000200)
37#define HOOK_OUTBOUND ((ULONG) 0x00000400)
38
39 typedef HRESULT (__cdecl HPPROVIDERINIT)(LPMAPISESSION lpSession,HINSTANCE hInstance,LPALLOCATEBUFFER lpAllocateBuffer,LPALLOCATEMORE lpAllocateMore,LPFREEBUFFER lpFreeBuffer,LPMAPIUID lpSectionUID,ULONG ulFlags,LPSPOOLERHOOK *lppSpoolerHook);
40
41 HPPROVIDERINIT HPProviderInit;
42
43#ifdef __cplusplus
44}
45#endif
46#endif
Note: See TracBrowser for help on using the repository browser.