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.
203 lines
5.7 KiB
203 lines
5.7 KiB
/*++
|
|
|
|
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 <windows.h>
|
|
#include <windowsx.h>
|
|
|
|
#include <shlobj.h>
|
|
#include <shlobjp.h>
|
|
#include <shellapi.h>
|
|
|
|
#include <winspool.h>
|
|
#include <commdlg.h>
|
|
#include "tchar.h"
|
|
|
|
#include <faxutil.h>
|
|
#include <fxsapip.h>
|
|
#include <faxreg.h>
|
|
#include <faxroute.h>
|
|
#include <faxuiconstants.h>
|
|
#include <htmlhelp.h>
|
|
|
|
//
|
|
// 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
|