📄 jwawinfax.pas
字号:
FAX_JOB_PARAM = FAX_JOB_PARAMW;
{$EXTERNALSYM FAX_JOB_PARAM}
PFAX_JOB_PARAM = PFAX_JOB_PARAMW;
{$EXTERNALSYM PFAX_JOB_PARAM}
TFaxJobParam = TFaxJobParamW;
PFaxJobParam = PFaxJobParamW;
{$ELSE}
FAX_JOB_PARAM = FAX_JOB_PARAMA;
{$EXTERNALSYM FAX_JOB_PARAM}
PFAX_JOB_PARAM = PFAX_JOB_PARAMA;
{$EXTERNALSYM PFAX_JOB_PARAM}
TFaxJobParam = TFaxJobParamA;
PFaxJobParam = PFaxJobParamA;
{$ENDIF}
//
// Event Ids
//
// FEI_NEVENTS is the number of events
//
const
FEI_DIALING = $00000001;
{$EXTERNALSYM FEI_DIALING}
FEI_SENDING = $00000002;
{$EXTERNALSYM FEI_SENDING}
FEI_RECEIVING = $00000003;
{$EXTERNALSYM FEI_RECEIVING}
FEI_COMPLETED = $00000004;
{$EXTERNALSYM FEI_COMPLETED}
FEI_BUSY = $00000005;
{$EXTERNALSYM FEI_BUSY}
FEI_NO_ANSWER = $00000006;
{$EXTERNALSYM FEI_NO_ANSWER}
FEI_BAD_ADDRESS = $00000007;
{$EXTERNALSYM FEI_BAD_ADDRESS}
FEI_NO_DIAL_TONE = $00000008;
{$EXTERNALSYM FEI_NO_DIAL_TONE}
FEI_DISCONNECTED = $00000009;
{$EXTERNALSYM FEI_DISCONNECTED}
FEI_FATAL_ERROR = $0000000a;
{$EXTERNALSYM FEI_FATAL_ERROR}
FEI_NOT_FAX_CALL = $0000000b;
{$EXTERNALSYM FEI_NOT_FAX_CALL}
FEI_CALL_DELAYED = $0000000c;
{$EXTERNALSYM FEI_CALL_DELAYED}
FEI_CALL_BLACKLISTED = $0000000d;
{$EXTERNALSYM FEI_CALL_BLACKLISTED}
FEI_RINGING = $0000000e;
{$EXTERNALSYM FEI_RINGING}
FEI_ABORTING = $0000000f;
{$EXTERNALSYM FEI_ABORTING}
FEI_ROUTING = $00000010;
{$EXTERNALSYM FEI_ROUTING}
FEI_MODEM_POWERED_ON = $00000011;
{$EXTERNALSYM FEI_MODEM_POWERED_ON}
FEI_MODEM_POWERED_OFF = $00000012;
{$EXTERNALSYM FEI_MODEM_POWERED_OFF}
FEI_IDLE = $00000013;
{$EXTERNALSYM FEI_IDLE}
FEI_FAXSVC_ENDED = $00000014;
{$EXTERNALSYM FEI_FAXSVC_ENDED}
FEI_ANSWERED = $00000015;
{$EXTERNALSYM FEI_ANSWERED}
FEI_JOB_QUEUED = $00000016;
{$EXTERNALSYM FEI_JOB_QUEUED}
FEI_DELETED = $00000017;
{$EXTERNALSYM FEI_DELETED}
FEI_INITIALIZING = $00000018;
{$EXTERNALSYM FEI_INITIALIZING}
FEI_LINE_UNAVAILABLE = $00000019;
{$EXTERNALSYM FEI_LINE_UNAVAILABLE}
FEI_HANDLED = $0000001a;
{$EXTERNALSYM FEI_HANDLED}
FEI_FAXSVC_STARTED = $0000001b;
{$EXTERNALSYM FEI_FAXSVC_STARTED}
FEI_NEVENTS = FEI_FAXSVC_STARTED;
{$EXTERNALSYM FEI_NEVENTS}
type
PFAX_EVENTA = ^FAX_EVENTA;
{$EXTERNALSYM PFAX_EVENTA}
_FAX_EVENTA = record
SizeOfStruct: DWORD; // Size of this structure
TimeStamp: FILETIME; // Timestamp for when the event was generated
DeviceId: DWORD; // Permanent line id
EventId: DWORD; // Current event id
JobId: DWORD; // Fax Job Id, 0xffffffff indicates inactive job
end;
{$EXTERNALSYM _FAX_EVENTA}
FAX_EVENTA = _FAX_EVENTA;
{$EXTERNALSYM FAX_EVENTA}
TFaxEventA = FAX_EVENTA;
PFaxEventA = PFAX_EVENTA;
PFAX_EVENTW = ^FAX_EVENTW;
{$EXTERNALSYM PFAX_EVENTW}
_FAX_EVENTW = record
SizeOfStruct: DWORD; // Size of this structure
TimeStamp: FILETIME; // Timestamp for when the event was generated
DeviceId: DWORD; // Permanent line id
EventId: DWORD; // Current event id
JobId: DWORD; // Fax Job Id, 0xffffffff indicates inactive job
end;
{$EXTERNALSYM _FAX_EVENTW}
FAX_EVENTW = _FAX_EVENTW;
{$EXTERNALSYM FAX_EVENTW}
TFaxEventW = FAX_EVENTW;
PFaxEventW = PFAX_EVENTW;
{$IFDEF UNICODE}
FAX_EVENT = FAX_EVENTW;
{$EXTERNALSYM FAX_EVENT}
PFAX_EVENT = PFAX_EVENTW;
{$EXTERNALSYM PFAX_EVENT}
TFaxEvent = TFaxEventW;
PFaxEvent = PFaxEventW;
{$ELSE}
FAX_EVENT = FAX_EVENTA;
{$EXTERNALSYM FAX_EVENT}
PFAX_EVENT = PFAX_EVENTA;
{$EXTERNALSYM PFAX_EVENT}
TFaxEvent = TFaxEventA;
PFaxEvent = PFaxEventA;
{$ENDIF}
PFAX_PRINT_INFOA = ^FAX_PRINT_INFOA;
{$EXTERNALSYM PFAX_PRINT_INFOA}
_FAX_PRINT_INFOA = record
SizeOfStruct: DWORD; // Size of this structure
DocName: LPCSTR; // Document name that appears in the spooler
RecipientName: LPCSTR; // Recipient name
RecipientNumber: LPCSTR; // Recipient fax number (non-canonical number)
SenderName: LPCSTR; // Sender name
SenderCompany: LPCSTR; // Sender company (optional)
SenderDept: LPCSTR; // Sender department
SenderBillingCode: LPCSTR; // Billing code
Reserved: LPCSTR; // Reserved; must be NULL
DrEmailAddress: LPCSTR; // E.Mail address for delivery report
OutputFileName: LPCSTR; // for print to file, resulting file name
end;
{$EXTERNALSYM _FAX_PRINT_INFOA}
FAX_PRINT_INFOA = _FAX_PRINT_INFOA;
{$EXTERNALSYM FAX_PRINT_INFOA}
TFaxPrintInfoA = FAX_PRINT_INFOA;
PFaxPrintInfoA = PFAX_PRINT_INFOA;
PFAX_PRINT_INFOW = ^FAX_PRINT_INFOW;
{$EXTERNALSYM PFAX_PRINT_INFOW}
_FAX_PRINT_INFOW = record
SizeOfStruct: DWORD; // Size of this structure
DocName: LPCWSTR; // Document name that appears in the spooler
RecipientName: LPCWSTR; // Recipient name
RecipientNumber: LPCWSTR; // Recipient fax number (non-canonical number)
SenderName: LPCWSTR; // Sender name
SenderCompany: LPCWSTR; // Sender company (optional)
SenderDept: LPCWSTR; // Sender department
SenderBillingCode: LPCWSTR; // Billing code
Reserved: LPCWSTR; // Reserved; must be NULL
DrEmailAddress: LPCWSTR; // E.Mail address for delivery report
OutputFileName: LPCWSTR; // for print to file, resulting file name
end;
{$EXTERNALSYM _FAX_PRINT_INFOW}
FAX_PRINT_INFOW = _FAX_PRINT_INFOW;
{$EXTERNALSYM FAX_PRINT_INFOW}
TFaxPrintInfoW = FAX_PRINT_INFOW;
PFaxPrintInfoW = PFAX_PRINT_INFOW;
{$IFDEF UNICODE}
FAX_PRINT_INFO = FAX_PRINT_INFOW;
{$EXTERNALSYM FAX_PRINT_INFO}
PFAX_PRINT_INFO = PFAX_PRINT_INFOW;
{$EXTERNALSYM PFAX_PRINT_INFO}
TFaxPrintInfo = TFaxPrintInfoW;
PFaxPrintInfo = PFaxPrintInfoW;
{$ELSE}
FAX_PRINT_INFO = FAX_PRINT_INFOA;
{$EXTERNALSYM FAX_PRINT_INFO}
PFAX_PRINT_INFO = PFAX_PRINT_INFOA;
{$EXTERNALSYM PFAX_PRINT_INFO}
TFaxPrintInfo = TFaxPrintInfoA;
PFaxPrintInfo = PFaxPrintInfoA;
{$ENDIF}
PFAX_CONTEXT_INFOA = ^FAX_CONTEXT_INFOA;
{$EXTERNALSYM PFAX_CONTEXT_INFOA}
_FAX_CONTEXT_INFOA = record
SizeOfStruct: DWORD; // Size of this structure
hDC: HDC; // Device Context
ServerName: array [0..MAX_COMPUTERNAME_LENGTH] of CHAR; // Server name
end;
{$EXTERNALSYM _FAX_CONTEXT_INFOA}
FAX_CONTEXT_INFOA = _FAX_CONTEXT_INFOA;
{$EXTERNALSYM FAX_CONTEXT_INFOA}
TFaxContextInfoA = FAX_CONTEXT_INFOA;
PFaxContextInfoA = PFAX_CONTEXT_INFOA;
PFAX_CONTEXT_INFOW = ^FAX_CONTEXT_INFOW;
{$EXTERNALSYM PFAX_CONTEXT_INFOW}
_FAX_CONTEXT_INFOW = record
SizeOfStruct: DWORD; // Size of this structure
hDC: HDC; // Device Context
ServerName: array [0..MAX_COMPUTERNAME_LENGTH] of WCHAR; // Server name
end;
{$EXTERNALSYM _FAX_CONTEXT_INFOW}
FAX_CONTEXT_INFOW = _FAX_CONTEXT_INFOW;
{$EXTERNALSYM FAX_CONTEXT_INFOW}
TFaxContextInfoW = FAX_CONTEXT_INFOW;
PFaxContextInfoW = PFAX_CONTEXT_INFOW;
{$IFDEF UNICODE}
FAX_CONTEXT_INFO = FAX_CONTEXT_INFOW;
{$EXTERNALSYM FAX_CONTEXT_INFO}
PFAX_CONTEXT_INFO = PFAX_CONTEXT_INFOW;
{$EXTERNALSYM PFAX_CONTEXT_INFO}
TFaxContextInfo = TFaxContextInfoW;
PFaxContextInfo = PFaxContextInfoW;
{$ELSE}
FAX_CONTEXT_INFO = FAX_CONTEXT_INFOA;
{$EXTERNALSYM FAX_CONTEXT_INFO}
PFAX_CONTEXT_INFO = PFAX_CONTEXT_INFOA;
{$EXTERNALSYM PFAX_CONTEXT_INFO}
TFaxContextInfo = TFaxContextInfoA;
PFaxContextInfo = PFaxContextInfoA;
{$ENDIF}
//
// prototypes
//
function FaxConnectFaxServerA(MachineName: LPCSTR; var FaxHandle: HANDLE): BOOL; stdcall;
{$EXTERNALSYM FaxConnectFaxServerA}
function FaxConnectFaxServerW(MachineName: LPCWSTR; var FaxHandle: HANDLE): BOOL; stdcall;
{$EXTERNALSYM FaxConnectFaxServerW}
{$IFDEF UNICODE}
function FaxConnectFaxServer(MachineName: LPCWSTR; var FaxHandle: HANDLE): BOOL; stdcall;
{$EXTERNALSYM FaxConnectFaxServer}
{$ELSE}
function FaxConnectFaxServer(MachineName: LPCSTR; var FaxHandle: HANDLE): BOOL; stdcall;
{$EXTERNALSYM FaxConnectFaxServer}
{$ENDIF}
function FaxClose(FaxHandle: HANDLE): BOOL; stdcall;
{$EXTERNALSYM FaxClose}
type
FAX_ENUM_PORT_OPEN_TYPE = (
PORT_OPEN_FILLER0,
PORT_OPEN_QUERY,
PORT_OPEN_MODIFY);
{$EXTERNALSYM FAX_ENUM_PORT_OPEN_TYPE}
TFaxEnumPortOpenType = FAX_ENUM_PORT_OPEN_TYPE;
function FaxOpenPort(FaxHandle: HANDLE; DeviceId: DWORD; Flags: DWORD; var FaxPortHandle: HANDLE): BOOL; stdcall;
{$EXTERNALSYM FaxOpenPort}
function FaxCompleteJobParamsA(var JobParams: PFAX_JOB_PARAMA; var CoverpageInfo: PFAX_COVERPAGE_INFOA): BOOL; stdcall;
{$EXTERNALSYM FaxCompleteJobParamsA}
function FaxCompleteJobParamsW(var JobParams: PFAX_JOB_PARAMW; var CoverpageInfo: PFAX_COVERPAGE_INFOW): BOOL; stdcall;
{$EXTERNALSYM FaxCompleteJobParamsW}
{$IFDEF UNICODE}
function FaxCompleteJobParams(var JobParams: PFAX_JOB_PARAMW; var CoverpageInfo: PFAX_COVERPAGE_INFOW): BOOL; stdcall;
{$EXTERNALSYM FaxCompleteJobParams}
{$ELSE}
function FaxCompleteJobParams(var JobParams: PFAX_JOB_PARAMA; var CoverpageInfo: PFAX_COVERPAGE_INFOA): BOOL; stdcall;
{$EXTERNALSYM FaxCompleteJobParams}
{$ENDIF}
function FaxSendDocumentA(FaxHandle: HANDLE; FileName: LPCSTR; JobParams: PFAX_JOB_PARAMA; CoverpageInfo: PFAX_COVERPAGE_INFOA; FaxJobId: LPDWORD): BOOL; stdcall;
{$EXTERNALSYM FaxSendDocumentA}
function FaxSendDocumentW(FaxHandle: HANDLE; FileName: LPCWSTR; JobParams: PFAX_JOB_PARAMW; CoverpageInfo: PFAX_COVERPAGE_INFOW; FaxJobId: LPDWORD): BOOL; stdcall;
{$EXTERNALSYM FaxSendDocumentW}
{$IFDEF UNICODE}
function FaxSendDocument(FaxHandle: HANDLE; FileName: LPCWSTR; JobParams: PFAX_JOB_PARAMW; CoverpageInfo: PFAX_COVERPAGE_INFOW; FaxJobId: LPDWORD): BOOL; stdcall;
{$EXTERNALSYM FaxSendDocument}
{$ELSE}
function FaxSendDocument(FaxHandle: HANDLE; FileName: LPCSTR; JobParams: PFAX_JOB_PARAMA; CoverpageInfo: PFAX_COVERPAGE_INFOA; FaxJobId: LPDWORD): BOOL; stdcall;
{$EXTERNALSYM FaxSendDocument}
{$ENDIF}
type
PFAX_RECIPIENT_CALLBACKA = function (FaxHandle: HANDLE; RecipientNumber: DWORD; Context: LPVOID; JobParams: PFAX_JOB_PARAMA; CoverpageInfo: PFAX_COVERPAGE_INFOA): BOOL; stdcall;
{$EXTERNALSYM PFAX_RECIPIENT_CALLBACKA}
TFaxRecipientCallbackA = PFAX_RECIPIENT_CALLBACKA;
PFAX_RECIPIENT_CALLBACKW = function (FaxHandle: HANDLE; RecipientNumber: DWORD; Context: LPVOID; JobParams: PFAX_JOB_PARAMW; CoverpageInfo: PFAX_COVERPAGE_INFOW): BOOL; stdcall;
{$EXTERNALSYM PFAX_RECIPIENT_CALLBACKW}
TFaxRecipientCallbackW = PFAX_RECIPIENT_CALLBACKW;
{$IFDEF UNICODE}
PFAX_RECIPIENT_CALLBACK = PFAX_RECIPIENT_CALLBACKW;
{$EXTERNALSYM PFAX_RECIPIENT_CALLBACK}
TFaxRecipientCallback = TFaxRecipientCallbackW;
{$ELSE}
PFAX_RECIPIENT_CALLBACK = PFAX_RECIPIENT_CALLBACKA;
{$EXTERNALSYM PFAX_RECIPIENT_CALLBACK}
TFaxRecipientCallback = TFaxRecipientCallbackA;
{$ENDIF}
function FaxSendDocumentForBroadcastA(FaxHandle: HANDLE; FileName: LPCSTR; FaxJobId: LPDWORD; FaxRecipientCallback: PFAX_RECIPIENT_CALLBACKA; Context: LPVOID): BOOL; stdcall;
{$EXTERNALSYM FaxSendDocumentForBroadcastA}
function FaxSendDocumentForBroadcastW(FaxHandle: HANDLE; FileName: LPCWSTR; FaxJobId: LPDWORD; FaxRecipientCallback: PFAX_RECIPIENT_CALLBACKW; Context: LPVOID): BOOL; stdcall;
{$EXTERNALSYM FaxSendDocumentForBroadcastW}
{$IFDEF UNICODE}
function FaxSendDocumentForBroadcast(FaxHandle: HANDLE; FileName: LPCWSTR; FaxJobId: LPDWORD; FaxRecipientCallback: PFAX_RECIPIENT_CALLBACKW; Context: LPVOID): BOOL; stdcall;
{$EXTERNALSYM FaxSendDocumentForBroadcast}
{$ELSE}
function FaxSendDocumentForBroadcast(FaxHandle: HANDLE; FileName: LPCSTR; FaxJobId: LPDWORD; FaxRecipientCallback: PFAX_RECIPIENT_CALLBACKA; Context: LPVOID): BOOL; stdcall;
{$EXTERNALSYM FaxSendDocumentForBroadcast}
{$ENDIF}
function FaxEnumJobsA(FaxHandle: HANDLE; var JobEntry: PFAX_JOB_ENTRYA; var JobsReturned: DWORD): BOOL; stdcall;
{$EXTERNALSYM FaxEnumJobsA}
function FaxEnumJobsW(FaxHandle: HANDLE; var JobEntry: PFAX_JOB_ENTRYW; var JobsReturned: DWORD): BOOL; stdcall;
{$EXTERNALSYM FaxEnumJobsW}
{$IFDEF UNICODE}
function FaxEnumJobs(FaxHandle: HANDLE; var JobEntry: PFAX_JOB_ENTRYW; var JobsReturned: DWORD): BOOL; stdcall;
{$EXTERNALSYM FaxEnumJobs}
{$ELSE}
function FaxEnumJobs(FaxHandle: HANDLE; var JobEntry: PFAX_JOB_ENTRYA; var JobsReturned: DWORD): BOOL; stdcall;
{$EXTERNALSYM FaxEnumJobs}
{$ENDIF}
function FaxGetJobA(FaxHandle: HANDLE; JobId: DWORD; var JobEntry: PFAX_JOB_ENTRYA): BOOL; stdcall;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -