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

📄 jwawinfax.pas

📁 比较全面的win32api开发包
💻 PAS
📖 第 1 页 / 共 5 页
字号:
  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 + -