194 lines
4.2 KiB
C
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;
|
||
|
|
||
|
|