windows-nt/Source/XPSP1/NT/printscan/fax/provider/t30/headers/awfaxcfg.h
2020-09-26 16:20:57 +08:00

103 lines
2.8 KiB
C

/***************************************************************************
Name : FaxCfg.c
Comment : Fax Configuration Interface (for profile wizard, property sheet
and per-msg options)
Functions :
Created : 02/26/94
Author : BruceK
Contribs : Yoram (1/3/95): added permsg common stuff
Yoram (3/24/95): added profile wizard interface
***************************************************************************/
#define szAWFcfgDLL "awfxcg32.dll" // At Work Fax Configuration DLL name
#define szAWFxAbDLL "awfxab32.dll" // At Work Fax Address Book DLL name
/*
* 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 for a standard Release function
// typedef ULONG (STDMETHODCALLTYPE *LPFNRELEASE)(LPWMPROP);
typedef MAPIMETHOD_(ULONG,LPFNRELEASE) (THIS);
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;
HINSTANCE hInst;
LPMALLOC lpMalloc;
ULONG ulType;
ULONG cbOptionData;
LPBYTE lpbOptionData;
LPMAPIPROP lpMAPIProp;
/*
* Various table used for displaying dialogs
*/
LPTABLEDATA lpDetailsTable;
LPTABLEDATA lpDDLBXTableCoverPages;
/*
* Used for faxcfg-XP communication
*/
LPFNRELEASE lpfnFaxcfgRelease;
HINSTANCE hlibPerMsg;
} WMPROP, FAR *LPWMPROP;
// MAWF configuration property sheet typedef and function pointer
typedef BOOL (*LPFNMAWFSETTINGSDIALOG)(HINSTANCE, HWND, DWORD, WORD);
// the per-msg options entry points
typedef BOOL (*LPFNPERMSGOPTIONS)( LPMAPIPROP,HINSTANCE,LPMALLOC,ULONG,ULONG,LPBYTE,
LPMAPISUP, LPWMPROP FAR *,LPFNRELEASE);
typedef HRESULT (*LPFNGETPROFILEMSGPROPS)(LPMAPISUP, LPMAPIUID, ULONG *, LPSPropValue *);
// the MAPI profile wizard interface between awfxcg32 and awfaxp32
typedef struct WIZINFO
{
LPMAPIPROP lpMapiProp; // object into which we store the properties
HINSTANCE hInst; // The instance of the provider DLL
LPMAPISUP lpMAPISup; // a MAPI support object
} WIZINFO, *LPWIZINFO;