+++ /dev/null
-/*
- * winfax.h
- *
- * FAX API Support
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __WINFAX_H
-#define __WINFAX_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef DWORD HCALL;
-
-typedef struct _FAX_TIME
-{
- WORD Hour;
- WORD Minute;
-} FAX_TIME, *PFAX_TIME;
-
-typedef enum
-{
- JSA_NOW = 0,
- JSA_SPECIFIC_TIME,
- JSA_DISCOUNT_PERIOD
-} FAX_ENUM_JOB_SEND_ATTRIBUTES;
-
-typedef enum
-{
- DRT_NONE = 0,
- DRT_EMAIL,
- DRT_INBOX
-} FAX_ENUM_DELIVERY_REPORT_TYPES;
-
-typedef enum
-{
- FAXLOG_CATEGORY_INIT = 1,
- FAXLOG_CATEGORY_OUTBOUND,
- FAXLOG_CATEGORY_INBOUND,
- FAXLOG_CATEGORY_UNKNOWN
-} FAX_ENUM_LOG_CATEGORIES;
-
-typedef enum
-{
- FAXLOG_LEVEL_NONE = 0,
- FAXLOG_LEVEL_MIN,
- FAXLOG_LEVEL_MED,
- FAXLOG_LEVEL_MAX
-} FAX_ENUM_LOG_LEVELS;
-
-typedef enum
-{
- PORT_OPEN_QUERY = 1,
- PORT_OPEN_MODIFY
-} FAX_ENUM_PORT_OPEN_TYPE;
-
-typedef enum
-{
- JC_UNKNOWN = 0,
- JC_DELETE,
- JC_PAUSE,
- JC_RESUME
-} FAX_ENUM_JOB_COMMANDS;
-
-#define JT_UNKNOWN 0
-#define JT_SEND 1
-#define JT_RECEIVE 2
-#define JT_ROUTING 3
-#define JT_FAIL_RECEIVE 4
-
-#define JS_PENDING 0x0
-#define JS_INPROGRESS 0x1
-#define JS_DELETING 0x2
-#define JS_FAILED 0x4
-#define JS_PAUSED 0x8
-#define JS_NOLINE 0x10
-#define JS_RETRYING 0x20
-#define JS_RETRIES_EXCEEDED 0x40
-
-#define FPS_DIALING 0x20000001
-#define FPS_SENDING 0x20000002
-#define FPS_RECEIVING 0x20000004
-#define FPS_COMPLETED 0x20000008
-#define FPS_HANDLED 0x20000010
-#define FPS_UNAVAILABLE 0x20000020
-#define FPS_BUSY 0x20000040
-#define FPS_NO_ANSWER 0x20000080
-#define FPS_BAD_ADDRESS 0x20000100
-#define FPS_NO_DIAL_TONE 0x20000200
-#define FPS_DISCONNECTED 0x20000400
-#define FPS_FATAL_ERROR 0x20000800
-#define FPS_NOT_FAX_CALL 0x20001000
-#define FPS_CALL_DELAYED 0x20002000
-#define FPS_CALL_BLACKLISTED 0x20004000
-#define FPS_INITIALIZING 0x20008000
-#define FPS_OFFLINE 0x20010000
-#define FPS_RINGING 0x20020000
-#define FPS_AVAILABLE 0x20100000
-#define FPS_ABORTING 0x20200000
-#define FPS_ROUTING 0x20400000
-#define FPS_ANSWERED 0x20800000
-
-#define FPF_RECEIVE 0x1
-#define FPF_SEND 0x2
-#define FPF_VIRTUAL 0x4
-
-typedef struct _FAX_JOB_PARAMA
-{
- DWORD SizeOfStruct;
- LPCSTR RecipientNumber;
- LPCSTR RecipientName;
- LPCSTR Tsid;
- LPCSTR SenderName;
- LPCSTR SenderCompany;
- LPCSTR SenderDept;
- LPCSTR BillingCode;
- DWORD ScheduleAction;
- SYSTEMTIME ScheduleTime;
- DWORD DeliveryReportType;
- LPCSTR DeliveryReportAddress;
- LPCSTR DocumentName;
- HCALL CallHandle;
- DWORD_PTR Reserved[3];
-} FAX_JOB_PARAMA, *PFAX_JOB_PARAMA;
-
-typedef struct _FAX_JOB_PARAMW
-{
- DWORD SizeOfStruct;
- LPCWSTR RecipientNumber;
- LPCWSTR RecipientName;
- LPCWSTR Tsid;
- LPCWSTR SenderName;
- LPCWSTR SenderCompany;
- LPCWSTR SenderDept;
- LPCWSTR BillingCode;
- DWORD ScheduleAction;
- SYSTEMTIME ScheduleTime;
- DWORD DeliveryReportType;
- LPCWSTR DeliveryReportAddress;
- LPCWSTR DocumentName;
- HCALL CallHandle;
- DWORD_PTR Reserved[3];
-} FAX_JOB_PARAMW, *PFAX_JOB_PARAMW;
-
-typedef struct _FAX_COVERAGE_INFOA
-{
- DWORD SizeOfStruct;
-
- LPCSTR CoverPageName;
- BOOL UseServerCoverPage;
-
- LPCSTR 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 SdrName;
- LPCSTR SdrFaxNumber;
- LPCSTR SdrCompany;
- LPCSTR SdrAddress;
- LPCSTR SdrTitle;
- LPCSTR SdrDepartment;
- LPCSTR SdrOfficeLocation;
- LPCSTR SdrHomePhone;
- LPCSTR SdrOfficePhone;
-
- LPCSTR Node;
- LPCSTR Subject;
- SYSTEMTIME TimeSent;
- DWORD PageCount;
-} FAX_COVERAGE_INFOA, *PFAX_COVERAGE_INFOA;
-
-typedef struct _FAX_COVERAGE_INFOW
-{
- DWORD SizeOfStruct;
-
- LPCWSTR CoverPageName;
- BOOL UseServerCoverPage;
-
- LPCWSTR 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 SdrName;
- LPCWSTR SdrFaxNumber;
- LPCWSTR SdrCompany;
- LPCWSTR SdrAddress;
- LPCWSTR SdrTitle;
- LPCWSTR SdrDepartment;
- LPCWSTR SdrOfficeLocation;
- LPCWSTR SdrHomePhone;
- LPCWSTR SdrOfficePhone;
-
- LPCWSTR Node;
- LPCWSTR Subject;
- SYSTEMTIME TimeSent;
- DWORD PageCount;
-} FAX_COVERAGE_INFOW, *PFAX_COVERAGE_INFOW;
-
-typedef struct _FAX_GLOBAL_ROUTING_INFOA
-{
- DWORD SizeOfStruct;
- DWORD Priority;
- LPCSTR Guid;
- LPCSTR FriendlyName;
- LPCSTR FunctionName;
- LPCSTR ExtensionImageName;
- LPCSTR ExtensionFriendlyName;
-} FAX_GLOBAL_ROUTING_INFOA, *PFAX_GLOBAL_ROUTING_INFOA;
-
-typedef struct _FAX_GLOBAL_ROUTING_INFOW
-{
- DWORD SizeOfStruct;
- DWORD Priority;
- LPCWSTR Guid;
- LPCWSTR FriendlyName;
- LPCWSTR FunctionName;
- LPCWSTR ExtensionImageName;
- LPCWSTR ExtensionFriendlyName;
-} FAX_GLOBAL_ROUTING_INFOW, *PFAX_GLOBAL_ROUTING_INFOW;
-
-typedef struct _FAX_JOB_ENTRYA
-{
- DWORD SizeOfStruct;
- DWORD JobId;
- LPCSTR UserName;
- DWORD JobType;
- DWORD QueueStatus;
- DWORD Status;
- DWORD Size;
- DWORD PageCount;
- LPCSTR RecipientNumber;
- LPCSTR RecipientName;
- LPCSTR Tsid;
- LPCSTR SenderName;
- LPCSTR SenderCompany;
- LPCSTR SenderDept;
- LPCSTR BillingCode;
- DWORD ScheduleAction;
- SYSTEMTIME ScheduleTime;
- DWORD DeliveryReportType;
- LPCSTR DeliveryReportAddress;
- LPCSTR DocumentName;
-} FAX_JOB_ENTRYA, *PFAX_JOB_ENTRYA;
-
-typedef struct _FAX_JOB_ENTRYW
-{
- DWORD SizeOfStruct;
- DWORD JobId;
- LPCWSTR UserName;
- DWORD JobType;
- DWORD QueueStatus;
- DWORD Status;
- DWORD Size;
- DWORD PageCount;
- LPCWSTR RecipientNumber;
- LPCWSTR RecipientName;
- LPCWSTR Tsid;
- LPCWSTR SenderName;
- LPCWSTR SenderCompany;
- LPCWSTR SenderDept;
- LPCWSTR BillingCode;
- DWORD ScheduleAction;
- SYSTEMTIME ScheduleTime;
- DWORD DeliveryReportType;
- LPCWSTR DeliveryReportAddress;
- LPCWSTR DocumentName;
-} FAX_JOB_ENTRYW, *PFAX_JOB_ENTRYW;
-
-typedef struct _FAX_PORT_INFOA
-{
- DWORD SizeOfStruct;
- DWORD DeviceId;
- DWORD State;
- DWORD Flags;
- DWORD Rings;
- DWORD Priority;
- LPCSTR DeviceName;
- LPCSTR Tsid;
- LPCSTR Csid;
-} FAX_PORT_INFOA, *PFAX_PORT_INFOA;
-
-typedef struct _FAX_PORT_INFOW
-{
- DWORD SizeOfStruct;
- DWORD DeviceId;
- DWORD State;
- DWORD Flags;
- DWORD Rings;
- DWORD Priority;
- LPCWSTR DeviceName;
- LPCWSTR Tsid;
- LPCWSTR Csid;
-} FAX_PORT_INFOW, *PFAX_PORT_INFOW;
-
-typedef struct _FAX_ROUTING_METHODA
-{
- DWORD SizeOfStruct;
- DWORD DeviceId;
- BOOL Enabled;
- LPCSTR DeviceName;
- LPCSTR Guid;
- LPCSTR FriendlyName;
- LPCSTR FunctionName;
- LPCSTR ExtensionImageName;
- LPCSTR ExtensionFriendlyName;
-} FAX_ROUTING_METHODA, *PFAX_ROUTING_METHODA;
-
-typedef struct _FAX_ROUTING_METHODW
-{
- DWORD SizeOfStruct;
- DWORD DeviceId;
- BOOL Enabled;
- LPCWSTR DeviceName;
- LPCWSTR Guid;
- LPCWSTR FriendlyName;
- LPCWSTR FunctionName;
- LPCWSTR ExtensionImageName;
- LPCWSTR ExtensionFriendlyName;
-} FAX_ROUTING_METHODW, *PFAX_ROUTING_METHODW;
-
-typedef struct _FAX_CONFIGURATIONA
-{
- DWORD SizeOfStruct;
- DWORD Retries;
- DWORD RetryDelay;
- BOOL Branding;
- DWORD DirtyDays;
- BOOL UseDeviceTsid;
- BOOL ServerCp;
- BOOL PauseServerQueue;
- FAX_TIME StartCheapTime;
- FAX_TIME StopCheapTime;
- BOOL ArchiveOutgoingFaxes;
- LPCSTR ArchiveDirectory;
- LPCSTR InboundProfile;
-} FAX_CONFIGURATIONA, *PFAX_CONFIGURATIONA;
-
-typedef struct _FAX_CONFIGURATIONW
-{
- DWORD SizeOfStruct;
- DWORD Retries;
- DWORD RetryDelay;
- BOOL Branding;
- DWORD DirtyDays;
- BOOL UseDeviceTsid;
- BOOL ServerCp;
- BOOL PauseServerQueue;
- FAX_TIME StartCheapTime;
- FAX_TIME StopCheapTime;
- BOOL ArchiveOutgoingFaxes;
- LPCWSTR ArchiveDirectory;
- LPCWSTR InboundProfile;
-} FAX_CONFIGURATIONW, *PFAX_CONFIGURATIONW;
-
-typedef struct _FAX_DEVICE_STATUSA
-{
- DWORD SizeOfStruct;
- LPCSTR CallerId;
- LPCSTR Csid;
- DWORD CurrentPage;
- DWORD DeviceId;
- LPCSTR DeviceName;
- LPCSTR DocumentName;
- DWORD JobType;
- LPCSTR PhoneNumber;
- LPCSTR RoutingString;
- LPCSTR SenderName;
- LPCSTR RecipientName;
- DWORD Size;
- FILETIME StartTime;
- DWORD Status;
- LPCSTR StatusString;
- FILETIME SubmittedTime;
- DWORD TotalPages;
- LPCSTR Tsid;
- LPCSTR UserName;
-} FAX_DEVICE_STATUSA, *PFAX_DEVICE_STATUSA;
-
-typedef struct _FAX_DEVICE_STATUSW
-{
- DWORD SizeOfStruct;
- LPCWSTR CallerId;
- LPCWSTR Csid;
- DWORD CurrentPage;
- DWORD DeviceId;
- LPCWSTR DeviceName;
- LPCWSTR DocumentName;
- DWORD JobType;
- LPCWSTR PhoneNumber;
- LPCWSTR RoutingString;
- LPCWSTR SenderName;
- LPCWSTR RecipientName;
- DWORD Size;
- FILETIME StartTime;
- DWORD Status;
- LPCWSTR StatusString;
- FILETIME SubmittedTime;
- DWORD TotalPages;
- LPCWSTR Tsid;
- LPCWSTR UserName;
-} FAX_DEVICE_STATUSW, *PFAX_DEVICE_STATUSW;
-
-typedef struct _FAX_LOG_CATEGORYA
-{
- LPCSTR Name;
- DWORD Category;
- DWORD Level;
-} FAX_LOG_CATEGORYA, *PFAX_LOG_CATEGORYA;
-
-typedef struct _FAX_LOG_CATEGORYW
-{
- LPCWSTR Name;
- DWORD Category;
- DWORD Level;
-} FAX_LOG_CATEGORYW, *PFAX_LOG_CATEGORYW;
-
-typedef struct _FAX_CONTEXT_INFOA
-{
- DWORD SizeOfStruct;
- HDC hDC;
- CHAR ServerName[MAX_COMPUTERNAME_LENGTH + 1];
-} FAX_CONTEXT_INFOA, *PFAX_CONTEXT_INFOA;
-
-typedef struct _FAX_CONTEXT_INFOW
-{
- DWORD SizeOfStruct;
- HDC hDC;
- WCHAR ServerName[MAX_COMPUTERNAME_LENGTH + 1];
-} FAX_CONTEXT_INFOW, *PFAX_CONTEXT_INFOW;
-
-typedef struct _FAX_PRINT_INFOA
-{
- DWORD SizeOfStruct;
- LPCSTR DocName;
- LPCSTR RecipientName;
- LPCSTR RecipientNumber;
- LPCSTR SenderName;
- LPCSTR SenderCompany;
- LPCSTR SenderDept;
- LPCSTR SenderBillingCode;
- LPCSTR Reserved;
- LPCSTR DrEmailAddress;
- LPCSTR OutputFileName;
-} FAX_PRINT_INFOA, *PFAX_PRINT_INFOA;
-
-typedef struct _FAX_PRINT_INFOW
-{
- DWORD SizeOfStruct;
- LPCWSTR DocName;
- LPCWSTR RecipientName;
- LPCWSTR RecipientNumber;
- LPCWSTR SenderName;
- LPCWSTR SenderCompany;
- LPCWSTR SenderDept;
- LPCWSTR SenderBillingCode;
- LPCWSTR Reserved;
- LPCWSTR DrEmailAddress;
- LPCWSTR OutputFileName;
-} FAX_PRINT_INFOW, *PFAX_PRINT_INFOW;
-
-typedef BOOL (CALLBACK *PFAX_RECIPIENT_CALLBACKA)(HANDLE FaxHandle, DWORD RecipientNumber, LPVOID Context, PFAX_JOB_PARAMA JobParams, PFAX_COVERAGE_INFOA CoverpageInfo);
-typedef BOOL (CALLBACK *PFAX_RECIPIENT_CALLBACKW)(HANDLE FaxHandle, DWORD RecipientNumber, LPVOID Context, PFAX_JOB_PARAMW JobParams, PFAX_COVERAGE_INFOW CoverpageInfo);
-
-#ifdef UNICODE
-typedef FAX_JOB_PARAMW FAX_JOB_PARAM;
-typedef PFAX_JOB_PARAMW PFAX_JOB_PARAM;
-typedef FAX_COVERAGE_INFOW FAX_COVERAGE_INFO;
-typedef PFAX_COVERAGE_INFOW PFAX_COVERAGE_INFO;
-typedef FAX_GLOBAL_ROUTING_INFOW FAX_GLOBAL_ROUTING_INFO;
-typedef PFAX_GLOBAL_ROUTING_INFOW PFAX_GLOBAL_ROUTING_INFO;
-typedef FAX_JOB_ENTRYW FAX_JOB_ENTRY;
-typedef PFAX_JOB_ENTRYW PFAX_JOB_ENTRY;
-typedef FAX_PORT_INFOW FAX_PORT_INFO;
-typedef PFAX_PORT_INFOW PFAX_PORT_INFO;
-typedef FAX_ROUTING_METHODW FAX_ROUTING_METHOD;
-typedef PFAX_ROUTING_METHODW PFAX_ROUTING_METHOD;
-typedef FAX_CONFIGURATIONW FAX_CONFIGURATION;
-typedef PFAX_CONFIGURATIONW PFAX_CONFIGURATION;
-typedef FAX_DEVICE_STATUSW FAX_DEVICE_STATUS;
-typedef PFAX_DEVICE_STATUSW PFAX_DEVICE_STATUS;
-typedef FAX_LOG_CATEGORYW FAX_LOG_CATEGORY;
-typedef PFAX_LOG_CATEGORYW PFAX_LOG_CATEGORY;
-typedef FAX_CONTEXT_INFOW FAX_CONTEXT_INFO;
-typedef PFAX_CONTEXT_INFOW PFAX_CONTEXT_INFO;
-typedef FAX_PRINT_INFOW FAX_PRINT_INFO;
-typedef PFAX_PRINT_INFOW PFAX_PRINT_INFO;
-typedef PFAX_RECIPIENT_CALLBACKA PFAX_RECIPIENT_CALLBACK;
-#define FaxCompleteJobParams FaxCompleteJobParamsW
-#define FaxConnectFaxServer FaxConnectFaxServerW
-#define FaxEnableRoutingMethod FaxEnableRoutingMethodW
-#define FaxEnumGlobalRoutingInfo FaxEnumGlobalRoutingInfoW
-#define FaxEnumJobs FaxEnumJobsW
-#define FaxEnumPorts FaxEnumPortsW
-#define FaxEnumRoutingMethods FaxEnumRoutingMethodsW
-#define FaxGetConfiguration FaxGetConfigurationW
-#define FaxGetDeviceStatus FaxGetDeviceStatusW
-#define FaxGetJob FaxGetJobW
-#define FaxGetLoggingCategories FaxGetLoggingCategoriesW
-#define FaxGetPort FaxGetPortW
-#define FaxGetRoutingInfo FaxGetRoutingInfoW
-#define FaxSendDocument FaxSendDocumentW
-#define FaxSendDocumentForBroadcast FaxSendDocumentForBroadcastW
-#define FaxSetConfiguration FaxSetConfigurationW
-#define FaxSetGlobalRoutingInfo FaxSetGlobalRoutingInfoW
-#define FaxSetJob FaxSetJobW
-#define FaxSetLoggingCategories FaxSetLoggingCategoriesW
-#define FaxSetPort FaxSetPortW
-#define FaxSetRoutingInfo FaxSetRoutingInfoW
-#define FaxStartPrintJob FaxStartPrintJobW
-#else /* !UNICODE */
-typedef FAX_JOB_PARAMA FAX_JOB_PARAM;
-typedef PFAX_JOB_PARAMA PFAX_JOB_PARAM;
-typedef FAX_COVERAGE_INFOA FAX_COVERAGE_INFO;
-typedef PFAX_COVERAGE_INFOA PFAX_COVERAGE_INFO;
-typedef FAX_GLOBAL_ROUTING_INFOA FAX_GLOBAL_ROUTING_INFO;
-typedef PFAX_GLOBAL_ROUTING_INFOA PFAX_GLOBAL_ROUTING_INFO;
-typedef FAX_JOB_ENTRYA FAX_JOB_ENTRY;
-typedef PFAX_JOB_ENTRYA PFAX_JOB_ENTRY;
-typedef FAX_PORT_INFOA FAX_PORT_INFO;
-typedef PFAX_PORT_INFOA PFAX_PORT_INFO;
-typedef FAX_ROUTING_METHODA FAX_ROUTING_METHOD;
-typedef PFAX_ROUTING_METHODA PFAX_ROUTING_METHOD;
-typedef FAX_CONFIGURATIONA FAX_CONFIGURATION;
-typedef PFAX_CONFIGURATIONA PFAX_CONFIGURATION;
-typedef FAX_DEVICE_STATUSA FAX_DEVICE_STATUS;
-typedef PFAX_DEVICE_STATUSA PFAX_DEVICE_STATUS;
-typedef FAX_LOG_CATEGORYA FAX_LOG_CATEGORY;
-typedef PFAX_LOG_CATEGORYA PFAX_LOG_CATEGORY;
-typedef FAX_CONTEXT_INFOA FAX_CONTEXT_INFO;
-typedef PFAX_CONTEXT_INFOA PFAX_CONTEXT_INFO;
-typedef FAX_PRINT_INFOA FAX_PRINT_INFO;
-typedef PFAX_PRINT_INFOA PFAX_PRINT_INFO;
-typedef PFAX_RECIPIENT_CALLBACKW PFAX_RECIPIENT_CALLBACK;
-#define FaxCompleteJobParams FaxCompleteJobParamsA
-#define FaxConnectFaxServer FaxConnectFaxServerA
-#define FaxEnableRoutingMethod FaxEnableRoutingMethodA
-#define FaxEnumGlobalRoutingInfo FaxEnumGlobalRoutingInfoA
-#define FaxEnumJobs FaxEnumJobsA
-#define FaxEnumPorts FaxEnumPortsA
-#define FaxEnumRoutingMethods FaxEnumRoutingMethodsA
-#define FaxGetConfiguration FaxGetConfigurationA
-#define FaxGetDeviceStatus FaxGetDeviceStatusA
-#define FaxGetJob FaxGetJobA
-#define FaxGetLoggingCategories FaxGetLoggingCategoriesA
-#define FaxGetPort FaxGetPortA
-#define FaxGetRoutingInfo FaxGetRoutingInfoA
-#define FaxSendDocument FaxSendDocumentA
-#define FaxSendDocumentForBroadcast FaxSendDocumentForBroadcastA
-#define FaxSetConfiguration FaxSetConfigurationA
-#define FaxSetGlobalRoutingInfo FaxSetGlobalRoutingInfoA
-#define FaxSetJob FaxSetJobA
-#define FaxSetLoggingCategories FaxSetLoggingCategoriesA
-#define FaxSetPort FaxSetPortA
-#define FaxSetRoutingInfo FaxSetRoutingInfoA
-#define FaxStartPrintJob FaxStartPrintJobA
-#endif /* UNICODE */
-
-typedef BOOL (CALLBACK *PFAX_ROUTING_INSTALLATION_CALLBACKW)(HANDLE FaxHandle, LPVOID Context, LPWSTR MethodName, LPWSTR FriendlyName, LPWSTR FunctionName, LPWSTR Guid);
-#define PFAX_ROUTING_INSTALLATION_CALLBACK PFAX_ROUTING_INSTALLATION_CALLBACKW
-#define FaxRegisterRoutingExtension FaxRegisterRoutingExtensionW
-#define FaxRegisterServiceProvider FaxRegisterServiceProviderW
-
-BOOL WINAPI FaxAbort(HANDLE FaxHandle, DWORD JobId);
-BOOL WINAPI FaxAccessCheck(HANDLE FaxHandle, DWORD AccessMask);
-BOOL WINAPI FaxClose(HANDLE FaxHandle);
-BOOL WINAPI FaxCompleteJobParamsA(PFAX_JOB_PARAMA *JobParams, PFAX_COVERAGE_INFOA *CoverageInfo);
-BOOL WINAPI FaxCompleteJobParamsW(PFAX_JOB_PARAMW *JobParams, PFAX_COVERAGE_INFOW *CoverageInfo);
-BOOL WINAPI FaxConnectFaxServerA(LPCSTR MachineName, LPHANDLE FaxHandle);
-BOOL WINAPI FaxConnectFaxServerW(LPCWSTR MachineName, LPHANDLE FaxHandle);
-BOOL WINAPI FaxEnableRoutingMethodA(HANDLE FaxPortHandle, LPCSTR RoutingGuid, BOOL Enabled);
-BOOL WINAPI FaxEnableRoutingMethodW(HANDLE FaxPortHandle, LPCWSTR RoutingGuid, BOOL Enabled);
-BOOL WINAPI FaxEnumGlobalRoutingInfoA(HANDLE FaxHandle, PFAX_GLOBAL_ROUTING_INFOA *RoutingInfo, LPDWORD MethodsReturned);
-BOOL WINAPI FaxEnumGlobalRoutingInfoW(HANDLE FaxHandle, PFAX_GLOBAL_ROUTING_INFOW *RoutingInfo, LPDWORD MethodsReturned);
-BOOL WINAPI FaxEnumJobsA(HANDLE FaxHandle, PFAX_JOB_ENTRYA *JobEntry, LPDWORD JobsReturned);
-BOOL WINAPI FaxEnumJobsW(HANDLE FaxHandle, PFAX_JOB_ENTRYW *JobEntry, LPDWORD JobsReturned);
-BOOL WINAPI FaxEnumPortsA(HANDLE FaxHandle, PFAX_PORT_INFOA *PortInfo, LPDWORD PortsReturned);
-BOOL WINAPI FaxEnumPortsW(HANDLE FaxHandle, PFAX_PORT_INFOW *PortInfo, LPDWORD PortsReturned);
-BOOL WINAPI FaxEnumRoutingMethodsA(HANDLE FaxPortHandle, PFAX_ROUTING_METHODA *RoutingMethod, LPDWORD MethodsReturned);
-BOOL WINAPI FaxEnumRoutingMethodsW(HANDLE FaxPortHandle, PFAX_ROUTING_METHODW *RoutingMethod, LPDWORD MethodsReturned);
-VOID WINAPI FaxFreeBuffer(LPVOID Buffer);
-BOOL WINAPI FaxGetConfigurationA(HANDLE FaxHandle, PFAX_CONFIGURATIONA *FaxConfig);
-BOOL WINAPI FaxGetConfigurationW(HANDLE FaxHandle, PFAX_CONFIGURATIONW *FaxConfig);
-BOOL WINAPI FaxGetDeviceStatusA(HANDLE FaxPortHandle, PFAX_DEVICE_STATUSA *DeviceStatus);
-BOOL WINAPI FaxGetDeviceStatusW(HANDLE FaxPortHandle, PFAX_DEVICE_STATUSW *DeviceStatus);
-BOOL WINAPI FaxGetJobA(HANDLE FaxHandle, DWORD JobId, PFAX_JOB_ENTRYA *JobEntry);
-BOOL WINAPI FaxGetJobW(HANDLE FaxHandle, DWORD JobId, PFAX_JOB_ENTRYW *JobEntry);
-BOOL WINAPI FaxGetLoggingCategoriesA(HANDLE FaxHandle, PFAX_LOG_CATEGORYA *Categories, LPDWORD NumberCategories);
-BOOL WINAPI FaxGetLoggingCategoriesW(HANDLE FaxHandle, PFAX_LOG_CATEGORYW *Categories, LPDWORD NumberCategories);
-BOOL WINAPI FaxGetPageData(HANDLE FaxHandle, DWORD JobId, LPBYTE *Buffer, LPDWORD BufferSize, LPDWORD ImageWidth, LPDWORD ImageHeight);
-BOOL WINAPI FaxGetPortA(HANDLE FaxPortHandle, PFAX_PORT_INFOA *PortInfo);
-BOOL WINAPI FaxGetPortW(HANDLE FaxPortHandle, PFAX_PORT_INFOW *PortInfo);
-BOOL WINAPI FaxGetRoutingInfoA(HANDLE FaxPortHandle, LPCSTR RoutingGuid, LPBYTE *RoutingInfoBuffer, LPDWORD RoutingInfoBufferSize);
-BOOL WINAPI FaxGetRoutingInfoW(HANDLE FaxPortHandle, LPCWSTR RoutingGuid, LPBYTE *RoutingInfoBuffer, LPDWORD RoutingInfoBufferSize);
-BOOL WINAPI FaxInitializeEventQueue(HANDLE FaxHandle, HANDLE CompletionPort, ULONG_PTR CompletionKey, HWND hWnd, UINT MessageStart);
-BOOL WINAPI FaxOpenPort(HANDLE FaxHandle, DWORD DeviceId, DWORD Flags, LPHANDLE FaxPortHandle);
-BOOL WINAPI FaxPrintCoverPageA(CONST FAX_CONTEXT_INFOA *FaxContextInfo, CONST FAX_COVERAGE_INFOA *CoverPageInfo);
-BOOL WINAPI FaxPrintCoverPageW(CONST FAX_CONTEXT_INFOW *FaxContextInfo, CONST FAX_COVERAGE_INFOW *CoverPageInfo);
-BOOL WINAPI FaxRegisterRoutingExtensionW(HANDLE FaxHandle, LPCWSTR ExtensionName, LPCWSTR FriendlyName, LPCWSTR ImageName, PFAX_ROUTING_INSTALLATION_CALLBACK CallBack, LPVOID Context);
-BOOL WINAPI FaxRegisterServiceProviderW(LPCWSTR DeviceProvider, LPCWSTR FriendlyName, LPCWSTR ImageName, LPCWSTR TspName);
-BOOL WINAPI FaxSendDocumentA(HANDLE FaxHandle, LPCSTR FileName, PFAX_JOB_PARAMA JobParams, CONST FAX_COVERAGE_INFOA *CoverpageInfo, LPDWORD FaxJobId);
-BOOL WINAPI FaxSendDocumentForBroadcastA(HANDLE FaxHandle, LPCSTR FileName, LPDWORD FaxJobId, PFAX_RECIPIENT_CALLBACKA FaxRecipientCallback, LPVOID Context);
-BOOL WINAPI FaxSendDocumentForBroadcastW(HANDLE FaxHandle, LPCWSTR FileName, LPDWORD FaxJobId, PFAX_RECIPIENT_CALLBACKW FaxRecipientCallback, LPVOID Context);
-BOOL WINAPI FaxSendDocumentW(HANDLE FaxHandle, LPCWSTR FileName, PFAX_JOB_PARAMW JobParams, CONST FAX_COVERAGE_INFOW *CoverpageInfo, LPDWORD FaxJobId);
-BOOL WINAPI FaxSetConfigurationA(HANDLE FaxHandle, CONST FAX_CONFIGURATIONA *FaxConfig);
-BOOL WINAPI FaxSetConfigurationW(HANDLE FaxHandle, CONST FAX_CONFIGURATIONW *FaxConfig);
-BOOL WINAPI FaxSetGlobalRoutingInfoA(HANDLE FaxHandle, CONST FAX_GLOBAL_ROUTING_INFOA *RoutingInfo);
-BOOL WINAPI FaxSetGlobalRoutingInfoW(HANDLE FaxHandle, CONST FAX_GLOBAL_ROUTING_INFOW *RoutingInfo);
-BOOL WINAPI FaxSetJobA(HANDLE FaxHandle, DWORD JobId, DWORD Command, CONST FAX_JOB_ENTRYA *JobEntry);
-BOOL WINAPI FaxSetJobW(HANDLE FaxHandle, DWORD JobId, DWORD Command, CONST FAX_JOB_ENTRYW *JobEntry);
-BOOL WINAPI FaxSetLoggingCategoriesA(HANDLE FaxHandle, CONST FAX_LOG_CATEGORYA *Categories, DWORD NumberCategories);
-BOOL WINAPI FaxSetLoggingCategoriesW(HANDLE FaxHandle, CONST FAX_LOG_CATEGORYW *Categories, DWORD NumberCategories);
-BOOL WINAPI FaxSetPortA(HANDLE FaxPortHandle, CONST FAX_PORT_INFOA *PortInfo);
-BOOL WINAPI FaxSetPortW(HANDLE FaxPortHandle, CONST FAX_PORT_INFOW *PortInfo);
-BOOL WINAPI FaxSetRoutingInfoA(HANDLE FaxPortHandle, LPCSTR RoutingGuid, CONST BYTE *RoutingInfoBuffer, DWORD RoutingInfoBufferSize);
-BOOL WINAPI FaxSetRoutingInfoW(HANDLE FaxPortHandle, LPCWSTR RoutingGuid, CONST BYTE *RoutingInfoBuffer, DWORD RoutingInfoBufferSize);
-BOOL WINAPI FaxStartPrintJobA(LPCSTR PrinterName, CONST FAX_PRINT_INFOA *PrintInfo, LPDWORD FaxJobId, PFAX_CONTEXT_INFOA FaxContextInfo);
-BOOL WINAPI FaxStartPrintJobW(LPCWSTR PrinterName, CONST FAX_PRINT_INFOW *PrintInfo, LPDWORD FaxJobId, PFAX_CONTEXT_INFOW FaxContextInfo);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* __WINFAX_H */
-
-/* EOF */