MAPIHook.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:3k
- /*
- * M A P I H O O K . H
- *
- * Defines the SpoolerMsgHook provider interface.
- *
- * Copyright 1986-1999 Microsoft Corporation. All Rights Reserved.
- */
- #ifndef MAPIHOOK_H
- #define MAPIHOOK_H
- #ifndef MAPIDEFS_H
- #include <mapidefs.h>
- #include <mapicode.h>
- #include <mapiguid.h>
- #include <mapitags.h>
- #endif
- #ifndef BEGIN_INTERFACE
- #define BEGIN_INTERFACE
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif
- /* ISpoolerHook Interface ------------------------------------------------ */
- /* MsgHooks */
- #define HOOK_DELETE ((ULONG) 0x00000001)
- #define HOOK_CANCEL ((ULONG) 0x00000002)
- #define MAPI_ISPOOLERHOOK_METHODS(IPURE)
- MAPIMETHOD(InboundMsgHook)
- (THIS_ LPMESSAGE lpMessage,
- LPMAPIFOLDER lpFolder,
- LPMDB lpMDB,
- ULONG FAR * lpulFlags,
- ULONG FAR * lpcbEntryID,
- LPBYTE FAR * lppEntryID) IPURE;
- MAPIMETHOD(OutboundMsgHook)
- (THIS_ LPMESSAGE lpMessage,
- LPMAPIFOLDER lpFolder,
- LPMDB lpMDB,
- ULONG FAR * lpulFlags,
- ULONG FAR * lpcbEntryID,
- LPBYTE FAR * lppEntryID) IPURE;
-
- #undef INTERFACE
- #define INTERFACE ISpoolerHook
- DECLARE_MAPI_INTERFACE_(ISpoolerHook, IUnknown)
- {
- BEGIN_INTERFACE
- MAPI_IUNKNOWN_METHODS(PURE)
- MAPI_ISPOOLERHOOK_METHODS(PURE)
- };
- DECLARE_MAPI_INTERFACE_PTR(ISpoolerHook, LPSPOOLERHOOK);
- /* Hook Provider Entry Point */
- #define HOOK_INBOUND ((ULONG) 0x00000200)
- #define HOOK_OUTBOUND ((ULONG) 0x00000400)
- typedef HRESULT (STDMAPIINITCALLTYPE HPPROVIDERINIT)(
- LPMAPISESSION lpSession,
- HINSTANCE hInstance,
- LPALLOCATEBUFFER lpAllocateBuffer,
- LPALLOCATEMORE lpAllocateMore,
- LPFREEBUFFER lpFreeBuffer,
- LPMAPIUID lpSectionUID,
- ULONG ulFlags,
- LPSPOOLERHOOK FAR * lppSpoolerHook
- );
- HPPROVIDERINIT HPProviderInit;
- #ifdef __cplusplus
- } /* extern "C" */
- #endif /* __cplusplus */
- #endif /* MAPIHOOK_H */