172 lines
3.7 KiB
C
172 lines
3.7 KiB
C
|
/***********************************************************************
|
||
|
*
|
||
|
* _ABUSER.H
|
||
|
*
|
||
|
* Header file for code in ABUSER.C
|
||
|
*
|
||
|
* Copyright 1992, 1993 Microsoft Corporation. All Rights Reserved.
|
||
|
*
|
||
|
***********************************************************************/
|
||
|
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
/*
|
||
|
* Function prototypes
|
||
|
*
|
||
|
* Reuses methods:
|
||
|
* ROOT_QueryInterface
|
||
|
* ROOT_AddRef
|
||
|
* ROOT_GetLastError
|
||
|
* ROOT_Reserved
|
||
|
*/
|
||
|
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE struct _ABUSER
|
||
|
|
||
|
#undef MAPIMETHOD_
|
||
|
#define MAPIMETHOD_(type, method) MAPIMETHOD_DECLARE(type, method, ABU_)
|
||
|
MAPI_IUNKNOWN_METHODS(IMPL)
|
||
|
MAPI_IMAPIPROP_METHODS(IMPL)
|
||
|
MAPI_IMAILUSER_METHODS(IMPL)
|
||
|
#undef MAPIMETHOD_
|
||
|
#define MAPIMETHOD_(type, method) MAPIMETHOD_TYPEDEF(type, method, ABU_)
|
||
|
MAPI_IUNKNOWN_METHODS(IMPL)
|
||
|
MAPI_IMAPIPROP_METHODS(IMPL)
|
||
|
MAPI_IMAILUSER_METHODS(IMPL)
|
||
|
#undef MAPIMETHOD_
|
||
|
#define MAPIMETHOD_(type, method) STDMETHOD_(type, method)
|
||
|
|
||
|
DECLARE_MAPI_INTERFACE(ABU_)
|
||
|
{
|
||
|
MAPI_IUNKNOWN_METHODS(IMPL)
|
||
|
MAPI_IMAPIPROP_METHODS(IMPL)
|
||
|
MAPI_IMAILUSER_METHODS(IMPL)
|
||
|
};
|
||
|
|
||
|
typedef struct _ABUSER
|
||
|
{
|
||
|
ABU_Vtbl FAR * lpVtbl;
|
||
|
|
||
|
FAB_Wrapped;
|
||
|
|
||
|
/*
|
||
|
* Table used for country codes drop down list
|
||
|
*/
|
||
|
LPTABLEDATA lpTDatDDListBox;
|
||
|
|
||
|
|
||
|
} ABUSER, *LPABUSER;
|
||
|
|
||
|
#define CBABUSER sizeof(ABUSER)
|
||
|
|
||
|
/*
|
||
|
* Creates a new Mail User object (see ABUSER.C)
|
||
|
*/
|
||
|
HRESULT
|
||
|
HrNewFaxUser( LPMAILUSER * lppMAPIPropEntry,
|
||
|
ULONG * lpulObjectType,
|
||
|
ULONG cbEntryID,
|
||
|
LPENTRYID lpEntryID,
|
||
|
LPABLOGON lpABPLogon,
|
||
|
LPCIID lpInterface,
|
||
|
HINSTANCE hLibrary,
|
||
|
LPALLOCATEBUFFER lpAllocBuff,
|
||
|
LPALLOCATEMORE lpAllocMore,
|
||
|
LPFREEBUFFER lpFreeBuff,
|
||
|
LPMALLOC lpMalloc );
|
||
|
|
||
|
HRESULT HrBuildDDLBXCountriesTable(LPABUSER lpABUser);
|
||
|
|
||
|
// country list structure
|
||
|
#define COUNTRY_NAME_SIZE 50
|
||
|
typedef struct tagCOUNTRIESLIST
|
||
|
{
|
||
|
TCHAR szDisplayName[COUNTRY_NAME_SIZE+1];
|
||
|
DWORD dwValue;
|
||
|
} COUNTRIESLIST, *LPCOUNTRIESLIST;
|
||
|
|
||
|
|
||
|
// Entry ID for the DD list box table
|
||
|
typedef struct _options_entryid
|
||
|
{
|
||
|
BYTE abFlags[4];
|
||
|
MAPIUID muid;
|
||
|
ULONG ulVersion;
|
||
|
ULONG ulType;
|
||
|
ULONG ulRowNumber;
|
||
|
} OPTIONS_ENTRYID, *LPOPTIONS_ENTRYID;
|
||
|
|
||
|
#define CBOPTIONS_ENTRYID sizeof(OPTIONS_ENTRYID)
|
||
|
|
||
|
|
||
|
/*
|
||
|
*
|
||
|
* Declaration of a button interface for various button controls
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE struct _ABUBUTT
|
||
|
|
||
|
#undef MAPIMETHOD_
|
||
|
#define MAPIMETHOD_(type,method) MAPIMETHOD_DECLARE(type,method,ABUBUTT_)
|
||
|
MAPI_IUNKNOWN_METHODS(IMPL)
|
||
|
MAPI_IMAPICONTROL_METHODS(IMPL)
|
||
|
|
||
|
#undef MAPIMETHOD_
|
||
|
#define MAPIMETHOD_(type,method) MAPIMETHOD_TYPEDEF(type,method,ABUBUTT_)
|
||
|
MAPI_IUNKNOWN_METHODS(IMPL)
|
||
|
MAPI_IMAPICONTROL_METHODS(IMPL)
|
||
|
|
||
|
#undef MAPIMETHOD_
|
||
|
#define MAPIMETHOD_(type,method) STDMETHOD_(type,method)
|
||
|
|
||
|
DECLARE_MAPI_INTERFACE(ABUBUTT_)
|
||
|
{
|
||
|
MAPI_IUNKNOWN_METHODS(IMPL)
|
||
|
MAPI_IMAPICONTROL_METHODS(IMPL)
|
||
|
};
|
||
|
|
||
|
typedef struct _ABUBUTT
|
||
|
{
|
||
|
ABUBUTT_Vtbl FAR * lpVtbl;
|
||
|
|
||
|
/*
|
||
|
* Need to be the same as other objects
|
||
|
* since this object reuses methods from
|
||
|
* other objects.
|
||
|
*/
|
||
|
|
||
|
FAB_IUnkWithLogon;
|
||
|
|
||
|
/* Private data */
|
||
|
|
||
|
// The property tag associated with this button
|
||
|
ULONG ulPropTag;
|
||
|
|
||
|
|
||
|
} ABUBUTT, *LPABUBUTT;
|
||
|
|
||
|
#define CBABUBUTT sizeof(ABUBUTT)
|
||
|
|
||
|
/*
|
||
|
* Create a button of the type above (ABUSER.C)
|
||
|
*/
|
||
|
HRESULT
|
||
|
HrNewABUserButton( LPMAPICONTROL * lppMAPICont,
|
||
|
LPABLOGON lpABLogon,
|
||
|
HINSTANCE hLibrary,
|
||
|
LPALLOCATEBUFFER lpAllocBuff,
|
||
|
LPALLOCATEMORE lpAllocMore,
|
||
|
LPFREEBUFFER lpFreeBuff,
|
||
|
LPMALLOC lpMalloc,
|
||
|
ULONG ulPropTag);
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
} /* extern "C" */
|
||
|
#endif
|