|
|
/***************************************************************************
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;
|