Leaked source code of windows server 2003
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

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