⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sivfax.h

📁 Dialogic VFX传真卡编程,程序实现了在Windows Fax服务中注册Dialogic VFX传真的功能
💻 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 + -