/*
- X P O P T I O N . H
-
* Purpose:
* Defines a wrapped implementation of an IMAPIProp interface
* to be used by ScOptionDataCallBack() to wrap the IMAPIProp passed
* in. This object is wrapped so we can effect the behavior of the
* OpenProperty() call. Specifically, we wish to put up a Property
* Sheet when the user tries to open the PR_DETAILS_TABLE property.
*
* Copyright 1992-1995 Microsoft Corporation. All Rights Reserved.
*/
/*
* Wrapped IMAPIProp Interface declaration.
*/
#undef INTERFACE
#define INTERFACE struct _WMPROP
#undef MAPIMETHOD_
#define MAPIMETHOD_(type, method) MAPIMETHOD_DECLARE(type, method, WMPROP_)
MAPI_IUNKNOWN_METHODS(IMPL)
MAPI_IMAPIPROP_METHODS(IMPL)
#undef MAPIMETHOD_
#define MAPIMETHOD_(type, method) MAPIMETHOD_TYPEDEF(type, method, WMPROP_)
MAPI_IUNKNOWN_METHODS(IMPL)
MAPI_IMAPIPROP_METHODS(IMPL)
#undef MAPIMETHOD_
#define MAPIMETHOD_(type, method) STDMETHOD_(type, method)
DECLARE_MAPI_INTERFACE(WMPROP_)
{
MAPI_IUNKNOWN_METHODS(IMPL)
MAPI_IMAPIPROP_METHODS(IMPL)
};
typedef struct _WMPROP
{
WMPROP_Vtbl * lpVtbl;
/* Need to be the same as other objects */
LONG lcInit;
/* MAPI memory routines */
LPALLOCATEBUFFER lpAllocBuff;
LPALLOCATEMORE lpAllocMore;
LPFREEBUFFER lpFreeBuff;
/* Private data */
HINSTANCE hInst;
LPMALLOC lpMalloc;
ULONG ulType;
ULONG cbOptionData;
LPBYTE lpbOptionData;
LPMAPIPROP lpMAPIProp;
} WMPROP, FAR *LPWMPROP;