/*++ Copyright (c) 1999 - 2000 Microsoft Corporation Module Name: faxcfgwz.h Abstract: Fax configuration wizard header file Environment: Fax configuration wizard Revision History: 03/13/00 -taoyuan- Created it. mm/dd/yy -author- description --*/ #ifndef _FAX_CONFIG_WIZARD_H_ #define _FAX_CONFIG_WIZARD_H_ #ifdef __cplusplus extern "C" { #endif #include #include #include #include #include #include #include #include "tchar.h" #include #include #include #include #include #include // // our header files // #include "resource.h" #include "FaxCfgWzExp.h" #define MAX_STRING_LEN MAX_PATH #define MAX_MESSAGE_LEN 512 #define MAX_ARCHIVE_DIR MAX_PATH - 16 #define MAX_DEVICE_NAME MAX_PATH #define DI_Modem 0 enum _ROUT_METHODS { RM_FOLDER=0, RM_PRINT, RM_COUNT // number of routing methods }; extern HINSTANCE g_hModule; // DLL instance handle extern HINSTANCE g_hResource; // Resource DLL instance handle extern HANDLE g_hFaxSvcHandle; // fax handle for send configuration extern LIST_ENTRY g_PageList; // to keep track of the previous page. extern BOOL g_bShowDevicePages; extern BOOL g_bShowUserInfo; extern const LPCTSTR g_RoutingGuids[RM_COUNT]; typedef BOOL (*PINSTNEWDEV)(HWND, LPGUID, PDWORD); #define NEW_DEV_DLL TEXT("hdwwiz.cpl") // used by GetProcAddress should be ANSI #define INSTALL_NEW_DEVICE "InstallNewDevice" typedef struct _PAGE_INFO { LIST_ENTRY ListEntry; INT pageId; } PAGE_INFO, *PPAGE_INFO; typedef struct _DEVICEINFO { DWORD dwDeviceId; // Unique device ID for fax device LPTSTR szDeviceName; // Name of specific device BOOL bSend; // Send enabled FAX_ENUM_DEVICE_RECEIVE_MODE ReceiveMode; // Receive mode BOOL bSelected; // The device is selected for fax operations } DEVICEINFO, *PDEVICEINFO; typedef struct _ROUTINFO { BOOL bEnabled; TCHAR tszCurSel[MAX_PATH]; } ROUTINFO; typedef struct _WIZARDDATA { HFONT hTitleFont; // The title font for the Welcome and Completion pages HWND hWndParent; // the window handle of the caller function BOOL bFinishPressed; // whether the user clicks the finish button DWORD dwDeviceLimit; // maximum number of the fax devices for the current SKU LPTSTR szTsid; // Transmit station Id LPTSTR szCsid; // Caller station Id DWORD dwRingCount; // number of rings allow before answering the call DWORD dwDeviceCount; // number of available devices LPDWORD pdwSendDevOrder; // device order for sending faxes ROUTINFO pRouteInfo[RM_COUNT]; // routing info PDEVICEINFO pDevInfo; // pointer to structure of DEVICEINFO, FAX_PERSONAL_PROFILE userInfo; // user information } WIZARDDATA, *PWIZARDDATA; extern WIZARDDATA g_wizData; // RunDll32 entry point in dll.c void CALLBACK FaxCfgWzrdDllW(HWND hwnd, HINSTANCE hinst, LPWSTR lpszCmdLine, int nCmdShow); // Functions in FaxCfgWz.c BOOL LoadWizardData(); BOOL SaveWizardData(); VOID FreeWizardData(); BOOL LoadWizardFont(); BOOL SetLastPage(INT pageId); BOOL ClearPageList(VOID); BOOL RemoveLastPage(HWND hwnd); // Functions in userinfo.c INT_PTR CALLBACK AddressDetailDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); INT_PTR CALLBACK UserInfoDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); BOOL LoadUserInfo(); BOOL SaveUserInfo(); VOID FreeUserInfo(); // Functions in welcome.c INT_PTR CALLBACK WelcomeDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); // Functions in devlimit.c INT_PTR CALLBACK DevLimitDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); // Functions in onedevlimit.c INT_PTR CALLBACK OneDevLimitDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); // Functions in sendwzrd.c INT_PTR CALLBACK SendDeviceDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); INT_PTR CALLBACK SendTsidDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); // Functions in recvwzrd.c INT_PTR CALLBACK RecvDeviceDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); INT_PTR CALLBACK RecvCsidDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); // Functions in route.c INT_PTR CALLBACK RecvRouteDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); // Functions in complete.c INT_PTR CALLBACK CompleteDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); // Functions in util.c VOID LimitTextFields(HWND hDlg, INT *pLimitInfo); INT DisplayMessageDialog(HWND hwndParent, UINT type, INT titleStrId, INT formatStrId,...); BOOL BrowseForDirectory(HWND hDlg, INT hResource, LPTSTR title); BOOL Connect(VOID); VOID DisConnect(VOID); VOID InstallModem(HWND hWnd); BOOL StartFaxService(LPTSTR pServerName); BOOL IsFaxDeviceInstalled(HWND hWnd, LPBOOL); BOOL IsUserInfoConfigured(); BOOL FaxDeviceEnableRoutingMethod(HANDLE hFaxHandle, DWORD dwDeviceId, LPCTSTR RoutingGuid, LONG Enabled); VOID ListView_SetDeviceImageList(HWND hwndLv, HINSTANCE hinst); BOOL IsSendEnable(); BOOL IsReceiveEnable(); int GetDevIndexByDevId(DWORD dwDeviceId); VOID InitDeviceList(HWND hDlg, DWORD dwListViewResId); #ifdef __cplusplus } #endif #endif