/*++ Copyright (c) 1997 Microsoft Corporation Module Name: faxvrfy.h Abstract: This module contains the global definitions Author: Steven Kehrli (steveke) 11/15/1997 --*/ #ifndef _FAXVRFY_H #define _FAXVRFY_H #include "ntlog.h" #include // FAXVRFY_NAME is the name of the FaxVrfy application #define FAXVRFY_NAME L"FaxVrfy" // FAXVRFY_HLP is the name of the FaxVrfy help file #define FAXVRFY_HLP L"faxvrfy.hlp" // FAXRCV_DLL is the name of the FaxRcv dll #define FAXRCV_DLL L"faxrcv.dll" // FAXVRFY_LOG is the name of the FaxVrfy log file #define FAXVRFY_LOG L"faxvrfy.log" // FAXVRFY_TXT is the name of the FaxVrfy text file #define FAXVRFY_TXT L"faxvrfy.txt" // FAXVRFY_INI is the name of the FaxVrfy ini #define FAXVRFY_INI L"faxvrfy.ini" // FAXBVT_TIF is the name of the tif file for the BVT test #define FAXBVT_TIF L"faxbvt.tif" // FAXWHQL_TIF is the name of the tif file for the WHQL test #define FAXWHQL_TIF L"faxwhql.tif" // FAXVRFY_CMD_HELP is the help command line parameter #define FAXVRFY_CMD_HELP_1 L"/?" #define FAXVRFY_CMD_HELP_2 L"/h" #define FAXVRFY_CMD_HELP_3 L"-?" #define FAXVRFY_CMD_HELP_4 L"-h" // FAXVRFY_CMD_BVT is the BVT command line parameter #define FAXVRFY_CMD_BVT_1 L"/bvt" #define FAXVRFY_CMD_BVT_2 L"-bvt" // FAXVRFY_CMD_SEND is the send command line parameter #define FAXVRFY_CMD_SEND_1 L"/s" #define FAXVRFY_CMD_SEND_2 L"-s" // FAXVRFY_CMD_RECEIVE is the receive command line parameter #define FAXVRFY_CMD_RECEIVE_1 L"/r" #define FAXVRFY_CMD_RECEIVE_2 L"-r" // FAXVRFY_CMD_GO is the go command line parameter #define FAXVRFY_CMD_GO_1 L"/g" #define FAXVRFY_CMD_GO_2 L"-g" // FAXVRFY_CMD_NO_CHECK is the no check command line parameter #define FAXVRFY_CMD_NO_CHECK_1 L"/x" #define FAXVRFY_CMD_NO_CHECK_2 L"-x" // ENCODE_CHAR_LEN is the text length limit of the encoding character. #define ENCODE_CHAR_LEN 1 // CONTROL_CHAR_LEN is the text length limit of the control characters. #define CONTROL_CHAR_LEN 2 // PHONE_NUM_LEN is the text length limit of phone number edit controls. The length of 17 corresponds to the TSID limit for the fax service (20) minus 3 characters for encoding #define PHONE_NUM_LEN 17 // TX_CONTROL_CHARS are the control characters when sending #define TX_CONTROL_CHARS L"TX" // RX_CONTROL_CHARS are the control characters when receiving #define RX_CONTROL_CHARS L"RX" // FAXSVC_RETRIES is the number of retries #define FAXSVC_RETRIES 2 // FAXSVC_RETRYDELAY is the retry delay #define FAXSVC_RETRYDELAY 3 // FAXBVT_PAGES is the number of pages in the BVT fax #define FAXBVT_PAGES 1 // FAXWHQL_PAGES is the number of pages in the WHQL fax #define FAXWHQL_PAGES 5 // FAXBVT_NUM_FAXES is the number of faxes to send for BVT #define FAXBVT_NUM_FAXES 1 // FAXWHQL_NUM_FAXES is the number of faxes to send for WHQL #define FAXWHQL_NUM_FAXES 2 // UM_FAXVRFY_INITIALIZE is the message to initialize the application window #define UM_FAXVRFY_INITIALIZE (WM_USER + 1) // UM_FAXVRFY_UPDATE is the message to update the test #define UM_FAXVRFY_UPDATE (WM_USER + 2) // UM_FAXVRFY_RESET is the message to reset the test #define UM_FAXVRFY_RESET (WM_USER + 3) // UM_TIMEOUT_ENDED is the message to indicate the timeout ended #define UM_TIMEOUT_ENDED (WM_USER + 4) // UM_FAXSVC_ENDED is the message to indicate the fax service stopped #define UM_FAXSVC_ENDED (WM_USER + 5) // UM_ITERATION_STOPPED is the message to indicate the iteration stopped #define UM_ITERATION_STOPPED (WM_USER + 6) // UM_ITERATION_PASSED is the message to indicate the iteration passed #define UM_ITERATION_PASSED (WM_USER + 7) // UM_ITERATION_FAILED is the message to indicate the iteration failed #define UM_ITERATION_FAILED (WM_USER + 8) // UM_UPDATE_STATUS is a message to update the Status List #define UM_UPDATE_STATUS (WM_USER + 11) HWND g_hWndDlg; // g_hWndDlg is the handle to the Setup Dialog HANDLE g_hLogFile = NULL; // g_hLogFile is the handle to the log file HANDLE g_hTxtFile = INVALID_HANDLE_VALUE; // g_hLogFile is the handle to the text file BOOL g_bBVT = FALSE; // g_bBVT indicates BVT command line parameter BOOL g_bSend = FALSE; // g_bSend indicates send command line parameter BOOL g_bGo = FALSE; // g_bGo indicates go command line parameter BOOL g_bNoCheck = FALSE; // g_bNoCheck indicates no check command line parameter HANDLE g_hStartEvent; // g_hStartEvent is the handle to the Start event HANDLE g_hStopEvent; // g_hStopEvent is the handle to the Stop event HANDLE g_hFaxEvent; // g_hFaxEvent is the handle to the event to indicate the Fax Service stopped HANDLE g_hExitEvent; // g_hExitEvent is the handle to the Exit event HANDLE g_hRasPassedEvent; // g_hRasPassedEvent is the handle to the RAS Passed event HANDLE g_hRasFailedEvent; // g_hRasFailedEvent is the handle to the RAS Failed event HANDLE g_hSendPassedEvent; // g_hSendPassedEvent is the handle to the Send Passed event HANDLE g_hSendFailedEvent; // g_hSendFailedEvent is the handle to the Send Failed event HANDLE g_hFaxSvcHandle; // g_hFaxSvcHandle is the handle to the Fax Service PFAX_PORT_INFO g_pFaxPortsConfig; // g_pFaxPorts is the pointer to the Fax Ports Configuration DWORD g_dwNumPorts; // g_dwNumPorts is the number of Ports DWORD g_dwNumAvailPorts; // g_dwNumAvailPorts is the number of Available Ports PFAX_CONFIGURATION g_pFaxSvcConfig; // g_pFaxConfig is the pointer to the Fax Service Configuration BOOL g_bFaxSndInProgress = FALSE; // g_bFaxSndInProgress indicates if a fax send is in progress DWORD g_dwFaxId = 0; // g_dwFaxId is the fax job id of the fax DWORD g_dwAttempt = 0; // g_dwAttempt is the attempt number of the fax BOOL g_bFaxRcvInProgress = FALSE; // g_bFaxRcvInProgress indicates if a fax receive is in progress HANDLE g_hCompletionPort; // g_hCompletionPort is the handle to the completion port BOOL g_bTestFailed = FALSE; // g_bTestFailed indicates the test failed DWORD g_dwNumPassed = 0; // g_dwNumPassed is the number of passed iterations DWORD g_dwNumFailed = 0; // g_dwNumFailed is the number of failed iterations DWORD g_dwNumTotal = 0; // g_dwNumTotal is the number of total iterations WCHAR g_szSndNumber[PHONE_NUM_LEN + 1]; // g_szSndNumber is the send phone number WCHAR g_szRcvNumber[PHONE_NUM_LEN + 1]; // g_szRcvNumber is the receive phone number WCHAR g_szRasUserName[UNLEN + 1]; // g_szRasUserName is the RAS user name WCHAR g_szRasPassword[PWLEN + 1]; // g_szRasPassword is the RAS password WCHAR g_szRasDomain[DNLEN + 1]; // g_szRasDomain is the RAS domain BOOL g_bNTLogAvailable = FALSE; // g_bNTLogAvailable indicates if NTLog is available BOOL g_bRasAvailable = FALSE; // g_bRasAvailable indicates if RAS is available BOOL g_bRasEnabled = FALSE; // g_bRasEnables indicates if RAS is enabled #define FAXDEVICES_REGKEY L"Software\\Microsoft\\Fax\\Devices" #define MODEM_REGKEY L"\\Modem" #define FIXMODEMCLASS_REGVALUE L"FixModemClass" // FAX_DIALING_INFO is a structure that is the fax dialing info typedef struct _FAX_DIALING_INFO { DWORD dwAttempt; // Attempt number DWORD dwDeviceId; // Device id } FAX_DIALING_INFO, *PFAX_DIALING_INFO; // FAX_RECEIVE_INFO is a structure that is the fax receive info typedef struct _FAX_RECEIVE_INFO { LPWSTR szCopyTiffName; // Attempt number DWORD dwDeviceId; // Device id } FAX_RECEIVE_INFO, *PFAX_RECEIVE_INFO; // NTLOG_DLL is the name of the dll that contains all of the NTLOG API's #define NTLOG_DLL L"ntlog.dll" // NTLOG_API is a structure that points to the NTLOG API's typedef struct _NTLOG_API { HINSTANCE hInstance; // Handle to the instance of the dll PTLCREATELOG ptlCreateLog; // tlCreateLog PTLDESTROYLOG ptlDestroyLog; // tlDestroyLog PTLADDPARTICIPANT ptlAddParticipant; // tlAddParticipant PTLREMOVEPARTICIPANT ptlRemoveParticipant; // tlRemoveParticipant PTLLOG ptlLog; // tlLog } NTLOG_API, *PNTLOG_API; // g_NTLogApi is the global NTLOG_API object NTLOG_API g_NTLogApi; // RASAPI32_DLL is the name of the dll that contains all of the RAS API's #define RASAPI32_DLL L"\\rasapi32.dll" // RAS_API is a structure that points to the RAS API's typedef struct _RAS_API { HINSTANCE hInstance; // Handle to the instance of the dll FARPROC RasDial; // RasDial FARPROC RasGetErrorString; // RasGetErrorString FARPROC RasGetConnectStatus; // RasGetConnectStatus FARPROC RasGetConnectionStatistics; // RasGetConnectionStatistics FARPROC RasHangUp; // RasHangUp } RAS_API, *PRAS_API; // g_RasApi is the global RAS_API object RAS_API g_RasApi; // RAS_INFO is a structure that is the RAS connection info typedef struct _RAS_INFO { DWORD dwBps; // Connection speed LPWSTR szDeviceName; // Device name } RAS_INFO, *PRAS_INFO; #endif