mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-03 12:40:38 +02:00
1609 lines
65 KiB
ObjectPascal
1609 lines
65 KiB
ObjectPascal
{******************************************************************************}
|
|
{ }
|
|
{ Windows FAX API interface unit for Object Pascal }
|
|
{ }
|
|
{ Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft }
|
|
{ Corporation. All Rights Reserved. }
|
|
{ }
|
|
{ The original file is: winfax.h, released November 2001. The original Pascal }
|
|
{ code is: WinFax.pas, released April 2002. The initial developer of the }
|
|
{ Pascal code is Marcel van Brakel (brakelm att chello dott nl). }
|
|
{ }
|
|
{ Portions created by Marcel van Brakel are Copyright (C) 1999-2001 }
|
|
{ Marcel van Brakel. All Rights Reserved. }
|
|
{ }
|
|
{ Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI) }
|
|
{ }
|
|
{ You may retrieve the latest version of this file at the Project JEDI }
|
|
{ APILIB home page, located at http://jedi-apilib.sourceforge.net }
|
|
{ }
|
|
{ The contents of this file are used with permission, subject to the Mozilla }
|
|
{ Public License Version 1.1 (the "License"); you may not use this file except }
|
|
{ in compliance with the License. You may obtain a copy of the License at }
|
|
{ http://www.mozilla.org/MPL/MPL-1.1.html }
|
|
{ }
|
|
{ Software distributed under the License is distributed on an "AS IS" basis, }
|
|
{ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
|
|
{ the specific language governing rights and limitations under the License. }
|
|
{ }
|
|
{ Alternatively, the contents of this file may be used under the terms of the }
|
|
{ GNU Lesser General Public License (the "LGPL License"), in which case the }
|
|
{ provisions of the LGPL License are applicable instead of those above. }
|
|
{ If you wish to allow use of your version of this file only under the terms }
|
|
{ of the LGPL License and not to allow others to use your version of this file }
|
|
{ under the MPL, indicate your decision by deleting the provisions above and }
|
|
{ replace them with the notice and other provisions required by the LGPL }
|
|
{ License. If you do not delete the provisions above, a recipient may use }
|
|
{ your version of this file under either the MPL or the LGPL License. }
|
|
{ }
|
|
{ For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
|
|
{ }
|
|
{******************************************************************************}
|
|
|
|
|
|
unit JwaWinFax;
|
|
|
|
{$WEAKPACKAGEUNIT}
|
|
|
|
{$HPPEMIT ''}
|
|
{$HPPEMIT '#include "winfax.h"'}
|
|
{$HPPEMIT ''}
|
|
|
|
{$I jediapilib.inc}
|
|
|
|
interface
|
|
|
|
uses
|
|
JwaWinType, JwaWinError, JwaWinBase, JwaWinNT;
|
|
|
|
//
|
|
// FAX ERROR CODES
|
|
//
|
|
|
|
const
|
|
FAX_ERR_START = 7001; // First fax specific error code
|
|
{$EXTERNALSYM FAX_ERR_START}
|
|
|
|
FAX_ERR_SRV_OUTOFMEMORY = 7001;
|
|
{$EXTERNALSYM FAX_ERR_SRV_OUTOFMEMORY}
|
|
FAX_ERR_GROUP_NOT_FOUND = 7002;
|
|
{$EXTERNALSYM FAX_ERR_GROUP_NOT_FOUND}
|
|
FAX_ERR_BAD_GROUP_CONFIGURATION = 7003;
|
|
{$EXTERNALSYM FAX_ERR_BAD_GROUP_CONFIGURATION}
|
|
FAX_ERR_GROUP_IN_USE = 7004;
|
|
{$EXTERNALSYM FAX_ERR_GROUP_IN_USE}
|
|
FAX_ERR_RULE_NOT_FOUND = 7005;
|
|
{$EXTERNALSYM FAX_ERR_RULE_NOT_FOUND}
|
|
FAX_ERR_NOT_NTFS = 7006;
|
|
{$EXTERNALSYM FAX_ERR_NOT_NTFS}
|
|
FAX_ERR_DIRECTORY_IN_USE = 7007;
|
|
{$EXTERNALSYM FAX_ERR_DIRECTORY_IN_USE}
|
|
FAX_ERR_FILE_ACCESS_DENIED = 7008;
|
|
{$EXTERNALSYM FAX_ERR_FILE_ACCESS_DENIED}
|
|
FAX_ERR_MESSAGE_NOT_FOUND = 7009;
|
|
{$EXTERNALSYM FAX_ERR_MESSAGE_NOT_FOUND}
|
|
FAX_ERR_DEVICE_NUM_LIMIT_EXCEEDED = 7010;
|
|
{$EXTERNALSYM FAX_ERR_DEVICE_NUM_LIMIT_EXCEEDED}
|
|
FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU = 7011;
|
|
{$EXTERNALSYM FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU}
|
|
FAX_ERR_VERSION_MISMATCH = 7012; // Fax client/server versions mismtach
|
|
{$EXTERNALSYM FAX_ERR_VERSION_MISMATCH}
|
|
FAX_ERR_RECIPIENTS_LIMIT = 7013; // Recipients limit in a single broadcast
|
|
{$EXTERNALSYM FAX_ERR_RECIPIENTS_LIMIT}
|
|
|
|
FAX_ERR_END = 7013; // Last fax specific error code
|
|
{$EXTERNALSYM FAX_ERR_END}
|
|
|
|
//
|
|
// MessageId: FAX_E_SRV_OUTOFMEMORY
|
|
//
|
|
// MessageText:
|
|
//
|
|
// The fax server failed to allocate memory.
|
|
//
|
|
|
|
FAX_E_SRV_OUTOFMEMORY = HRESULT((SEVERITY_ERROR shl 31) or (FACILITY_ITF shl 16) or FAX_ERR_SRV_OUTOFMEMORY);
|
|
{$EXTERNALSYM FAX_E_SRV_OUTOFMEMORY}
|
|
|
|
//
|
|
// MessageId: FAX_E_GROUP_NOT_FOUND
|
|
//
|
|
// MessageText:
|
|
//
|
|
// The fax server failed to locate an outbound routing group by name.
|
|
//
|
|
|
|
FAX_E_GROUP_NOT_FOUND = HRESULT((SEVERITY_ERROR shl 31) or (FACILITY_ITF shl 16) or FAX_ERR_GROUP_NOT_FOUND);
|
|
{$EXTERNALSYM FAX_E_GROUP_NOT_FOUND}
|
|
|
|
//
|
|
// MessageId: FAX_E_BAD_GROUP_CONFIGURATION
|
|
//
|
|
// MessageText:
|
|
//
|
|
// The fax server encountered an outbound routing group with bad configuration.
|
|
//
|
|
|
|
FAX_E_BAD_GROUP_CONFIGURATION = HRESULT((SEVERITY_ERROR shl 31) or (FACILITY_ITF shl 16) or FAX_ERR_BAD_GROUP_CONFIGURATION);
|
|
{$EXTERNALSYM FAX_E_BAD_GROUP_CONFIGURATION}
|
|
|
|
//
|
|
// MessageId: FAX_E_GROUP_IN_USE
|
|
//
|
|
// MessageText:
|
|
//
|
|
// The fax server cannot remove an outbound routing group because it is in use by one or more outbound routing rules.
|
|
//
|
|
|
|
FAX_E_GROUP_IN_USE = HRESULT((SEVERITY_ERROR shl 31) or (FACILITY_ITF shl 16) or FAX_ERR_GROUP_IN_USE);
|
|
{$EXTERNALSYM FAX_E_GROUP_IN_USE}
|
|
|
|
//
|
|
// MessageId: FAX_E_RULE_NOT_FOUND
|
|
//
|
|
// MessageText:
|
|
//
|
|
// The fax server failed to locate an outbound routing rule by country code and area code.
|
|
//
|
|
|
|
FAX_E_RULE_NOT_FOUND = HRESULT((SEVERITY_ERROR shl 31) or (FACILITY_ITF shl 16) or FAX_ERR_RULE_NOT_FOUND);
|
|
{$EXTERNALSYM FAX_E_RULE_NOT_FOUND}
|
|
|
|
//
|
|
// MessageId: FAX_E_NOT_NTFS
|
|
//
|
|
// MessageText:
|
|
//
|
|
// The fax server cannot set an archive folder to a non-NTFS partition.
|
|
//
|
|
|
|
FAX_E_NOT_NTFS = HRESULT((SEVERITY_ERROR shl 31) or (FACILITY_ITF shl 16) or FAX_ERR_NOT_NTFS);
|
|
{$EXTERNALSYM FAX_E_NOT_NTFS}
|
|
|
|
//
|
|
// MessageId: FAX_E_DIRECTORY_IN_USE
|
|
//
|
|
// MessageText:
|
|
//
|
|
// The fax server cannot use the same folder for both the inbox and the sent-items archives.
|
|
//
|
|
|
|
FAX_E_DIRECTORY_IN_USE = HRESULT((SEVERITY_ERROR shl 31) or (FACILITY_ITF shl 16) or FAX_ERR_DIRECTORY_IN_USE);
|
|
{$EXTERNALSYM FAX_E_DIRECTORY_IN_USE}
|
|
|
|
//
|
|
// MessageId: FAX_E_FILE_ACCESS_DENIED
|
|
//
|
|
// MessageText:
|
|
//
|
|
// The fax server cannot access the specified file or folder.
|
|
//
|
|
|
|
FAX_E_FILE_ACCESS_DENIED = HRESULT((SEVERITY_ERROR shl 31) or (FACILITY_ITF shl 16) or FAX_ERR_FILE_ACCESS_DENIED);
|
|
{$EXTERNALSYM FAX_E_FILE_ACCESS_DENIED}
|
|
|
|
//
|
|
// MessageId: FAX_E_MESSAGE_NOT_FOUND
|
|
//
|
|
// MessageText:
|
|
//
|
|
// The fax server cannot find the job or message by its ID.
|
|
//
|
|
|
|
FAX_E_MESSAGE_NOT_FOUND = HRESULT((SEVERITY_ERROR shl 31) or (FACILITY_ITF shl 16) or FAX_ERR_MESSAGE_NOT_FOUND);
|
|
{$EXTERNALSYM FAX_E_MESSAGE_NOT_FOUND}
|
|
|
|
//
|
|
// MessageId: FAX_E_DEVICE_NUM_LIMIT_EXCEEDED
|
|
//
|
|
// MessageText:
|
|
//
|
|
// The fax server cannot complete the operation because the number of active fax devices allowed for this version of Windows was exceeded.
|
|
//
|
|
|
|
FAX_E_DEVICE_NUM_LIMIT_EXCEEDED = HRESULT((SEVERITY_ERROR shl 31) or (FACILITY_ITF shl 16) or FAX_ERR_DEVICE_NUM_LIMIT_EXCEEDED);
|
|
{$EXTERNALSYM FAX_E_DEVICE_NUM_LIMIT_EXCEEDED}
|
|
|
|
//
|
|
// MessageId: FAX_E_NOT_SUPPORTED_ON_THIS_SKU
|
|
//
|
|
// MessageText:
|
|
//
|
|
// The fax server cannot complete the operation because it is not supported for this version of Windows.
|
|
//
|
|
|
|
FAX_E_NOT_SUPPORTED_ON_THIS_SKU = HRESULT((SEVERITY_ERROR shl 31) or (FACILITY_ITF shl 16) or FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU);
|
|
{$EXTERNALSYM FAX_E_NOT_SUPPORTED_ON_THIS_SKU}
|
|
|
|
//
|
|
// MessageId: FAX_E_VERSION_MISMATCH
|
|
//
|
|
// MessageText:
|
|
//
|
|
// The fax server API version does not support the requested operation.
|
|
//
|
|
|
|
FAX_E_VERSION_MISMATCH = HRESULT((SEVERITY_ERROR shl 31) or (FACILITY_ITF shl 16) or FAX_ERR_VERSION_MISMATCH);
|
|
{$EXTERNALSYM FAX_E_VERSION_MISMATCH}
|
|
|
|
//
|
|
// MessageId: FAX_E_RECIPIENT_LIMIT
|
|
//
|
|
// MessageText:
|
|
//
|
|
// The limit on the number of recipients for a single fax broadcast was reached.
|
|
//
|
|
|
|
FAX_E_RECIPIENTS_LIMIT = HRESULT((SEVERITY_ERROR shl 31) or (FACILITY_ITF shl 16) or FAX_ERR_RECIPIENTS_LIMIT);
|
|
{$EXTERNALSYM FAX_E_RECIPIENTS_LIMIT}
|
|
|
|
type
|
|
FAX_ENUM_LOG_LEVELS = (
|
|
FAXLOG_LEVEL_NONE,
|
|
FAXLOG_LEVEL_MIN,
|
|
FAXLOG_LEVEL_MED,
|
|
FAXLOG_LEVEL_MAX);
|
|
{$EXTERNALSYM FAX_ENUM_LOG_LEVELS}
|
|
TFaxEnumLogLevels = FAX_ENUM_LOG_LEVELS;
|
|
|
|
FAX_ENUM_LOG_CATEGORIES = (
|
|
FAXLOG_CATEGORY_FILLER0,
|
|
FAXLOG_CATEGORY_INIT, // Initialization / shutdown
|
|
FAXLOG_CATEGORY_OUTBOUND, // Outbound messages
|
|
FAXLOG_CATEGORY_INBOUND, // Inbound messages
|
|
FAXLOG_CATEGORY_UNKNOWN); // Unknown category (all others)
|
|
{$EXTERNALSYM FAX_ENUM_LOG_CATEGORIES}
|
|
TFaxEnumLogCategories = FAX_ENUM_LOG_CATEGORIES;
|
|
|
|
PFAX_LOG_CATEGORYA = ^FAX_LOG_CATEGORYA;
|
|
{$EXTERNALSYM PFAX_LOG_CATEGORYA}
|
|
_FAX_LOG_CATEGORYA = record
|
|
Name: LPCSTR; // logging category name
|
|
Category: DWORD; // logging category number
|
|
Level: DWORD; // logging level for the category
|
|
end;
|
|
{$EXTERNALSYM _FAX_LOG_CATEGORYA}
|
|
FAX_LOG_CATEGORYA = _FAX_LOG_CATEGORYA;
|
|
{$EXTERNALSYM FAX_LOG_CATEGORYA}
|
|
TFaxLogCategoryA = FAX_LOG_CATEGORYA;
|
|
PFaxLogCategoryA = PFAX_LOG_CATEGORYA;
|
|
|
|
PFAX_LOG_CATEGORYW = ^FAX_LOG_CATEGORYW;
|
|
{$EXTERNALSYM PFAX_LOG_CATEGORYW}
|
|
_FAX_LOG_CATEGORYW = record
|
|
Name: LPCWSTR; // logging category name
|
|
Category: DWORD; // logging category number
|
|
Level: DWORD; // logging level for the category
|
|
end;
|
|
{$EXTERNALSYM _FAX_LOG_CATEGORYW}
|
|
FAX_LOG_CATEGORYW = _FAX_LOG_CATEGORYW;
|
|
{$EXTERNALSYM FAX_LOG_CATEGORYW}
|
|
TFaxLogCategoryW = FAX_LOG_CATEGORYW;
|
|
PFaxLogCategoryW = PFAX_LOG_CATEGORYW;
|
|
|
|
{$IFDEF UNICODE}
|
|
FAX_LOG_CATEGORY = FAX_LOG_CATEGORYW;
|
|
{$EXTERNALSYM FAX_LOG_CATEGORY}
|
|
PFAX_LOG_CATEGORY = PFAX_LOG_CATEGORYW;
|
|
{$EXTERNALSYM PFAX_LOG_CATEGORY}
|
|
TFaxLogCategory = TFaxLogCategoryW;
|
|
PFaxLogCategory = PFaxLogCategoryW;
|
|
{$ELSE}
|
|
FAX_LOG_CATEGORY = FAX_LOG_CATEGORYA;
|
|
{$EXTERNALSYM FAX_LOG_CATEGORY}
|
|
PFAX_LOG_CATEGORY = PFAX_LOG_CATEGORYA;
|
|
{$EXTERNALSYM PFAX_LOG_CATEGORY}
|
|
TFaxLogCategory = TFaxLogCategoryA;
|
|
PFaxLogCategory = PFaxLogCategoryA;
|
|
{$ENDIF UNICODE}
|
|
|
|
PFAX_TIME = ^FAX_TIME;
|
|
{$EXTERNALSYM PFAX_TIME}
|
|
_FAX_TIME = record
|
|
Hour: WORD;
|
|
Minute: WORD;
|
|
end;
|
|
{$EXTERNALSYM _FAX_TIME}
|
|
FAX_TIME = _FAX_TIME;
|
|
{$EXTERNALSYM FAX_TIME}
|
|
TFaxTime = FAX_TIME;
|
|
PFaxTime = PFAX_TIME;
|
|
|
|
PFAX_CONFIGURATIONA = ^FAX_CONFIGURATIONA;
|
|
{$EXTERNALSYM PFAX_CONFIGURATIONA}
|
|
_FAX_CONFIGURATIONA = record
|
|
SizeOfStruct: DWORD; // size of this structure
|
|
Retries: DWORD; // number of retries for fax send
|
|
RetryDelay: DWORD; // number of minutes between retries
|
|
DirtyDays: DWORD; // number of days to keep an unsent job in the queue
|
|
Branding: BOOL; // fsp should brand outgoing faxes
|
|
UseDeviceTsid: BOOL; // server uses device tsid only
|
|
ServerCp: BOOL; // clients must use cover pages on the server
|
|
PauseServerQueue: BOOL; // is the server queue paused?
|
|
StartCheapTime: FAX_TIME; // start of discount rate period
|
|
StopCheapTime: FAX_TIME; // end of discount rate period
|
|
ArchiveOutgoingFaxes: BOOL; // whether outgoing faxes should be archived
|
|
ArchiveDirectory: LPCSTR; // archive directory for outgoing faxes
|
|
Reserved: LPCSTR; // Reserved; must be NULL
|
|
end;
|
|
{$EXTERNALSYM _FAX_CONFIGURATIONA}
|
|
FAX_CONFIGURATIONA = _FAX_CONFIGURATIONA;
|
|
{$EXTERNALSYM FAX_CONFIGURATIONA}
|
|
TFaxConfigurationA = FAX_CONFIGURATIONA;
|
|
PFaxConfigurationA = PFAX_CONFIGURATIONA;
|
|
|
|
PFAX_CONFIGURATIONW = ^FAX_CONFIGURATIONW;
|
|
{$EXTERNALSYM PFAX_CONFIGURATIONW}
|
|
_FAX_CONFIGURATIONW = record
|
|
SizeOfStruct: DWORD; // size of this structure
|
|
Retries: DWORD; // number of retries for fax send
|
|
RetryDelay: DWORD; // number of minutes between retries
|
|
DirtyDays: DWORD; // number of days to keep an unsent job in the queue
|
|
Branding: BOOL; // fsp should brand outgoing faxes
|
|
UseDeviceTsid: BOOL; // server uses device tsid only
|
|
ServerCp: BOOL; // clients must use cover pages on the server
|
|
PauseServerQueue: BOOL; // is the server queue paused?
|
|
StartCheapTime: FAX_TIME; // start of discount rate period
|
|
StopCheapTime: FAX_TIME; // end of discount rate period
|
|
ArchiveOutgoingFaxes: BOOL; // whether outgoing faxes should be archived
|
|
ArchiveDirectory: LPCWSTR; // archive directory for outgoing faxes
|
|
Reserved: LPCWSTR; // Reserved; must be NULL
|
|
end;
|
|
{$EXTERNALSYM _FAX_CONFIGURATIONW}
|
|
FAX_CONFIGURATIONW = _FAX_CONFIGURATIONW;
|
|
{$EXTERNALSYM FAX_CONFIGURATIONW}
|
|
TFaxConfigurationW = FAX_CONFIGURATIONW;
|
|
PFaxConfigurationW = PFAX_CONFIGURATIONW;
|
|
|
|
{$IFDEF UNICODE}
|
|
FAX_CONFIGURATION = FAX_CONFIGURATIONW;
|
|
{$EXTERNALSYM FAX_CONFIGURATION}
|
|
PFAX_CONFIGURATION = PFAX_CONFIGURATIONW;
|
|
{$EXTERNALSYM PFAX_CONFIGURATION}
|
|
TFaxConfiguration = TFaxConfigurationW;
|
|
PFaxConfiguration = PFaxConfigurationW;
|
|
{$ELSE}
|
|
FAX_CONFIGURATION = FAX_CONFIGURATIONA;
|
|
{$EXTERNALSYM FAX_CONFIGURATION}
|
|
PFAX_CONFIGURATION = PFAX_CONFIGURATIONA;
|
|
{$EXTERNALSYM PFAX_CONFIGURATION}
|
|
TFaxConfiguration = TFaxConfigurationA;
|
|
PFaxConfiguration = PFaxConfigurationA;
|
|
{$ENDIF UNICODE}
|
|
|
|
//
|
|
// FaxSetJob() command codes
|
|
//
|
|
|
|
FAX_ENUM_JOB_COMMANDS = (
|
|
JC_UNKNOWN,
|
|
JC_DELETE,
|
|
JC_PAUSE,
|
|
JC_RESUME);
|
|
{$EXTERNALSYM FAX_ENUM_JOB_COMMANDS}
|
|
TFaxEnumJobCommands = FAX_ENUM_JOB_COMMANDS;
|
|
|
|
const
|
|
JC_RESTART = JC_RESUME;
|
|
{$EXTERNALSYM JC_RESTART}
|
|
|
|
//
|
|
// job type defines
|
|
//
|
|
|
|
JT_UNKNOWN = 0;
|
|
{$EXTERNALSYM JT_UNKNOWN}
|
|
JT_SEND = 1;
|
|
{$EXTERNALSYM JT_SEND}
|
|
JT_RECEIVE = 2;
|
|
{$EXTERNALSYM JT_RECEIVE}
|
|
JT_ROUTING = 3;
|
|
{$EXTERNALSYM JT_ROUTING}
|
|
JT_FAIL_RECEIVE = 4;
|
|
{$EXTERNALSYM JT_FAIL_RECEIVE}
|
|
|
|
//
|
|
// job status defines
|
|
//
|
|
|
|
JS_PENDING = $00000000;
|
|
{$EXTERNALSYM JS_PENDING}
|
|
JS_INPROGRESS = $00000001;
|
|
{$EXTERNALSYM JS_INPROGRESS}
|
|
JS_DELETING = $00000002;
|
|
{$EXTERNALSYM JS_DELETING}
|
|
JS_FAILED = $00000004;
|
|
{$EXTERNALSYM JS_FAILED}
|
|
JS_PAUSED = $00000008;
|
|
{$EXTERNALSYM JS_PAUSED}
|
|
JS_NOLINE = $00000010;
|
|
{$EXTERNALSYM JS_NOLINE}
|
|
JS_RETRYING = $00000020;
|
|
{$EXTERNALSYM JS_RETRYING}
|
|
JS_RETRIES_EXCEEDED = $00000040;
|
|
{$EXTERNALSYM JS_RETRIES_EXCEEDED}
|
|
|
|
type
|
|
PFAX_DEVICE_STATUSA = ^FAX_DEVICE_STATUSA;
|
|
{$EXTERNALSYM PFAX_DEVICE_STATUSA}
|
|
_FAX_DEVICE_STATUSA = record
|
|
SizeOfStruct: DWORD; // size of this structure
|
|
CallerId: LPCSTR; // caller id string
|
|
Csid: LPCSTR; // station identifier
|
|
CurrentPage: DWORD; // current page
|
|
DeviceId: DWORD; // permanent line id
|
|
DeviceName: LPCSTR; // device name
|
|
DocumentName: LPCSTR; // document name
|
|
JobType: DWORD; // send or receive?
|
|
PhoneNumber: LPCSTR; // sending phone number
|
|
RoutingString: LPCSTR; // routing information
|
|
SenderName: LPCSTR; // sender name
|
|
RecipientName: LPCSTR; // recipient name
|
|
Size: DWORD; // size in bytes of the document
|
|
StartTime: FILETIME; // starting time of the fax send/receive
|
|
Status: DWORD; // current status of the device, see FPS_??? masks
|
|
StatusString: LPCSTR; // status string if the Status field is zero. this may be NULL.
|
|
SubmittedTime: FILETIME; // time the document was submitted
|
|
TotalPages: DWORD; // total number of pages in this job
|
|
Tsid: LPCSTR; // transmitting station identifier
|
|
UserName: LPCSTR; // user that submitted the active job
|
|
end;
|
|
{$EXTERNALSYM _FAX_DEVICE_STATUSA}
|
|
FAX_DEVICE_STATUSA = _FAX_DEVICE_STATUSA;
|
|
{$EXTERNALSYM FAX_DEVICE_STATUSA}
|
|
TFaxDeviceStatusA = FAX_DEVICE_STATUSA;
|
|
PFaxDeviceStatusA = PFAX_DEVICE_STATUSA;
|
|
|
|
PFAX_DEVICE_STATUSW = ^FAX_DEVICE_STATUSW;
|
|
{$EXTERNALSYM PFAX_DEVICE_STATUSW}
|
|
_FAX_DEVICE_STATUSW = record
|
|
SizeOfStruct: DWORD; // size of this structure
|
|
CallerId: LPCWSTR; // caller id string
|
|
Csid: LPCWSTR; // station identifier
|
|
CurrentPage: DWORD; // current page
|
|
DeviceId: DWORD; // permanent line id
|
|
DeviceName: LPCWSTR; // device name
|
|
DocumentName: LPCWSTR; // document name
|
|
JobType: DWORD; // send or receive?
|
|
PhoneNumber: LPCWSTR; // sending phone number
|
|
RoutingString: LPCWSTR; // routing information
|
|
SenderName: LPCWSTR; // sender name
|
|
RecipientName: LPCWSTR; // recipient name
|
|
Size: DWORD; // size in bytes of the document
|
|
StartTime: FILETIME; // starting time of the fax send/receive
|
|
Status: DWORD; // current status of the device, see FPS_??? masks
|
|
StatusString: LPCWSTR; // status string if the Status field is zero. this may be NULL.
|
|
SubmittedTime: FILETIME; // time the document was submitted
|
|
TotalPages: DWORD; // total number of pages in this job
|
|
Tsid: LPCWSTR; // transmitting station identifier
|
|
UserName: LPCWSTR; // user that submitted the active job
|
|
end;
|
|
{$EXTERNALSYM _FAX_DEVICE_STATUSW}
|
|
FAX_DEVICE_STATUSW = _FAX_DEVICE_STATUSW;
|
|
{$EXTERNALSYM FAX_DEVICE_STATUSW}
|
|
TFaxDeviceStatusW = FAX_DEVICE_STATUSW;
|
|
PFaxDeviceStatusW = PFAX_DEVICE_STATUSW;
|
|
|
|
{$IFDEF UNICODE}
|
|
FAX_DEVICE_STATUS = FAX_DEVICE_STATUSW;
|
|
{$EXTERNALSYM FAX_DEVICE_STATUS}
|
|
PFAX_DEVICE_STATUS = PFAX_DEVICE_STATUSW;
|
|
{$EXTERNALSYM PFAX_DEVICE_STATUS}
|
|
TFaxDeviceStatus = TFaxDeviceStatusW;
|
|
PFaxDeviceStatus = PFaxDeviceStatusW;
|
|
{$ELSE}
|
|
FAX_DEVICE_STATUS = FAX_DEVICE_STATUSA;
|
|
{$EXTERNALSYM FAX_DEVICE_STATUS}
|
|
PFAX_DEVICE_STATUS = PFAX_DEVICE_STATUSA;
|
|
{$EXTERNALSYM PFAX_DEVICE_STATUS}
|
|
TFaxDeviceStatus = TFaxDeviceStatusA;
|
|
PFaxDeviceStatus = PFaxDeviceStatusA;
|
|
{$ENDIF UNICODE}
|
|
|
|
PFAX_JOB_ENTRYA = ^FAX_JOB_ENTRYA;
|
|
{$EXTERNALSYM PFAX_JOB_ENTRYA}
|
|
_FAX_JOB_ENTRYA = record
|
|
SizeOfStruct: DWORD; // size of this structure
|
|
JobId: DWORD; // fax job id
|
|
UserName: LPCSTR; // user who submitted the job
|
|
JobType: DWORD; // job type, see JT defines
|
|
QueueStatus: DWORD; // job queue status, see JS defines
|
|
Status: DWORD; // current status of the device, see FPS_??? masks
|
|
Size: DWORD; // size in bytes of the document
|
|
PageCount: DWORD; // total page count
|
|
RecipientNumber: LPCSTR; // recipient fax number
|
|
RecipientName: LPCSTR; // recipient name
|
|
Tsid: LPCSTR; // transmitter's id
|
|
SenderName: LPCSTR; // sender name
|
|
SenderCompany: LPCSTR; // sender company
|
|
SenderDept: LPCSTR; // sender department
|
|
BillingCode: LPCSTR; // billing code
|
|
ScheduleAction: DWORD; // when to schedule the fax, see JSA defines
|
|
ScheduleTime: SYSTEMTIME; // time to send the fax when JSA_SPECIFIC_TIME is used (must be local time)
|
|
DeliveryReportType: DWORD; // delivery report type, see DRT defines
|
|
DeliveryReportAddress: LPCSTR; // email address for delivery report (ndr or dr) thru MAPI / SMTP
|
|
DocumentName: LPCSTR; // document name
|
|
end;
|
|
{$EXTERNALSYM _FAX_JOB_ENTRYA}
|
|
FAX_JOB_ENTRYA = _FAX_JOB_ENTRYA;
|
|
{$EXTERNALSYM FAX_JOB_ENTRYA}
|
|
TFaxJobEntryA = FAX_JOB_ENTRYA;
|
|
PFaxJobEntryA = PFAX_JOB_ENTRYA;
|
|
|
|
PFAX_JOB_ENTRYW = ^FAX_JOB_ENTRYW;
|
|
{$EXTERNALSYM PFAX_JOB_ENTRYW}
|
|
_FAX_JOB_ENTRYW = record
|
|
SizeOfStruct: DWORD; // size of this structure
|
|
JobId: DWORD; // fax job id
|
|
UserName: LPCWSTR; // user who submitted the job
|
|
JobType: DWORD; // job type, see JT defines
|
|
QueueStatus: DWORD; // job queue status, see JS defines
|
|
Status: DWORD; // current status of the device, see FPS_??? masks
|
|
Size: DWORD; // size in bytes of the document
|
|
PageCount: DWORD; // total page count
|
|
RecipientNumber: LPCWSTR; // recipient fax number
|
|
RecipientName: LPCWSTR; // recipient name
|
|
Tsid: LPCWSTR; // transmitter's id
|
|
SenderName: LPCWSTR; // sender name
|
|
SenderCompany: LPCWSTR; // sender company
|
|
SenderDept: LPCWSTR; // sender department
|
|
BillingCode: LPCWSTR; // billing code
|
|
ScheduleAction: DWORD; // when to schedule the fax, see JSA defines
|
|
ScheduleTime: SYSTEMTIME; // time to send the fax when JSA_SPECIFIC_TIME is used (must be local time)
|
|
DeliveryReportType: DWORD; // delivery report type, see DRT defines
|
|
DeliveryReportAddress: LPCWSTR; // email address for delivery report (ndr or dr) thru MAPI / SMTP
|
|
DocumentName: LPCWSTR; // document name
|
|
end;
|
|
{$EXTERNALSYM _FAX_JOB_ENTRYW}
|
|
FAX_JOB_ENTRYW = _FAX_JOB_ENTRYW;
|
|
{$EXTERNALSYM FAX_JOB_ENTRYW}
|
|
TFaxJobEntryW = FAX_JOB_ENTRYW;
|
|
PFaxJobEntryW = PFAX_JOB_ENTRYW;
|
|
|
|
{$IFDEF UNICODE}
|
|
FAX_JOB_ENTRY = FAX_JOB_ENTRYW;
|
|
{$EXTERNALSYM FAX_JOB_ENTRY}
|
|
PFAX_JOB_ENTRY = PFAX_JOB_ENTRYW;
|
|
{$EXTERNALSYM PFAX_JOB_ENTRY}
|
|
TFaxJobEntry = TFaxJobEntryW;
|
|
PFaxJobEntry = PFaxJobEntryW;
|
|
{$ELSE}
|
|
FAX_JOB_ENTRY = FAX_JOB_ENTRYA;
|
|
{$EXTERNALSYM FAX_JOB_ENTRY}
|
|
PFAX_JOB_ENTRY = PFAX_JOB_ENTRYA;
|
|
{$EXTERNALSYM PFAX_JOB_ENTRY}
|
|
TFaxJobEntry = TFaxJobEntryA;
|
|
PFaxJobEntry = PFaxJobEntryA;
|
|
{$ENDIF UNICODE}
|
|
|
|
//
|
|
// fax port state masks
|
|
//
|
|
// if you change these defines the be sure to
|
|
// change the resources in the fax service.
|
|
//
|
|
|
|
const
|
|
FPS_DIALING = $20000001;
|
|
{$EXTERNALSYM FPS_DIALING}
|
|
FPS_SENDING = $20000002;
|
|
{$EXTERNALSYM FPS_SENDING}
|
|
FPS_RECEIVING = $20000004;
|
|
{$EXTERNALSYM FPS_RECEIVING}
|
|
FPS_COMPLETED = $20000008;
|
|
{$EXTERNALSYM FPS_COMPLETED}
|
|
FPS_HANDLED = $20000010;
|
|
{$EXTERNALSYM FPS_HANDLED}
|
|
FPS_UNAVAILABLE = $20000020;
|
|
{$EXTERNALSYM FPS_UNAVAILABLE}
|
|
FPS_BUSY = $20000040;
|
|
{$EXTERNALSYM FPS_BUSY}
|
|
FPS_NO_ANSWER = $20000080;
|
|
{$EXTERNALSYM FPS_NO_ANSWER}
|
|
FPS_BAD_ADDRESS = $20000100;
|
|
{$EXTERNALSYM FPS_BAD_ADDRESS}
|
|
FPS_NO_DIAL_TONE = $20000200;
|
|
{$EXTERNALSYM FPS_NO_DIAL_TONE}
|
|
FPS_DISCONNECTED = $20000400;
|
|
{$EXTERNALSYM FPS_DISCONNECTED}
|
|
FPS_FATAL_ERROR = $20000800;
|
|
{$EXTERNALSYM FPS_FATAL_ERROR}
|
|
FPS_NOT_FAX_CALL = $20001000;
|
|
{$EXTERNALSYM FPS_NOT_FAX_CALL}
|
|
FPS_CALL_DELAYED = $20002000;
|
|
{$EXTERNALSYM FPS_CALL_DELAYED}
|
|
FPS_CALL_BLACKLISTED = $20004000;
|
|
{$EXTERNALSYM FPS_CALL_BLACKLISTED}
|
|
FPS_INITIALIZING = $20008000;
|
|
{$EXTERNALSYM FPS_INITIALIZING}
|
|
FPS_OFFLINE = $20010000;
|
|
{$EXTERNALSYM FPS_OFFLINE}
|
|
FPS_RINGING = $20020000;
|
|
{$EXTERNALSYM FPS_RINGING}
|
|
|
|
FPS_AVAILABLE = $20100000;
|
|
{$EXTERNALSYM FPS_AVAILABLE}
|
|
FPS_ABORTING = $20200000;
|
|
{$EXTERNALSYM FPS_ABORTING}
|
|
FPS_ROUTING = $20400000;
|
|
{$EXTERNALSYM FPS_ROUTING}
|
|
FPS_ANSWERED = $20800000;
|
|
{$EXTERNALSYM FPS_ANSWERED}
|
|
|
|
//
|
|
// fax port capability mask
|
|
//
|
|
|
|
FPF_RECEIVE = $00000001; // Automatically receive faxes
|
|
{$EXTERNALSYM FPF_RECEIVE}
|
|
FPF_SEND = $00000002;
|
|
{$EXTERNALSYM FPF_SEND}
|
|
FPF_VIRTUAL = $00000004;
|
|
{$EXTERNALSYM FPF_VIRTUAL}
|
|
|
|
type
|
|
PFAX_PORT_INFOA = ^FAX_PORT_INFOA;
|
|
{$EXTERNALSYM PFAX_PORT_INFOA}
|
|
_FAX_PORT_INFOA = record
|
|
SizeOfStruct: DWORD; // size of this structure
|
|
DeviceId: DWORD; // Device ID
|
|
State: DWORD; // State of the device
|
|
Flags: DWORD; // Device specific flags
|
|
Rings: DWORD; // Number of rings before answer
|
|
Priority: DWORD; // Device priority
|
|
DeviceName: LPCSTR; // Device name
|
|
Tsid: LPCSTR; // Device Tsid
|
|
Csid: LPCSTR; // Device Csid
|
|
end;
|
|
{$EXTERNALSYM _FAX_PORT_INFOA}
|
|
FAX_PORT_INFOA = _FAX_PORT_INFOA;
|
|
{$EXTERNALSYM FAX_PORT_INFOA}
|
|
TFaxPortInfoA = FAX_PORT_INFOA;
|
|
PFaxPortInfoA = PFAX_PORT_INFOA;
|
|
|
|
PFAX_PORT_INFOW = ^FAX_PORT_INFOW;
|
|
{$EXTERNALSYM PFAX_PORT_INFOW}
|
|
_FAX_PORT_INFOW = record
|
|
SizeOfStruct: DWORD; // size of this structure
|
|
DeviceId: DWORD; // Device ID
|
|
State: DWORD; // State of the device
|
|
Flags: DWORD; // Device specific flags
|
|
Rings: DWORD; // Number of rings before answer
|
|
Priority: DWORD; // Device priority
|
|
DeviceName: LPCWSTR; // Device name
|
|
Tsid: LPCWSTR; // Device Tsid
|
|
Csid: LPCWSTR; // Device Csid
|
|
end;
|
|
{$EXTERNALSYM _FAX_PORT_INFOW}
|
|
FAX_PORT_INFOW = _FAX_PORT_INFOW;
|
|
{$EXTERNALSYM FAX_PORT_INFOW}
|
|
TFaxPortInfoW = FAX_PORT_INFOW;
|
|
PFaxPortInfoW = PFAX_PORT_INFOW;
|
|
|
|
{$IFDEF UNICODE}
|
|
FAX_PORT_INFO = FAX_PORT_INFOW;
|
|
{$EXTERNALSYM FAX_PORT_INFO}
|
|
PFAX_PORT_INFO = PFAX_PORT_INFOW;
|
|
{$EXTERNALSYM PFAX_PORT_INFO}
|
|
TFaxPortInfo = TFaxPortInfoW;
|
|
PFaxPortInfo = PFaxPortInfoW;
|
|
{$ELSE}
|
|
FAX_PORT_INFO = FAX_PORT_INFOA;
|
|
{$EXTERNALSYM FAX_PORT_INFO}
|
|
PFAX_PORT_INFO = PFAX_PORT_INFOA;
|
|
{$EXTERNALSYM PFAX_PORT_INFO}
|
|
TFaxPortInfo = TFaxPortInfoA;
|
|
PFaxPortInfo = PFaxPortInfoA;
|
|
{$ENDIF UNICODE}
|
|
|
|
PFAX_ROUTING_METHODA = ^FAX_ROUTING_METHODA;
|
|
{$EXTERNALSYM PFAX_ROUTING_METHODA}
|
|
_FAX_ROUTING_METHODA = record
|
|
SizeOfStruct: DWORD; // size of this structure
|
|
DeviceId: DWORD; // device identifier
|
|
Enabled: BOOL; // is this method enabled for this device?
|
|
DeviceName: LPCSTR; // device name
|
|
Guid: LPCSTR; // guid that identifies this routing method
|
|
FriendlyName: LPCSTR; // friendly name for this method
|
|
FunctionName: LPCSTR; // exported function name that identifies this method
|
|
ExtensionImageName: LPCSTR; // module (dll) name that implements this method
|
|
ExtensionFriendlyName: LPCSTR; // displayable string that identifies the extension
|
|
end;
|
|
{$EXTERNALSYM _FAX_ROUTING_METHODA}
|
|
FAX_ROUTING_METHODA = _FAX_ROUTING_METHODA;
|
|
{$EXTERNALSYM FAX_ROUTING_METHODA}
|
|
TFaxRoutingMethodA = FAX_ROUTING_METHODA;
|
|
PFaxRoutingMethodA = PFAX_ROUTING_METHODA;
|
|
|
|
PFAX_ROUTING_METHODW = ^FAX_ROUTING_METHODW;
|
|
{$EXTERNALSYM PFAX_ROUTING_METHODW}
|
|
_FAX_ROUTING_METHODW = record
|
|
SizeOfStruct: DWORD; // size of this structure
|
|
DeviceId: DWORD; // device identifier
|
|
Enabled: BOOL; // is this method enabled for this device?
|
|
DeviceName: LPCWSTR; // device name
|
|
Guid: LPCWSTR; // guid that identifies this routing method
|
|
FriendlyName: LPCWSTR; // friendly name for this method
|
|
FunctionName: LPCWSTR; // exported function name that identifies this method
|
|
ExtensionImageName: LPCWSTR; // module (dll) name that implements this method
|
|
ExtensionFriendlyName: LPCWSTR; // displayable string that identifies the extension
|
|
end;
|
|
{$EXTERNALSYM _FAX_ROUTING_METHODW}
|
|
FAX_ROUTING_METHODW = _FAX_ROUTING_METHODW;
|
|
{$EXTERNALSYM FAX_ROUTING_METHODW}
|
|
TFaxRoutingMethodW = FAX_ROUTING_METHODW;
|
|
PFaxRoutingMethodW = PFAX_ROUTING_METHODW;
|
|
|
|
{$IFDEF UNICODE}
|
|
FAX_ROUTING_METHOD = FAX_ROUTING_METHODW;
|
|
{$EXTERNALSYM FAX_ROUTING_METHOD}
|
|
PFAX_ROUTING_METHOD = PFAX_ROUTING_METHODW;
|
|
{$EXTERNALSYM PFAX_ROUTING_METHOD}
|
|
TFaxRoutingMethod = TFaxRoutingMethodW;
|
|
PFaxRoutingMethod = PFaxRoutingMethodW;
|
|
{$ELSE}
|
|
FAX_ROUTING_METHOD = FAX_ROUTING_METHODA;
|
|
{$EXTERNALSYM FAX_ROUTING_METHOD}
|
|
PFAX_ROUTING_METHOD = PFAX_ROUTING_METHODA;
|
|
{$EXTERNALSYM PFAX_ROUTING_METHOD}
|
|
TFaxRoutingMethod = TFaxRoutingMethodA;
|
|
PFaxRoutingMethod = PFaxRoutingMethodA;
|
|
{$ENDIF UNICODE}
|
|
|
|
PFAX_GLOBAL_ROUTING_INFOA = ^FAX_GLOBAL_ROUTING_INFOA;
|
|
{$EXTERNALSYM PFAX_GLOBAL_ROUTING_INFOA}
|
|
_FAX_GLOBAL_ROUTING_INFOA = record
|
|
SizeOfStruct: DWORD; // size of this structure
|
|
Priority: DWORD; // priority of this device
|
|
Guid: LPCSTR; // guid that identifies this routing method
|
|
FriendlyName: LPCSTR; // friendly name for this method
|
|
FunctionName: LPCSTR; // exported function name that identifies this method
|
|
ExtensionImageName: LPCSTR; // module (dll) name that implements this method
|
|
ExtensionFriendlyName: LPCSTR; // displayable string that identifies the extension
|
|
end;
|
|
{$EXTERNALSYM _FAX_GLOBAL_ROUTING_INFOA}
|
|
FAX_GLOBAL_ROUTING_INFOA = _FAX_GLOBAL_ROUTING_INFOA;
|
|
{$EXTERNALSYM FAX_GLOBAL_ROUTING_INFOA}
|
|
TFaxGlobalRoutingInfoA = FAX_GLOBAL_ROUTING_INFOA;
|
|
PFaxGlobalRoutingInfoA = PFAX_GLOBAL_ROUTING_INFOA;
|
|
|
|
PFAX_GLOBAL_ROUTING_INFOW = ^FAX_GLOBAL_ROUTING_INFOW;
|
|
{$EXTERNALSYM PFAX_GLOBAL_ROUTING_INFOW}
|
|
_FAX_GLOBAL_ROUTING_INFOW = record
|
|
SizeOfStruct: DWORD; // size of this structure
|
|
Priority: DWORD; // priority of this device
|
|
Guid: LPCWSTR; // guid that identifies this routing method
|
|
FriendlyName: LPCWSTR; // friendly name for this method
|
|
FunctionName: LPCWSTR; // exported function name that identifies this method
|
|
ExtensionImageName: LPCWSTR; // module (dll) name that implements this method
|
|
ExtensionFriendlyName: LPCWSTR; // displayable string that identifies the extension
|
|
end;
|
|
{$EXTERNALSYM _FAX_GLOBAL_ROUTING_INFOW}
|
|
FAX_GLOBAL_ROUTING_INFOW = _FAX_GLOBAL_ROUTING_INFOW;
|
|
{$EXTERNALSYM FAX_GLOBAL_ROUTING_INFOW}
|
|
TFaxGlobalRoutingInfoW = FAX_GLOBAL_ROUTING_INFOW;
|
|
PFaxGlobalRoutingInfoW = PFAX_GLOBAL_ROUTING_INFOW;
|
|
|
|
{$IFDEF UNICODE}
|
|
FAX_GLOBAL_ROUTING_INFO = FAX_GLOBAL_ROUTING_INFOW;
|
|
{$EXTERNALSYM FAX_GLOBAL_ROUTING_INFO}
|
|
PFAX_GLOBAL_ROUTING_INFO = FAX_GLOBAL_ROUTING_INFOW;
|
|
{$EXTERNALSYM PFAX_GLOBAL_ROUTING_INFO}
|
|
TFaxGlobalRoutingInfo = TFaxGlobalRoutingInfoW;
|
|
PFaxGlobalRoutingInfo = PFaxGlobalRoutingInfoW;
|
|
{$ELSE}
|
|
FAX_GLOBAL_ROUTING_INFO = FAX_GLOBAL_ROUTING_INFOA;
|
|
{$EXTERNALSYM FAX_GLOBAL_ROUTING_INFO}
|
|
PFAX_GLOBAL_ROUTING_INFO = FAX_GLOBAL_ROUTING_INFOA;
|
|
{$EXTERNALSYM PFAX_GLOBAL_ROUTING_INFO}
|
|
TFaxGlobalRoutingInfo = TFaxGlobalRoutingInfoA;
|
|
PFaxGlobalRoutingInfo = PFaxGlobalRoutingInfoA;
|
|
{$ENDIF UNICODE}
|
|
|
|
PFAX_COVERPAGE_INFOA = ^FAX_COVERPAGE_INFOA;
|
|
{$EXTERNALSYM PFAX_COVERPAGE_INFOA}
|
|
_FAX_COVERPAGE_INFOA = record
|
|
SizeOfStruct: DWORD; // Size of this structure
|
|
//
|
|
// general
|
|
//
|
|
CoverPageName: LPCSTR; // coverpage document name
|
|
UseServerCoverPage: BOOL; // coverpage exists on the fax server
|
|
//
|
|
// Recipient information
|
|
//
|
|
RecName: LPCSTR;
|
|
RecFaxNumber: LPCSTR;
|
|
RecCompany: LPCSTR;
|
|
RecStreetAddress: LPCSTR;
|
|
RecCity: LPCSTR;
|
|
RecState: LPCSTR;
|
|
RecZip: LPCSTR;
|
|
RecCountry: LPCSTR;
|
|
RecTitle: LPCSTR;
|
|
RecDepartment: LPCSTR;
|
|
RecOfficeLocation: LPCSTR;
|
|
RecHomePhone: LPCSTR;
|
|
RecOfficePhone: LPCSTR;
|
|
//
|
|
// Sender information
|
|
//
|
|
SdrName: LPCSTR;
|
|
SdrFaxNumber: LPCSTR;
|
|
SdrCompany: LPCSTR;
|
|
SdrAddress: LPCSTR;
|
|
SdrTitle: LPCSTR;
|
|
SdrDepartment: LPCSTR;
|
|
SdrOfficeLocation: LPCSTR;
|
|
SdrHomePhone: LPCSTR;
|
|
SdrOfficePhone: LPCSTR;
|
|
//
|
|
// Misc information
|
|
//
|
|
Note: LPCSTR;
|
|
Subject: LPCSTR;
|
|
TimeSent: SYSTEMTIME; // Time the fax was sent
|
|
PageCount: DWORD; // Number of pages
|
|
end;
|
|
{$EXTERNALSYM _FAX_COVERPAGE_INFOA}
|
|
FAX_COVERPAGE_INFOA = _FAX_COVERPAGE_INFOA;
|
|
{$EXTERNALSYM FAX_COVERPAGE_INFOA}
|
|
TFaxCoverpageInfoA = FAX_COVERPAGE_INFOA;
|
|
PFaxCoverpageInfoA = PFAX_COVERPAGE_INFOA;
|
|
|
|
PFAX_COVERPAGE_INFOW = ^FAX_COVERPAGE_INFOW;
|
|
{$EXTERNALSYM PFAX_COVERPAGE_INFOW}
|
|
_FAX_COVERPAGE_INFOW = record
|
|
SizeOfStruct: DWORD; // Size of this structure
|
|
//
|
|
// general
|
|
//
|
|
CoverPageName: LPCWSTR; // coverpage document name
|
|
UseServerCoverPage: BOOL; // coverpage exists on the fax server
|
|
//
|
|
// Recipient information
|
|
//
|
|
RecName: LPCWSTR;
|
|
RecFaxNumber: LPCWSTR;
|
|
RecCompany: LPCWSTR;
|
|
RecStreetAddress: LPCWSTR;
|
|
RecCity: LPCWSTR;
|
|
RecState: LPCWSTR;
|
|
RecZip: LPCWSTR;
|
|
RecCountry: LPCWSTR;
|
|
RecTitle: LPCWSTR;
|
|
RecDepartment: LPCWSTR;
|
|
RecOfficeLocation: LPCWSTR;
|
|
RecHomePhone: LPCWSTR;
|
|
RecOfficePhone: LPCWSTR;
|
|
//
|
|
// Sender information
|
|
//
|
|
SdrName: LPCWSTR;
|
|
SdrFaxNumber: LPCWSTR;
|
|
SdrCompany: LPCWSTR;
|
|
SdrAddress: LPCWSTR;
|
|
SdrTitle: LPCWSTR;
|
|
SdrDepartment: LPCWSTR;
|
|
SdrOfficeLocation: LPCWSTR;
|
|
SdrHomePhone: LPCWSTR;
|
|
SdrOfficePhone: LPCWSTR;
|
|
//
|
|
// Misc information
|
|
//
|
|
Note: LPCWSTR;
|
|
Subject: LPCWSTR;
|
|
TimeSent: SYSTEMTIME; // Time the fax was sent
|
|
PageCount: DWORD; // Number of pages
|
|
end;
|
|
{$EXTERNALSYM _FAX_COVERPAGE_INFOW}
|
|
FAX_COVERPAGE_INFOW = _FAX_COVERPAGE_INFOW;
|
|
{$EXTERNALSYM FAX_COVERPAGE_INFOW}
|
|
TFaxCoverpageInfoW = FAX_COVERPAGE_INFOW;
|
|
PFaxCoverpageInfoW = PFAX_COVERPAGE_INFOW;
|
|
|
|
{$IFDEF UNICODE}
|
|
FAX_COVERPAGE_INFO = FAX_COVERPAGE_INFOW;
|
|
{$EXTERNALSYM FAX_COVERPAGE_INFO}
|
|
PFAX_COVERPAGE_INFO = PFAX_COVERPAGE_INFOW;
|
|
{$EXTERNALSYM PFAX_COVERPAGE_INFO}
|
|
TFaxCoverpageInfo = TFaxCoverpageInfoW;
|
|
PFaxCoverpageInfo = PFaxCoverpageInfoW;
|
|
{$ELSE}
|
|
FAX_COVERPAGE_INFO = FAX_COVERPAGE_INFOA;
|
|
{$EXTERNALSYM FAX_COVERPAGE_INFO}
|
|
PFAX_COVERPAGE_INFO = PFAX_COVERPAGE_INFOA;
|
|
{$EXTERNALSYM PFAX_COVERPAGE_INFO}
|
|
TFaxCoverpageInfo = TFaxCoverpageInfoA;
|
|
PFaxCoverpageInfo = PFaxCoverpageInfoA;
|
|
{$ENDIF UNICODE}
|
|
|
|
FAX_ENUM_JOB_SEND_ATTRIBUTES = (
|
|
JSA_NOW, // Send now
|
|
JSA_SPECIFIC_TIME, // Send at specific time
|
|
JSA_DISCOUNT_PERIOD); // Send at server configured discount period
|
|
{$EXTERNALSYM FAX_ENUM_JOB_SEND_ATTRIBUTES}
|
|
TFaxEnumJobSendAttributes = FAX_ENUM_JOB_SEND_ATTRIBUTES;
|
|
|
|
FAX_ENUM_DELIVERY_REPORT_TYPES = (
|
|
DRT_NONE, // Do not send receipt
|
|
DRT_EMAIL, // Send receipt by email
|
|
DRT_INBOX); // send receipt to local inbox
|
|
{$EXTERNALSYM FAX_ENUM_DELIVERY_REPORT_TYPES}
|
|
TFaxEnumDeliveryReportTypes = FAX_ENUM_DELIVERY_REPORT_TYPES;
|
|
|
|
HCALL = HANDLE; // todo from TAPI
|
|
|
|
PFAX_JOB_PARAMA = ^FAX_JOB_PARAMA;
|
|
{$EXTERNALSYM PFAX_JOB_PARAMA}
|
|
_FAX_JOB_PARAMA = record
|
|
SizeOfStruct: DWORD; // size of this structure
|
|
RecipientNumber: LPCSTR; // recipient fax number
|
|
RecipientName: LPCSTR; // recipient name
|
|
Tsid: LPCSTR; // transmitter's id
|
|
SenderName: LPCSTR; // sender name
|
|
SenderCompany: LPCSTR; // sender company
|
|
SenderDept: LPCSTR; // sender department
|
|
BillingCode: LPCSTR; // billing code
|
|
ScheduleAction: DWORD; // when to schedule the fax, see JSA defines
|
|
ScheduleTime: SYSTEMTIME; // time to send the fax when JSA_SPECIFIC_TIME is used (must be local time)
|
|
DeliveryReportType: DWORD; // delivery report type, see DRT defines
|
|
DeliveryReportAddress: LPCSTR; // email address for delivery report (ndr or dr) thru MAPI / SMTP
|
|
DocumentName: LPCSTR; // document name (optional)
|
|
CallHandle: HCALL; // optional call handle
|
|
Reserved: array [0..3 - 1] of DWORD_PTR; // reserved for ms use only
|
|
end;
|
|
{$EXTERNALSYM _FAX_JOB_PARAMA}
|
|
FAX_JOB_PARAMA = _FAX_JOB_PARAMA;
|
|
{$EXTERNALSYM FAX_JOB_PARAMA}
|
|
TFaxJobParamA = FAX_JOB_PARAMA;
|
|
PFaxJobParamA = PFAX_JOB_PARAMA;
|
|
|
|
PFAX_JOB_PARAMW = ^FAX_JOB_PARAMW;
|
|
{$EXTERNALSYM PFAX_JOB_PARAMW}
|
|
_FAX_JOB_PARAMW = record
|
|
SizeOfStruct: DWORD; // size of this structure
|
|
RecipientNumber: LPCWSTR; // recipient fax number
|
|
RecipientName: LPCWSTR; // recipient name
|
|
Tsid: LPCWSTR; // transmitter's id
|
|
SenderName: LPCWSTR; // sender name
|
|
SenderCompany: LPCWSTR; // sender company
|
|
SenderDept: LPCWSTR; // sender department
|
|
BillingCode: LPCWSTR; // billing code
|
|
ScheduleAction: DWORD; // when to schedule the fax, see JSA defines
|
|
ScheduleTime: SYSTEMTIME; // time to send the fax when JSA_SPECIFIC_TIME is used (must be local time)
|
|
DeliveryReportType: DWORD; // delivery report type, see DRT defines
|
|
DeliveryReportAddress: LPCWSTR; // email address for delivery report (ndr or dr) thru MAPI / SMTP
|
|
DocumentName: LPCWSTR; // document name (optional)
|
|
CallHandle: HCALL; // optional call handle
|
|
Reserved: array [0..3 - 1] of DWORD_PTR; // reserved for ms use only
|
|
end;
|
|
{$EXTERNALSYM _FAX_JOB_PARAMW}
|
|
FAX_JOB_PARAMW = _FAX_JOB_PARAMW;
|
|
{$EXTERNALSYM FAX_JOB_PARAMW}
|
|
TFaxJobParamW = FAX_JOB_PARAMW;
|
|
PFaxJobParamW = PFAX_JOB_PARAMW;
|
|
|
|
{$IFDEF UNICODE}
|
|
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 UNICODE}
|
|
|
|
//
|
|
// 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 UNICODE}
|
|
|
|
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 UNICODE}
|
|
|
|
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 UNICODE}
|
|
|
|
//
|
|
// prototypes
|
|
//
|
|
|
|
function FaxConnectFaxServerA(MachineName: LPCSTR; var FaxHandle: HANDLE): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxConnectFaxServerA}
|
|
function FaxConnectFaxServerW(MachineName: LPCWSTR; var FaxHandle: HANDLE): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxConnectFaxServerW}
|
|
function FaxConnectFaxServer(MachineName: LPCTSTR; var FaxHandle: HANDLE): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxConnectFaxServer}
|
|
|
|
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}
|
|
function FaxCompleteJobParams(var JobParams: PFAX_JOB_PARAM; var CoverpageInfo: PFAX_COVERPAGE_INFO): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxCompleteJobParams}
|
|
|
|
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}
|
|
function FaxSendDocument(FaxHandle: HANDLE; FileName: LPCTSTR; JobParams: PFAX_JOB_PARAM; CoverpageInfo: PFAX_COVERPAGE_INFO; FaxJobId: LPDWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxSendDocument}
|
|
|
|
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 UNICODE}
|
|
|
|
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}
|
|
function FaxSendDocumentForBroadcast(FaxHandle: HANDLE; FileName: LPCTSTR; FaxJobId: LPDWORD; FaxRecipientCallback: PFAX_RECIPIENT_CALLBACK; Context: LPVOID): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxSendDocumentForBroadcast}
|
|
|
|
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}
|
|
function FaxEnumJobs(FaxHandle: HANDLE; var JobEntry: PFAX_JOB_ENTRY; var JobsReturned: DWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxEnumJobs}
|
|
|
|
function FaxGetJobA(FaxHandle: HANDLE; JobId: DWORD; var JobEntry: PFAX_JOB_ENTRYA): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxGetJobA}
|
|
function FaxGetJobW(FaxHandle: HANDLE; JobId: DWORD; var JobEntry: PFAX_JOB_ENTRYW): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxGetJobW}
|
|
function FaxGetJob(FaxHandle: HANDLE; JobId: DWORD; var JobEntry: PFAX_JOB_ENTRY): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxGetJob}
|
|
|
|
function FaxSetJobA(FaxHandle: HANDLE; JobId: DWORD; Command: DWORD; JobEntry: PFAX_JOB_ENTRYA): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxSetJobA}
|
|
function FaxSetJobW(FaxHandle: HANDLE; JobId: DWORD; Command: DWORD; JobEntry: PFAX_JOB_ENTRYW): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxSetJobW}
|
|
function FaxSetJob(FaxHandle: HANDLE; JobId: DWORD; Command: DWORD; JobEntry: PFAX_JOB_ENTRY): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxSetJob}
|
|
|
|
function FaxGetPageData(FaxHandle: HANDLE; JobId: DWORD; var Buffer: LPBYTE; var BufferSize, ImageWidth, ImageHeight: DWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxGetPageData}
|
|
|
|
function FaxGetDeviceStatusA(FaxPortHandle: HANDLE; var DeviceStatus: PFAX_DEVICE_STATUSA): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxGetDeviceStatusA}
|
|
function FaxGetDeviceStatusW(FaxPortHandle: HANDLE; var DeviceStatus: PFAX_DEVICE_STATUSW): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxGetDeviceStatusW}
|
|
function FaxGetDeviceStatus(FaxPortHandle: HANDLE; var DeviceStatus: PFAX_DEVICE_STATUS): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxGetDeviceStatus}
|
|
|
|
function FaxAbort(FaxHandle: HANDLE; JobId: DWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxAbort}
|
|
|
|
function FaxGetConfigurationA(FaxHandle: HANDLE; var FaxConfig: PFAX_CONFIGURATIONA): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxGetConfigurationA}
|
|
function FaxGetConfigurationW(FaxHandle: HANDLE; var FaxConfig: PFAX_CONFIGURATIONW): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxGetConfigurationW}
|
|
function FaxGetConfiguration(FaxHandle: HANDLE; var FaxConfig: PFAX_CONFIGURATION): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxGetConfiguration}
|
|
|
|
function FaxSetConfigurationA(FaxHandle: HANDLE; const FaxConfig: FAX_CONFIGURATIONA): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxSetConfigurationA}
|
|
function FaxSetConfigurationW(FaxHandle: HANDLE; const FaxConfig: FAX_CONFIGURATIONW): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxSetConfigurationW}
|
|
function FaxSetConfiguration(FaxHandle: HANDLE; const FaxConfig: FAX_CONFIGURATION): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxSetConfiguration}
|
|
|
|
function FaxGetLoggingCategoriesA(FaxHandle: HANDLE; var Categories: PFAX_LOG_CATEGORYA; var NumberCategories: DWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxGetLoggingCategoriesA}
|
|
function FaxGetLoggingCategoriesW(FaxHandle: HANDLE; var Categories: PFAX_LOG_CATEGORYW; var NumberCategories: DWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxGetLoggingCategoriesW}
|
|
function FaxGetLoggingCategories(FaxHandle: HANDLE; var Categories: PFAX_LOG_CATEGORY; var NumberCategories: DWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxGetLoggingCategories}
|
|
|
|
function FaxSetLoggingCategoriesA(FaxHandle: HANDLE; Categories: PFAX_LOG_CATEGORYA; NumberCategories: DWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxSetLoggingCategoriesA}
|
|
function FaxSetLoggingCategoriesW(FaxHandle: HANDLE; Categories: PFAX_LOG_CATEGORYW; NumberCategories: DWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxSetLoggingCategoriesW}
|
|
function FaxSetLoggingCategories(FaxHandle: HANDLE; Categories: PFAX_LOG_CATEGORY; NumberCategories: DWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxSetLoggingCategories}
|
|
|
|
function FaxEnumPortsA(FaxHandle: HANDLE; var PortInfo: PFAX_PORT_INFOA; var PortsReturned: DWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxEnumPortsA}
|
|
function FaxEnumPortsW(FaxHandle: HANDLE; var PortInfo: PFAX_PORT_INFOW; var PortsReturned: DWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxEnumPortsW}
|
|
function FaxEnumPorts(FaxHandle: HANDLE; var PortInfo: PFAX_PORT_INFO; var PortsReturned: DWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxEnumPorts}
|
|
|
|
function FaxGetPortA(FaxPortHandle: HANDLE; var PortInfo: PFAX_PORT_INFOA): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxGetPortA}
|
|
function FaxGetPortW(FaxPortHandle: HANDLE; var PortInfo: PFAX_PORT_INFOW): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxGetPortW}
|
|
function FaxGetPort(FaxPortHandle: HANDLE; var PortInfo: PFAX_PORT_INFO): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxGetPort}
|
|
|
|
function FaxSetPortA(FaxPortHandle: HANDLE; const PortInfo: FAX_PORT_INFOA): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxSetPortA}
|
|
function FaxSetPortW(FaxPortHandle: HANDLE; const PortInfo: FAX_PORT_INFOW): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxSetPortW}
|
|
function FaxSetPort(FaxPortHandle: HANDLE; const PortInfo: FAX_PORT_INFO): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxSetPort}
|
|
|
|
function FaxEnumRoutingMethodsA(FaxPortHandle: HANDLE; var RoutingMethod: PFAX_ROUTING_METHODA; var MethodsReturned: DWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxEnumRoutingMethodsA}
|
|
function FaxEnumRoutingMethodsW(FaxPortHandle: HANDLE; var RoutingMethod: PFAX_ROUTING_METHODW; var MethodsReturned: DWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxEnumRoutingMethodsW}
|
|
function FaxEnumRoutingMethods(FaxPortHandle: HANDLE; var RoutingMethod: PFAX_ROUTING_METHOD; var MethodsReturned: DWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxEnumRoutingMethods}
|
|
|
|
function FaxEnableRoutingMethodA(FaxPortHandle: HANDLE; RoutingGuid: LPCSTR; Enabled: BOOL): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxEnableRoutingMethodA}
|
|
function FaxEnableRoutingMethodW(FaxPortHandle: HANDLE; RoutingGuid: LPCWSTR; Enabled: BOOL): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxEnableRoutingMethodW}
|
|
function FaxEnableRoutingMethod(FaxPortHandle: HANDLE; RoutingGuid: LPCTSTR; Enabled: BOOL): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxEnableRoutingMethod}
|
|
|
|
function FaxEnumGlobalRoutingInfoA(FaxHandle: HANDLE; var RoutingInfo: PFAX_GLOBAL_ROUTING_INFOA; var MethodsReturned: DWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxEnumGlobalRoutingInfoA}
|
|
function FaxEnumGlobalRoutingInfoW(FaxHandle: HANDLE; var RoutingInfo: PFAX_GLOBAL_ROUTING_INFOW; var MethodsReturned: DWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxEnumGlobalRoutingInfoW}
|
|
function FaxEnumGlobalRoutingInfo(FaxHandle: HANDLE; var RoutingInfo: PFAX_GLOBAL_ROUTING_INFO; var MethodsReturned: DWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxEnumGlobalRoutingInfo}
|
|
|
|
function FaxSetGlobalRoutingInfoA(FaxHandle: HANDLE; const RoutingInfo: FAX_GLOBAL_ROUTING_INFOA): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxSetGlobalRoutingInfoA}
|
|
function FaxSetGlobalRoutingInfoW(FaxHandle: HANDLE; const RoutingInfo: FAX_GLOBAL_ROUTING_INFOW): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxSetGlobalRoutingInfoW}
|
|
function FaxSetGlobalRoutingInfo(FaxHandle: HANDLE; const RoutingInfo: FAX_GLOBAL_ROUTING_INFO): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxSetGlobalRoutingInfo}
|
|
|
|
function FaxGetRoutingInfoA(FaxPortHandle: HANDLE; RoutingGuid: LPCSTR; var RoutingInfoBuffer: LPBYTE; var RoutingInfoBufferSize: DWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxGetRoutingInfoA}
|
|
function FaxGetRoutingInfoW(FaxPortHandle: HANDLE; RoutingGuid: LPCWSTR; var RoutingInfoBuffer: LPBYTE; var RoutingInfoBufferSize: DWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxGetRoutingInfoW}
|
|
function FaxGetRoutingInfo(FaxPortHandle: HANDLE; RoutingGuid: LPCTSTR; var RoutingInfoBuffer: LPBYTE; var RoutingInfoBufferSize: DWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxGetRoutingInfo}
|
|
|
|
function FaxSetRoutingInfoA(FaxPortHandle: HANDLE; RoutingGuid: LPCSTR; RoutingInfoBuffer: LPBYTE; RoutingInfoBufferSize: DWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxSetRoutingInfoA}
|
|
function FaxSetRoutingInfoW(FaxPortHandle: HANDLE; RoutingGuid: LPCWSTR; RoutingInfoBuffer: LPBYTE; RoutingInfoBufferSize: DWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxSetRoutingInfoW}
|
|
function FaxSetRoutingInfo(FaxPortHandle: HANDLE; RoutingGuid: LPCTSTR; RoutingInfoBuffer: LPBYTE; RoutingInfoBufferSize: DWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxSetRoutingInfo}
|
|
|
|
function FaxInitializeEventQueue(FaxHandle: HANDLE; CompletionPort: HANDLE; CompletionKey: ULONG_PTR; hWnd: HWND; MessageStart: UINT): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxInitializeEventQueue}
|
|
|
|
procedure FaxFreeBuffer(Buffer: LPVOID); stdcall;
|
|
{$EXTERNALSYM FaxFreeBuffer}
|
|
|
|
function FaxStartPrintJobA(PrinterName: LPCSTR; const PrintInfo: FAX_PRINT_INFOA; var FaxJobId: DWORD; FaxContextInfo: PFAX_CONTEXT_INFOA): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxStartPrintJobA}
|
|
function FaxStartPrintJobW(PrinterName: LPCWSTR; const PrintInfo: FAX_PRINT_INFOW; var FaxJobId: DWORD; FaxContextInfo: PFAX_CONTEXT_INFOW): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxStartPrintJobW}
|
|
function FaxStartPrintJob(PrinterName: LPCTSTR; const PrintInfo: FAX_PRINT_INFO; var FaxJobId: DWORD; FaxContextInfo: PFAX_CONTEXT_INFO): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxStartPrintJob}
|
|
|
|
function FaxPrintCoverPageA(const FaxContextInfo: FAX_CONTEXT_INFOA; const CoverPageInfo: FAX_COVERPAGE_INFOA): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxPrintCoverPageA}
|
|
function FaxPrintCoverPageW(const FaxContextInfo: FAX_CONTEXT_INFOW; const CoverPageInfo: FAX_COVERPAGE_INFOW): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxPrintCoverPageW}
|
|
function FaxPrintCoverPage(const FaxContextInfo: FAX_CONTEXT_INFO; const CoverPageInfo: FAX_COVERPAGE_INFO): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxPrintCoverPage}
|
|
|
|
function FaxRegisterServiceProviderW(DeviceProvider: LPCWSTR; FriendlyName: LPCWSTR; ImageName: LPCWSTR; TspName: LPCWSTR): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxRegisterServiceProviderW}
|
|
|
|
function FaxRegisterServiceProvider(DeviceProvider: LPCWSTR; FriendlyName: LPCWSTR; ImageName: LPCWSTR; TspName: LPCWSTR): BOOL;
|
|
{$EXTERNALSYM FaxRegisterServiceProvider}
|
|
|
|
function FaxUnregisterServiceProviderW(DeviceProvider: LPCWSTR): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxUnregisterServiceProviderW}
|
|
|
|
function FaxUnregisterServiceProvider(DeviceProvider: LPCWSTR): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxUnregisterServiceProvider}
|
|
|
|
type
|
|
PFAXUNREGISTERSERVICEPROVIDERW = function(DeviceProvider: LPCWSTR): BOOL; stdcall;
|
|
{$EXTERNALSYM PFAXUNREGISTERSERVICEPROVIDERW}
|
|
PFAXUNREGISTERSERVICEPROVIDER = PFAXUNREGISTERSERVICEPROVIDERW;
|
|
{$EXTERNALSYM PFAXUNREGISTERSERVICEPROVIDER}
|
|
|
|
type
|
|
PFAX_ROUTING_INSTALLATION_CALLBACKW = function(FaxHandle: HANDLE; Context: LPVOID; MethodName, FriendlyName, FunctionName, Guid: LPWSTR): BOOL; stdcall;
|
|
{$EXTERNALSYM PFAX_ROUTING_INSTALLATION_CALLBACKW}
|
|
TFaxRoutingInstallationCallbackW = PFAX_ROUTING_INSTALLATION_CALLBACKW;
|
|
|
|
PFAX_ROUTING_INSTALLATION_CALLBACK = PFAX_ROUTING_INSTALLATION_CALLBACKW;
|
|
{$EXTERNALSYM PFAX_ROUTING_INSTALLATION_CALLBACK}
|
|
TFaxRoutingInstallationCallback = TFaxRoutingInstallationCallbackW;
|
|
|
|
function FaxRegisterRoutingExtensionW(FaxHandle: HANDLE; ExtensionName, FriendlyName, ImageName: LPCWSTR; CallBack: PFAX_ROUTING_INSTALLATION_CALLBACKW; Context: LPVOID): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxRegisterRoutingExtensionW}
|
|
|
|
function FaxRegisterRoutingExtension(FaxHandle: HANDLE; ExtensionName, FriendlyName, ImageName: LPCWSTR; CallBack: PFAX_ROUTING_INSTALLATION_CALLBACKW; Context: LPVOID): BOOL;
|
|
{$EXTERNALSYM FaxRegisterRoutingExtension}
|
|
|
|
function FaxUnregisterRoutingExtensionA(hFaxHandle: HANDLE; lpctstrExtensionName: LPCSTR): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxUnregisterRoutingExtensionA}
|
|
function FaxUnregisterRoutingExtensionW(hFaxHandle: HANDLE; lpctstrExtensionName: LPCWSTR): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxUnregisterRoutingExtensionW}
|
|
function FaxUnregisterRoutingExtension(hFaxHandle: HANDLE; lpctstrExtensionName: LPCTSTR): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxUnregisterRoutingExtension}
|
|
|
|
function FaxAccessCheck(FaxHandle: HANDLE; AccessMask: DWORD): BOOL; stdcall;
|
|
{$EXTERNALSYM FaxAccessCheck}
|
|
|
|
//
|
|
// Fax Specific Access Rights
|
|
//
|
|
|
|
const
|
|
FAX_JOB_SUBMIT = $0001;
|
|
{$EXTERNALSYM FAX_JOB_SUBMIT}
|
|
FAX_JOB_QUERY = $0002;
|
|
{$EXTERNALSYM FAX_JOB_QUERY}
|
|
FAX_CONFIG_QUERY = $0004;
|
|
{$EXTERNALSYM FAX_CONFIG_QUERY}
|
|
FAX_CONFIG_SET = $0008;
|
|
{$EXTERNALSYM FAX_CONFIG_SET}
|
|
FAX_PORT_QUERY = $0010;
|
|
{$EXTERNALSYM FAX_PORT_QUERY}
|
|
FAX_PORT_SET = $0020;
|
|
{$EXTERNALSYM FAX_PORT_SET}
|
|
FAX_JOB_MANAGE = $0040;
|
|
{$EXTERNALSYM FAX_JOB_MANAGE}
|
|
|
|
FAX_READ = STANDARD_RIGHTS_READ or FAX_JOB_QUERY or FAX_CONFIG_QUERY or FAX_PORT_QUERY;
|
|
{$EXTERNALSYM FAX_READ}
|
|
|
|
FAX_WRITE = STANDARD_RIGHTS_WRITE or FAX_JOB_SUBMIT ;
|
|
{$EXTERNALSYM FAX_WRITE}
|
|
|
|
FAX_ALL_ACCESS = STANDARD_RIGHTS_ALL or FAX_JOB_SUBMIT or FAX_JOB_QUERY or FAX_CONFIG_QUERY or
|
|
FAX_CONFIG_SET or FAX_PORT_QUERY or FAX_PORT_SET or FAX_JOB_MANAGE;
|
|
{$EXTERNALSYM FAX_ALL_ACCESS}
|
|
|
|
implementation
|
|
|
|
const
|
|
winfax = 'winfax.dll';
|
|
{$IFDEF UNICODE}
|
|
AWSuffix = 'W';
|
|
{$ELSE}
|
|
AWSuffix = 'A';
|
|
{$ENDIF UNICODE}
|
|
|
|
function FaxConnectFaxServerA; external winfax name 'FaxConnectFaxServerA';
|
|
function FaxConnectFaxServerW; external winfax name 'FaxConnectFaxServerW';
|
|
function FaxConnectFaxServer; external winfax name 'FaxConnectFaxServer' + AWSuffix;
|
|
function FaxClose; external winfax name 'FaxClose';
|
|
function FaxOpenPort; external winfax name 'FaxOpenPort';
|
|
function FaxCompleteJobParamsA; external winfax name 'FaxCompleteJobParamsA';
|
|
function FaxCompleteJobParamsW; external winfax name 'FaxCompleteJobParamsW';
|
|
function FaxCompleteJobParams; external winfax name 'FaxCompleteJobParams' + AWSuffix;
|
|
function FaxSendDocumentA; external winfax name 'FaxSendDocumentA';
|
|
function FaxSendDocumentW; external winfax name 'FaxSendDocumentW';
|
|
function FaxSendDocument; external winfax name 'FaxSendDocument' + AWSuffix;
|
|
function FaxSendDocumentForBroadcastA; external winfax name 'FaxSendDocumentForBroadcastA';
|
|
function FaxSendDocumentForBroadcastW; external winfax name 'FaxSendDocumentForBroadcastW';
|
|
function FaxSendDocumentForBroadcast; external winfax name 'FaxSendDocumentForBroadcast' + AWSuffix;
|
|
function FaxEnumJobsA; external winfax name 'FaxEnumJobsA';
|
|
function FaxEnumJobsW; external winfax name 'FaxEnumJobsW';
|
|
function FaxEnumJobs; external winfax name 'FaxEnumJobs' + AWSuffix;
|
|
function FaxGetJobA; external winfax name 'FaxGetJobA';
|
|
function FaxGetJobW; external winfax name 'FaxGetJobW';
|
|
function FaxGetJob; external winfax name 'FaxGetJob' + AWSuffix;
|
|
function FaxSetJobA; external winfax name 'FaxSetJobA';
|
|
function FaxSetJobW; external winfax name 'FaxSetJobW';
|
|
function FaxSetJob; external winfax name 'FaxSetJob' + AWSuffix;
|
|
function FaxGetPageData; external winfax name 'FaxGetPageData';
|
|
function FaxGetDeviceStatusA; external winfax name 'FaxGetDeviceStatusA';
|
|
function FaxGetDeviceStatusW; external winfax name 'FaxGetDeviceStatusW';
|
|
function FaxGetDeviceStatus; external winfax name 'FaxGetDeviceStatus' + AWSuffix;
|
|
function FaxAbort; external winfax name 'FaxAbort';
|
|
function FaxGetConfigurationA; external winfax name 'FaxGetConfigurationA';
|
|
function FaxGetConfigurationW; external winfax name 'FaxGetConfigurationW';
|
|
function FaxGetConfiguration; external winfax name 'FaxGetConfiguration' + AWSuffix;
|
|
function FaxSetConfigurationA; external winfax name 'FaxSetConfigurationA';
|
|
function FaxSetConfigurationW; external winfax name 'FaxSetConfigurationW';
|
|
function FaxSetConfiguration; external winfax name 'FaxSetConfiguration' + AWSuffix;
|
|
function FaxGetLoggingCategoriesA; external winfax name 'FaxGetLoggingCategoriesA';
|
|
function FaxGetLoggingCategoriesW; external winfax name 'FaxGetLoggingCategoriesW';
|
|
function FaxGetLoggingCategories; external winfax name 'FaxGetLoggingCategories' + AWSuffix;
|
|
function FaxSetLoggingCategoriesA; external winfax name 'FaxSetLoggingCategoriesA';
|
|
function FaxSetLoggingCategoriesW; external winfax name 'FaxSetLoggingCategoriesW';
|
|
function FaxSetLoggingCategories; external winfax name 'FaxSetLoggingCategories' + AWSuffix;
|
|
function FaxEnumPortsA; external winfax name 'FaxEnumPortsA';
|
|
function FaxEnumPortsW; external winfax name 'FaxEnumPortsW';
|
|
function FaxEnumPorts; external winfax name 'FaxEnumPorts' + AWSuffix;
|
|
function FaxGetPortA; external winfax name 'FaxGetPortA';
|
|
function FaxGetPortW; external winfax name 'FaxGetPortW';
|
|
function FaxGetPort; external winfax name 'FaxGetPort' + AWSuffix;
|
|
function FaxSetPortA; external winfax name 'FaxSetPortA';
|
|
function FaxSetPortW; external winfax name 'FaxSetPortW';
|
|
function FaxSetPort; external winfax name 'FaxSetPort' + AWSuffix;
|
|
function FaxEnumRoutingMethodsA; external winfax name 'FaxEnumRoutingMethodsA';
|
|
function FaxEnumRoutingMethodsW; external winfax name 'FaxEnumRoutingMethodsW';
|
|
function FaxEnumRoutingMethods; external winfax name 'FaxEnumRoutingMethods' + AWSuffix;
|
|
function FaxEnableRoutingMethodA; external winfax name 'FaxEnableRoutingMethodA';
|
|
function FaxEnableRoutingMethodW; external winfax name 'FaxEnableRoutingMethodW';
|
|
function FaxEnableRoutingMethod; external winfax name 'FaxEnableRoutingMethod' + AWSuffix;
|
|
function FaxEnumGlobalRoutingInfoA; external winfax name 'FaxEnumGlobalRoutingInfoA';
|
|
function FaxEnumGlobalRoutingInfoW; external winfax name 'FaxEnumGlobalRoutingInfoW';
|
|
function FaxEnumGlobalRoutingInfo; external winfax name 'FaxEnumGlobalRoutingInfo' + AWSuffix;
|
|
function FaxSetGlobalRoutingInfoA; external winfax name 'FaxSetGlobalRoutingInfoA';
|
|
function FaxSetGlobalRoutingInfoW; external winfax name 'FaxSetGlobalRoutingInfoW';
|
|
function FaxSetGlobalRoutingInfo; external winfax name 'FaxSetGlobalRoutingInfo' + AWSuffix;
|
|
function FaxGetRoutingInfoA; external winfax name 'FaxGetRoutingInfoA';
|
|
function FaxGetRoutingInfoW; external winfax name 'FaxGetRoutingInfoW';
|
|
function FaxGetRoutingInfo; external winfax name 'FaxGetRoutingInfo' + AWSuffix;
|
|
function FaxSetRoutingInfoA; external winfax name 'FaxSetRoutingInfoA';
|
|
function FaxSetRoutingInfoW; external winfax name 'FaxSetRoutingInfoW';
|
|
function FaxSetRoutingInfo; external winfax name 'FaxSetRoutingInfo' + AWSuffix;
|
|
function FaxInitializeEventQueue; external winfax name 'FaxInitializeEventQueue';
|
|
procedure FaxFreeBuffer; external winfax name 'FaxFreeBuffer';
|
|
function FaxStartPrintJobA; external winfax name 'FaxStartPrintJobA';
|
|
function FaxStartPrintJobW; external winfax name 'FaxStartPrintJobW';
|
|
function FaxStartPrintJob; external winfax name 'FaxStartPrintJob' + AWSuffix;
|
|
function FaxPrintCoverPageA; external winfax name 'FaxPrintCoverPageA';
|
|
function FaxPrintCoverPageW; external winfax name 'FaxPrintCoverPageW';
|
|
function FaxPrintCoverPage; external winfax name 'FaxPrintCoverPage' + AWSuffix;
|
|
function FaxRegisterServiceProviderW; external winfax name 'FaxRegisterServiceProviderW';
|
|
|
|
function FaxRegisterServiceProvider(DeviceProvider: LPCWSTR; FriendlyName: LPCWSTR; ImageName: LPCWSTR; TspName: LPCWSTR): BOOL;
|
|
begin
|
|
Result := FaxRegisterServiceProviderW(DeviceProvider, FriendlyName, ImageName, TspName);
|
|
end;
|
|
|
|
function FaxUnregisterServiceProviderW; external winfax name 'FaxUnregisterServiceProviderW';
|
|
|
|
function FaxUnregisterServiceProvider(DeviceProvider: LPCWSTR): BOOL;
|
|
begin
|
|
Result := FaxUnregisterServiceProviderW(DeviceProvider);
|
|
end;
|
|
|
|
function FaxRegisterRoutingExtensionW; external winfax name 'FaxRegisterRoutingExtensionW';
|
|
|
|
function FaxRegisterRoutingExtension(FaxHandle: HANDLE; ExtensionName, FriendlyName, ImageName: LPCWSTR; CallBack: PFAX_ROUTING_INSTALLATION_CALLBACKW; Context: LPVOID): BOOL;
|
|
begin
|
|
Result := FaxRegisterRoutingExtensionW(FaxHandle, ExtensionName, FriendlyName, ImageName, CallBack, Context);
|
|
end;
|
|
|
|
function FaxUnregisterRoutingExtensionA; external winfax name 'FaxUnregisterRoutingExtensionA';
|
|
function FaxUnregisterRoutingExtensionW; external winfax name 'FaxUnregisterRoutingExtensionW';
|
|
function FaxUnregisterRoutingExtension; external winfax name 'FaxUnregisterRoutingExtension' + AWSuffix;
|
|
function FaxAccessCheck; external winfax name 'FaxAccessCheck';
|
|
|
|
end.
|