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
|
---|
19 | extern "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
|
---|