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

194 lines
4.2 KiB
C

/***********************************************************************
*
* _ABCONT.H
*
* Header file for code in ABCONT.C
*
* Copyright 1992, 1993 Microsoft Corporation. All Rights Reserved.
*
***********************************************************************/
/* Function prototypes */
/*
* Reuses methods:
* ROOT_QueryInterface
* ROOT_AddRef
* ROOT_GetLastError
* WRAP_GetProps
* WRAP_GetPropList
* WRAP_SetProps
* WRAP_DeleteProps
* WRAP_CopyTo
* WRAP_CopyProps
* WRAP_GetNamesFromIDs
* WRAP_GetIDsFromNames
* ROOT_OpenEntry
* ROOT_SetSearchCriteria
* ROOT_GetSearchCriteria
* ROOT_CreateEntry
* ROOT_CopyEntries
* ROOT_DeleteEntries
*/
#undef INTERFACE
#define INTERFACE struct _ABCNT
#undef MAPIMETHOD_
#define MAPIMETHOD_(type, method) MAPIMETHOD_DECLARE(type, method, ABC_)
MAPI_IUNKNOWN_METHODS(IMPL)
MAPI_IMAPIPROP_METHODS(IMPL)
MAPI_IMAPICONTAINER_METHODS(IMPL)
MAPI_IABCONTAINER_METHODS(IMPL)
#undef MAPIMETHOD_
#define MAPIMETHOD_(type, method) MAPIMETHOD_TYPEDEF(type, method, ABC_)
MAPI_IUNKNOWN_METHODS(IMPL)
MAPI_IMAPIPROP_METHODS(IMPL)
MAPI_IMAPICONTAINER_METHODS(IMPL)
MAPI_IABCONTAINER_METHODS(IMPL)
#undef MAPIMETHOD_
#define MAPIMETHOD_(type, method) STDMETHOD_(type, method)
DECLARE_MAPI_INTERFACE(ABC_)
{
MAPI_IUNKNOWN_METHODS(IMPL)
MAPI_IMAPIPROP_METHODS(IMPL)
MAPI_IMAPICONTAINER_METHODS(IMPL)
MAPI_IABCONTAINER_METHODS(IMPL)
};
typedef struct _ABCNT
{
const ABC_Vtbl FAR * lpVtbl;
FAB_Wrapped;
/* details display table */
LPTABLEDATA lpTDatDetails;
} ABCNT, *LPABCNT;
#define CBABC sizeof(ABCNT)
/*
*
* Declaration of button control on Directory Details
*
*/
#undef INTERFACE
#define INTERFACE struct _ABCBUTT
#undef MAPIMETHOD_
#define MAPIMETHOD_(type,method) MAPIMETHOD_DECLARE(type,method,ABCBUTT_)
MAPI_IUNKNOWN_METHODS(IMPL)
MAPI_IMAPICONTROL_METHODS(IMPL)
#undef MAPIMETHOD_
#define MAPIMETHOD_(type,method) MAPIMETHOD_TYPEDEF(type,method,ABCBUTT_)
MAPI_IUNKNOWN_METHODS(IMPL)
MAPI_IMAPICONTROL_METHODS(IMPL)
#undef MAPIMETHOD_
#define MAPIMETHOD_(type,method) STDMETHOD_(type,method)
DECLARE_MAPI_INTERFACE(ABCBUTT_)
{
MAPI_IUNKNOWN_METHODS(IMPL)
MAPI_IMAPICONTROL_METHODS(IMPL)
};
/*
* Creates a new directory container object (see ABCONT.C)
*/
HRESULT
HrNewFaxDirectory( LPABCONT * lppABC,
ULONG * lpulObjType,
LPABLOGON lpABPLogon,
LPCIID lpInterface,
HINSTANCE hLibrary,
LPALLOCATEBUFFER lpAllocBuff,
LPALLOCATEMORE lpAllocMore,
LPFREEBUFFER lpFreeBuff,
LPMALLOC lpMalloc );
/*
* Button interface for buttons in the address book container UI
*/
typedef struct _ABCBUTT
{
ABCBUTT_Vtbl FAR * lpVtbl;
/*
* Need to be the same as other objects
* since this object reuses methods from
* other objects.
*/
FAB_IUnknown;
/*
* My parent container object
*/
LPABCNT lpABC;
/* Private data */
} ABCBUTT, *LPABCBUTT;
#define CBABCBUTT sizeof(ABCBUTT)
/*
* Declaration of IMAPIContainer object implementation
* Code for this is in ABSEARCH.C
*/
#undef INTERFACE
#define INTERFACE struct _ABSRCH
#undef MAPIMETHOD_
#define MAPIMETHOD_(type, method) MAPIMETHOD_DECLARE(type, method, ABSRCH_)
MAPI_IUNKNOWN_METHODS(IMPL)
MAPI_IMAPIPROP_METHODS(IMPL)
MAPI_IMAPICONTAINER_METHODS(IMPL)
MAPI_IABCONTAINER_METHODS(IMPL)
#undef MAPIMETHOD_
#define MAPIMETHOD_(type, method) MAPIMETHOD_TYPEDEF(type, method, ABSRCH_)
MAPI_IUNKNOWN_METHODS(IMPL)
MAPI_IMAPIPROP_METHODS(IMPL)
MAPI_IMAPICONTAINER_METHODS(IMPL)
MAPI_IABCONTAINER_METHODS(IMPL)
#undef MAPIMETHOD_
#define MAPIMETHOD_(type, method) STDMETHOD_(type, method)
DECLARE_MAPI_INTERFACE(ABSRCH_)
{
MAPI_IUNKNOWN_METHODS(IMPL)
MAPI_IMAPIPROP_METHODS(IMPL)
MAPI_IMAPICONTAINER_METHODS(IMPL)
};
/*
* Structure for the 'this'
*/
typedef struct _ABSRCH
{
const ABSRCH_Vtbl FAR * lpVtbl;
FAB_Wrapped;
/* Private data */
LPSPropValue lpRestrictData;
} ABSRCH, *LPABSRCH;