mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
2.8 KiB
102 lines
2.8 KiB
/***************************************************************************
|
|
|
|
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;
|
|
|