📄 sivfax.h
字号:
// RESOURCE_STRING_LEN is the maximum length of a resource string
#define RESOURCE_STRING_LEN 256
// MAX_PATH_LEN is the maximum length of a fully-qualified path without the filename
#define MAX_PATH_LEN MAX_PATH - 16
// DEVICE_IDLE indicates the virtual fax device is idle
#define DEVICE_IDLE 1
// DEVICE_START indicates the virtual fax device is pending a fax job
#define DEVICE_START 2
// DEVICE_SEND indicates the virtual fax device is sending
#define DEVICE_SEND 3
// DEVICE_RECEIVE indicates the virtual fax device is receiving
#define DEVICE_RECEIVE 4
// DEVICE_ABORTING indicates the virtual fax device is aborting
#define DEVICE_ABORTING 5
// JOB_UNKNOWN indicates the fax job is pending
#define JOB_UNKNOWN 1
// JOB_SEND indicates the fax job is a send
#define JOB_SEND 2
// JOB_RECEIVE indicates the fax job is a receive
#define JOB_RECEIVE 3
#define MAX_LINES 16
#define DEVICE_ID_PREFIX 0x100000
#define DEVICE_NAME_PREFIX L"SIVFax"
#define PROVIDER_IMAGENAME L"%SystemRoot%\\system32\\SIVFax.dll"
#define DEVICE_LINES_REG "SOFTWARE\\Microsoft\\Fax\\Device Providers\\SIVFax\\Devices"
#define DIALOGIC_EVENT 1
typedef struct _DEVICE_INFO
{
CRITICAL_SECTION cs;
int EnableReceive;
DWORD DeviceId;
char ChannelName[12];
int VoxHandle;
int FaxHandle;
char LOCALID[21];
char RemoteId[21];
DWORD Rings;
DWORD Status;
HANDLE ExitEvent;
struct _DEVICE_INFO *pNextDeviceInfo;
struct _JOB_INFO *pJobInfo;
} DEVICE_INFO, *PDEVICE_INFO;
typedef struct _JOB_INFO {
PDEVICE_INFO pDeviceInfo; // pointer to the virtual fax device data associated with the fax job
HANDLE CompletionPortHandle; // specifies a handle to an I/O completion port
ULONG_PTR CompletionKey; // specifies a completion port key value
DWORD JobType; // specifies the fax job type
DWORD Status; // specifies the current status of the fax job
HLINE LineHandle; // specifies a handle to the open line device associated with the fax job
HCALL CallHandle; // specifies a handle to the active call associated with the fax job
LPWSTR FileName; // specifies the full path to the file that contains the data stream for the fax document
LPWSTR CallerName; // specifies the name of the calling device
LPWSTR CallerNumber; // specifies the telephone number of the calling device
LPWSTR ReceiverName; // specifies the name of the receiving device
LPWSTR ReceiverNumber; // specifies the telephone number of the receiving device
DWORD RetryCount; // specifies the number of retries associated with the fax job
BOOL Branding; // specifies whether the fax service provider should generate a brand at the top of the fax transmission
DWORD PageCount; // specifies the number of pages associated with the fax job
DWORD TotoalPages;
LPWSTR CSI; // specifies the identifier of the remote fax device
LPWSTR CallerId; // specifies the identifier of the calling fax device
LPWSTR RoutingInfo; // specifies the routing string associated with the fax job
} JOB_INFO, *PJOB_INFO;
VOID WriteDebugString(LPWSTR lpszFormatString, ... );
char * WStringToString(LPWSTR lpwszStr);
wchar_t * StringToWString(char * lpszStr);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -