windows-nt/Source/XPSP1/NT/printscan/fax/exchange/ab/status.h
2020-09-26 16:20:57 +08:00

66 lines
1.6 KiB
C

#ifdef __cplusplus
extern "C" {
#endif
/*
* Declaration of IMAPIStatus object implementation
*/
#undef INTERFACE
#define INTERFACE struct _ABSTATUS
#undef MAPIMETHOD_
#define MAPIMETHOD_(type, method) MAPIMETHOD_DECLARE(type, method, ABS_)
MAPI_IUNKNOWN_METHODS(IMPL)
MAPI_IMAPIPROP_METHODS(IMPL)
MAPI_IMAPISTATUS_METHODS(IMPL)
#undef MAPIMETHOD_
#define MAPIMETHOD_(type, method) MAPIMETHOD_TYPEDEF(type, method, ABS_)
MAPI_IUNKNOWN_METHODS(IMPL)
MAPI_IMAPIPROP_METHODS(IMPL)
MAPI_IMAPISTATUS_METHODS(IMPL)
#undef MAPIMETHOD_
#define MAPIMETHOD_(type, method) STDMETHOD_(type, method)
DECLARE_MAPI_INTERFACE(ABS_)
{
MAPI_IUNKNOWN_METHODS(IMPL)
MAPI_IMAPIPROP_METHODS(IMPL)
MAPI_IMAPISTATUS_METHODS(IMPL)
};
/*
* The actual definition of the structure behind the 'this' pointer for this object
*/
typedef struct _ABSTATUS
{
const ABS_Vtbl FAR * lpVtbl;
FAB_Wrapped;
} ABSTATUS, *LPABSTATUS;
#define CBABSTATUS sizeof(ABSTATUS)
/*
* Creates a new status object for this provider (see STATUS.C)
*/
HRESULT
HrNewStatusObject(LPMAPISTATUS * lppABS,
ULONG * lpulObjType,
ULONG ulFlags,
LPABLOGON lpABPLogon,
LPCIID lpInterface,
HINSTANCE hLibrary,
LPALLOCATEBUFFER lpAllocBuff,
LPALLOCATEMORE lpAllocMore,
LPFREEBUFFER lpFreeBuff,
LPMALLOC lpMalloc );
#ifdef __cplusplus
} /* extern "C" */
#endif