Reactos
at master 656 lines 21 kB view raw
1/* 2 * winfax.h 3 * 4 * FAX API Support 5 * 6 * THIS SOFTWARE IS NOT COPYRIGHTED 7 * 8 * This source code is offered for use in the public domain. You may 9 * use, modify or distribute it freely. 10 * 11 * This code is distributed in the hope that it will be useful but 12 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY 13 * DISCLAIMED. This includes but is not limited to warranties of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 * 16 */ 17 18#ifndef __WINFAX_H 19#define __WINFAX_H 20 21#ifdef __cplusplus 22extern "C" { 23#endif 24 25typedef DWORD HCALL; 26 27typedef struct _FAX_TIME 28{ 29 WORD Hour; 30 WORD Minute; 31} FAX_TIME, *PFAX_TIME; 32 33typedef enum 34{ 35 JSA_NOW = 0, 36 JSA_SPECIFIC_TIME, 37 JSA_DISCOUNT_PERIOD 38} FAX_ENUM_JOB_SEND_ATTRIBUTES; 39 40typedef enum 41{ 42 DRT_NONE = 0, 43 DRT_EMAIL, 44 DRT_INBOX 45} FAX_ENUM_DELIVERY_REPORT_TYPES; 46 47typedef enum 48{ 49 FAXLOG_CATEGORY_INIT = 1, 50 FAXLOG_CATEGORY_OUTBOUND, 51 FAXLOG_CATEGORY_INBOUND, 52 FAXLOG_CATEGORY_UNKNOWN 53} FAX_ENUM_LOG_CATEGORIES; 54 55typedef enum 56{ 57 FAXLOG_LEVEL_NONE = 0, 58 FAXLOG_LEVEL_MIN, 59 FAXLOG_LEVEL_MED, 60 FAXLOG_LEVEL_MAX 61} FAX_ENUM_LOG_LEVELS; 62 63typedef enum 64{ 65 PORT_OPEN_QUERY = 1, 66 PORT_OPEN_MODIFY 67} FAX_ENUM_PORT_OPEN_TYPE; 68 69typedef enum 70{ 71 JC_UNKNOWN = 0, 72 JC_DELETE, 73 JC_PAUSE, 74 JC_RESUME 75} FAX_ENUM_JOB_COMMANDS; 76 77#define JT_UNKNOWN 0 78#define JT_SEND 1 79#define JT_RECEIVE 2 80#define JT_ROUTING 3 81#define JT_FAIL_RECEIVE 4 82 83#define JS_PENDING 0x0 84#define JS_INPROGRESS 0x1 85#define JS_DELETING 0x2 86#define JS_FAILED 0x4 87#define JS_PAUSED 0x8 88#define JS_NOLINE 0x10 89#define JS_RETRYING 0x20 90#define JS_RETRIES_EXCEEDED 0x40 91 92#define FPS_DIALING 0x20000001 93#define FPS_SENDING 0x20000002 94#define FPS_RECEIVING 0x20000004 95#define FPS_COMPLETED 0x20000008 96#define FPS_HANDLED 0x20000010 97#define FPS_UNAVAILABLE 0x20000020 98#define FPS_BUSY 0x20000040 99#define FPS_NO_ANSWER 0x20000080 100#define FPS_BAD_ADDRESS 0x20000100 101#define FPS_NO_DIAL_TONE 0x20000200 102#define FPS_DISCONNECTED 0x20000400 103#define FPS_FATAL_ERROR 0x20000800 104#define FPS_NOT_FAX_CALL 0x20001000 105#define FPS_CALL_DELAYED 0x20002000 106#define FPS_CALL_BLACKLISTED 0x20004000 107#define FPS_INITIALIZING 0x20008000 108#define FPS_OFFLINE 0x20010000 109#define FPS_RINGING 0x20020000 110#define FPS_AVAILABLE 0x20100000 111#define FPS_ABORTING 0x20200000 112#define FPS_ROUTING 0x20400000 113#define FPS_ANSWERED 0x20800000 114 115#define FPF_RECEIVE 0x1 116#define FPF_SEND 0x2 117#define FPF_VIRTUAL 0x4 118 119typedef struct _FAX_JOB_PARAMA 120{ 121 DWORD SizeOfStruct; 122 LPCSTR RecipientNumber; 123 LPCSTR RecipientName; 124 LPCSTR Tsid; 125 LPCSTR SenderName; 126 LPCSTR SenderCompany; 127 LPCSTR SenderDept; 128 LPCSTR BillingCode; 129 DWORD ScheduleAction; 130 SYSTEMTIME ScheduleTime; 131 DWORD DeliveryReportType; 132 LPCSTR DeliveryReportAddress; 133 LPCSTR DocumentName; 134 HCALL CallHandle; 135 DWORD_PTR Reserved[3]; 136} FAX_JOB_PARAMA, *PFAX_JOB_PARAMA; 137 138typedef struct _FAX_JOB_PARAMW 139{ 140 DWORD SizeOfStruct; 141 LPCWSTR RecipientNumber; 142 LPCWSTR RecipientName; 143 LPCWSTR Tsid; 144 LPCWSTR SenderName; 145 LPCWSTR SenderCompany; 146 LPCWSTR SenderDept; 147 LPCWSTR BillingCode; 148 DWORD ScheduleAction; 149 SYSTEMTIME ScheduleTime; 150 DWORD DeliveryReportType; 151 LPCWSTR DeliveryReportAddress; 152 LPCWSTR DocumentName; 153 HCALL CallHandle; 154 DWORD_PTR Reserved[3]; 155} FAX_JOB_PARAMW, *PFAX_JOB_PARAMW; 156 157typedef struct _FAX_COVERAGE_INFOA 158{ 159 DWORD SizeOfStruct; 160 161 LPCSTR CoverPageName; 162 BOOL UseServerCoverPage; 163 164 LPCSTR RecName; 165 LPCSTR RecFaxNumber; 166 LPCSTR RecCompany; 167 LPCSTR RecStreetAddress; 168 LPCSTR RecCity; 169 LPCSTR RecState; 170 LPCSTR RecZip; 171 LPCSTR RecCountry; 172 LPCSTR RecTitle; 173 LPCSTR RecDepartment; 174 LPCSTR RecOfficeLocation; 175 LPCSTR RecHomePhone; 176 LPCSTR RecOfficePhone; 177 178 LPCSTR SdrName; 179 LPCSTR SdrFaxNumber; 180 LPCSTR SdrCompany; 181 LPCSTR SdrAddress; 182 LPCSTR SdrTitle; 183 LPCSTR SdrDepartment; 184 LPCSTR SdrOfficeLocation; 185 LPCSTR SdrHomePhone; 186 LPCSTR SdrOfficePhone; 187 188 LPCSTR Node; 189 LPCSTR Subject; 190 SYSTEMTIME TimeSent; 191 DWORD PageCount; 192} FAX_COVERAGE_INFOA, *PFAX_COVERAGE_INFOA; 193 194typedef struct _FAX_COVERAGE_INFOW 195{ 196 DWORD SizeOfStruct; 197 198 LPCWSTR CoverPageName; 199 BOOL UseServerCoverPage; 200 201 LPCWSTR RecName; 202 LPCWSTR RecFaxNumber; 203 LPCWSTR RecCompany; 204 LPCWSTR RecStreetAddress; 205 LPCWSTR RecCity; 206 LPCWSTR RecState; 207 LPCWSTR RecZip; 208 LPCWSTR RecCountry; 209 LPCWSTR RecTitle; 210 LPCWSTR RecDepartment; 211 LPCWSTR RecOfficeLocation; 212 LPCWSTR RecHomePhone; 213 LPCWSTR RecOfficePhone; 214 215 LPCWSTR SdrName; 216 LPCWSTR SdrFaxNumber; 217 LPCWSTR SdrCompany; 218 LPCWSTR SdrAddress; 219 LPCWSTR SdrTitle; 220 LPCWSTR SdrDepartment; 221 LPCWSTR SdrOfficeLocation; 222 LPCWSTR SdrHomePhone; 223 LPCWSTR SdrOfficePhone; 224 225 LPCWSTR Node; 226 LPCWSTR Subject; 227 SYSTEMTIME TimeSent; 228 DWORD PageCount; 229} FAX_COVERAGE_INFOW, *PFAX_COVERAGE_INFOW; 230 231typedef struct _FAX_GLOBAL_ROUTING_INFOA 232{ 233 DWORD SizeOfStruct; 234 DWORD Priority; 235 LPCSTR Guid; 236 LPCSTR FriendlyName; 237 LPCSTR FunctionName; 238 LPCSTR ExtensionImageName; 239 LPCSTR ExtensionFriendlyName; 240} FAX_GLOBAL_ROUTING_INFOA, *PFAX_GLOBAL_ROUTING_INFOA; 241 242typedef struct _FAX_GLOBAL_ROUTING_INFOW 243{ 244 DWORD SizeOfStruct; 245 DWORD Priority; 246 LPCWSTR Guid; 247 LPCWSTR FriendlyName; 248 LPCWSTR FunctionName; 249 LPCWSTR ExtensionImageName; 250 LPCWSTR ExtensionFriendlyName; 251} FAX_GLOBAL_ROUTING_INFOW, *PFAX_GLOBAL_ROUTING_INFOW; 252 253typedef struct _FAX_JOB_ENTRYA 254{ 255 DWORD SizeOfStruct; 256 DWORD JobId; 257 LPCSTR UserName; 258 DWORD JobType; 259 DWORD QueueStatus; 260 DWORD Status; 261 DWORD Size; 262 DWORD PageCount; 263 LPCSTR RecipientNumber; 264 LPCSTR RecipientName; 265 LPCSTR Tsid; 266 LPCSTR SenderName; 267 LPCSTR SenderCompany; 268 LPCSTR SenderDept; 269 LPCSTR BillingCode; 270 DWORD ScheduleAction; 271 SYSTEMTIME ScheduleTime; 272 DWORD DeliveryReportType; 273 LPCSTR DeliveryReportAddress; 274 LPCSTR DocumentName; 275} FAX_JOB_ENTRYA, *PFAX_JOB_ENTRYA; 276 277typedef struct _FAX_JOB_ENTRYW 278{ 279 DWORD SizeOfStruct; 280 DWORD JobId; 281 LPCWSTR UserName; 282 DWORD JobType; 283 DWORD QueueStatus; 284 DWORD Status; 285 DWORD Size; 286 DWORD PageCount; 287 LPCWSTR RecipientNumber; 288 LPCWSTR RecipientName; 289 LPCWSTR Tsid; 290 LPCWSTR SenderName; 291 LPCWSTR SenderCompany; 292 LPCWSTR SenderDept; 293 LPCWSTR BillingCode; 294 DWORD ScheduleAction; 295 SYSTEMTIME ScheduleTime; 296 DWORD DeliveryReportType; 297 LPCWSTR DeliveryReportAddress; 298 LPCWSTR DocumentName; 299} FAX_JOB_ENTRYW, *PFAX_JOB_ENTRYW; 300 301typedef struct _FAX_PORT_INFOA 302{ 303 DWORD SizeOfStruct; 304 DWORD DeviceId; 305 DWORD State; 306 DWORD Flags; 307 DWORD Rings; 308 DWORD Priority; 309 LPCSTR DeviceName; 310 LPCSTR Tsid; 311 LPCSTR Csid; 312} FAX_PORT_INFOA, *PFAX_PORT_INFOA; 313 314typedef struct _FAX_PORT_INFOW 315{ 316 DWORD SizeOfStruct; 317 DWORD DeviceId; 318 DWORD State; 319 DWORD Flags; 320 DWORD Rings; 321 DWORD Priority; 322 LPCWSTR DeviceName; 323 LPCWSTR Tsid; 324 LPCWSTR Csid; 325} FAX_PORT_INFOW, *PFAX_PORT_INFOW; 326 327typedef struct _FAX_ROUTING_METHODA 328{ 329 DWORD SizeOfStruct; 330 DWORD DeviceId; 331 BOOL Enabled; 332 LPCSTR DeviceName; 333 LPCSTR Guid; 334 LPCSTR FriendlyName; 335 LPCSTR FunctionName; 336 LPCSTR ExtensionImageName; 337 LPCSTR ExtensionFriendlyName; 338} FAX_ROUTING_METHODA, *PFAX_ROUTING_METHODA; 339 340typedef struct _FAX_ROUTING_METHODW 341{ 342 DWORD SizeOfStruct; 343 DWORD DeviceId; 344 BOOL Enabled; 345 LPCWSTR DeviceName; 346 LPCWSTR Guid; 347 LPCWSTR FriendlyName; 348 LPCWSTR FunctionName; 349 LPCWSTR ExtensionImageName; 350 LPCWSTR ExtensionFriendlyName; 351} FAX_ROUTING_METHODW, *PFAX_ROUTING_METHODW; 352 353typedef struct _FAX_CONFIGURATIONA 354{ 355 DWORD SizeOfStruct; 356 DWORD Retries; 357 DWORD RetryDelay; 358 BOOL Branding; 359 DWORD DirtyDays; 360 BOOL UseDeviceTsid; 361 BOOL ServerCp; 362 BOOL PauseServerQueue; 363 FAX_TIME StartCheapTime; 364 FAX_TIME StopCheapTime; 365 BOOL ArchiveOutgoingFaxes; 366 LPCSTR ArchiveDirectory; 367 LPCSTR InboundProfile; 368} FAX_CONFIGURATIONA, *PFAX_CONFIGURATIONA; 369 370typedef struct _FAX_CONFIGURATIONW 371{ 372 DWORD SizeOfStruct; 373 DWORD Retries; 374 DWORD RetryDelay; 375 BOOL Branding; 376 DWORD DirtyDays; 377 BOOL UseDeviceTsid; 378 BOOL ServerCp; 379 BOOL PauseServerQueue; 380 FAX_TIME StartCheapTime; 381 FAX_TIME StopCheapTime; 382 BOOL ArchiveOutgoingFaxes; 383 LPCWSTR ArchiveDirectory; 384 LPCWSTR InboundProfile; 385} FAX_CONFIGURATIONW, *PFAX_CONFIGURATIONW; 386 387typedef struct _FAX_DEVICE_STATUSA 388{ 389 DWORD SizeOfStruct; 390 LPCSTR CallerId; 391 LPCSTR Csid; 392 DWORD CurrentPage; 393 DWORD DeviceId; 394 LPCSTR DeviceName; 395 LPCSTR DocumentName; 396 DWORD JobType; 397 LPCSTR PhoneNumber; 398 LPCSTR RoutingString; 399 LPCSTR SenderName; 400 LPCSTR RecipientName; 401 DWORD Size; 402 FILETIME StartTime; 403 DWORD Status; 404 LPCSTR StatusString; 405 FILETIME SubmittedTime; 406 DWORD TotalPages; 407 LPCSTR Tsid; 408 LPCSTR UserName; 409} FAX_DEVICE_STATUSA, *PFAX_DEVICE_STATUSA; 410 411typedef struct _FAX_DEVICE_STATUSW 412{ 413 DWORD SizeOfStruct; 414 LPCWSTR CallerId; 415 LPCWSTR Csid; 416 DWORD CurrentPage; 417 DWORD DeviceId; 418 LPCWSTR DeviceName; 419 LPCWSTR DocumentName; 420 DWORD JobType; 421 LPCWSTR PhoneNumber; 422 LPCWSTR RoutingString; 423 LPCWSTR SenderName; 424 LPCWSTR RecipientName; 425 DWORD Size; 426 FILETIME StartTime; 427 DWORD Status; 428 LPCWSTR StatusString; 429 FILETIME SubmittedTime; 430 DWORD TotalPages; 431 LPCWSTR Tsid; 432 LPCWSTR UserName; 433} FAX_DEVICE_STATUSW, *PFAX_DEVICE_STATUSW; 434 435typedef struct _FAX_LOG_CATEGORYA 436{ 437 LPCSTR Name; 438 DWORD Category; 439 DWORD Level; 440} FAX_LOG_CATEGORYA, *PFAX_LOG_CATEGORYA; 441 442typedef struct _FAX_LOG_CATEGORYW 443{ 444 LPCWSTR Name; 445 DWORD Category; 446 DWORD Level; 447} FAX_LOG_CATEGORYW, *PFAX_LOG_CATEGORYW; 448 449typedef struct _FAX_CONTEXT_INFOA 450{ 451 DWORD SizeOfStruct; 452 HDC hDC; 453 CHAR ServerName[MAX_COMPUTERNAME_LENGTH + 1]; 454} FAX_CONTEXT_INFOA, *PFAX_CONTEXT_INFOA; 455 456typedef struct _FAX_CONTEXT_INFOW 457{ 458 DWORD SizeOfStruct; 459 HDC hDC; 460 WCHAR ServerName[MAX_COMPUTERNAME_LENGTH + 1]; 461} FAX_CONTEXT_INFOW, *PFAX_CONTEXT_INFOW; 462 463typedef struct _FAX_PRINT_INFOA 464{ 465 DWORD SizeOfStruct; 466 LPCSTR DocName; 467 LPCSTR RecipientName; 468 LPCSTR RecipientNumber; 469 LPCSTR SenderName; 470 LPCSTR SenderCompany; 471 LPCSTR SenderDept; 472 LPCSTR SenderBillingCode; 473 LPCSTR Reserved; 474 LPCSTR DrEmailAddress; 475 LPCSTR OutputFileName; 476} FAX_PRINT_INFOA, *PFAX_PRINT_INFOA; 477 478typedef struct _FAX_PRINT_INFOW 479{ 480 DWORD SizeOfStruct; 481 LPCWSTR DocName; 482 LPCWSTR RecipientName; 483 LPCWSTR RecipientNumber; 484 LPCWSTR SenderName; 485 LPCWSTR SenderCompany; 486 LPCWSTR SenderDept; 487 LPCWSTR SenderBillingCode; 488 LPCWSTR Reserved; 489 LPCWSTR DrEmailAddress; 490 LPCWSTR OutputFileName; 491} FAX_PRINT_INFOW, *PFAX_PRINT_INFOW; 492 493typedef BOOL (CALLBACK *PFAX_RECIPIENT_CALLBACKA)(HANDLE FaxHandle, DWORD RecipientNumber, LPVOID Context, PFAX_JOB_PARAMA JobParams, PFAX_COVERAGE_INFOA CoverpageInfo); 494typedef BOOL (CALLBACK *PFAX_RECIPIENT_CALLBACKW)(HANDLE FaxHandle, DWORD RecipientNumber, LPVOID Context, PFAX_JOB_PARAMW JobParams, PFAX_COVERAGE_INFOW CoverpageInfo); 495 496#ifdef UNICODE 497typedef FAX_JOB_PARAMW FAX_JOB_PARAM; 498typedef PFAX_JOB_PARAMW PFAX_JOB_PARAM; 499typedef FAX_COVERAGE_INFOW FAX_COVERAGE_INFO; 500typedef PFAX_COVERAGE_INFOW PFAX_COVERAGE_INFO; 501typedef FAX_GLOBAL_ROUTING_INFOW FAX_GLOBAL_ROUTING_INFO; 502typedef PFAX_GLOBAL_ROUTING_INFOW PFAX_GLOBAL_ROUTING_INFO; 503typedef FAX_JOB_ENTRYW FAX_JOB_ENTRY; 504typedef PFAX_JOB_ENTRYW PFAX_JOB_ENTRY; 505typedef FAX_PORT_INFOW FAX_PORT_INFO; 506typedef PFAX_PORT_INFOW PFAX_PORT_INFO; 507typedef FAX_ROUTING_METHODW FAX_ROUTING_METHOD; 508typedef PFAX_ROUTING_METHODW PFAX_ROUTING_METHOD; 509typedef FAX_CONFIGURATIONW FAX_CONFIGURATION; 510typedef PFAX_CONFIGURATIONW PFAX_CONFIGURATION; 511typedef FAX_DEVICE_STATUSW FAX_DEVICE_STATUS; 512typedef PFAX_DEVICE_STATUSW PFAX_DEVICE_STATUS; 513typedef FAX_LOG_CATEGORYW FAX_LOG_CATEGORY; 514typedef PFAX_LOG_CATEGORYW PFAX_LOG_CATEGORY; 515typedef FAX_CONTEXT_INFOW FAX_CONTEXT_INFO; 516typedef PFAX_CONTEXT_INFOW PFAX_CONTEXT_INFO; 517typedef FAX_PRINT_INFOW FAX_PRINT_INFO; 518typedef PFAX_PRINT_INFOW PFAX_PRINT_INFO; 519typedef PFAX_RECIPIENT_CALLBACKA PFAX_RECIPIENT_CALLBACK; 520#define FaxCompleteJobParams FaxCompleteJobParamsW 521#define FaxConnectFaxServer FaxConnectFaxServerW 522#define FaxEnableRoutingMethod FaxEnableRoutingMethodW 523#define FaxEnumGlobalRoutingInfo FaxEnumGlobalRoutingInfoW 524#define FaxEnumJobs FaxEnumJobsW 525#define FaxEnumPorts FaxEnumPortsW 526#define FaxEnumRoutingMethods FaxEnumRoutingMethodsW 527#define FaxGetConfiguration FaxGetConfigurationW 528#define FaxGetDeviceStatus FaxGetDeviceStatusW 529#define FaxGetJob FaxGetJobW 530#define FaxGetLoggingCategories FaxGetLoggingCategoriesW 531#define FaxGetPort FaxGetPortW 532#define FaxGetRoutingInfo FaxGetRoutingInfoW 533#define FaxSendDocument FaxSendDocumentW 534#define FaxSendDocumentForBroadcast FaxSendDocumentForBroadcastW 535#define FaxSetConfiguration FaxSetConfigurationW 536#define FaxSetGlobalRoutingInfo FaxSetGlobalRoutingInfoW 537#define FaxSetJob FaxSetJobW 538#define FaxSetLoggingCategories FaxSetLoggingCategoriesW 539#define FaxSetPort FaxSetPortW 540#define FaxSetRoutingInfo FaxSetRoutingInfoW 541#define FaxStartPrintJob FaxStartPrintJobW 542#else /* !UNICODE */ 543typedef FAX_JOB_PARAMA FAX_JOB_PARAM; 544typedef PFAX_JOB_PARAMA PFAX_JOB_PARAM; 545typedef FAX_COVERAGE_INFOA FAX_COVERAGE_INFO; 546typedef PFAX_COVERAGE_INFOA PFAX_COVERAGE_INFO; 547typedef FAX_GLOBAL_ROUTING_INFOA FAX_GLOBAL_ROUTING_INFO; 548typedef PFAX_GLOBAL_ROUTING_INFOA PFAX_GLOBAL_ROUTING_INFO; 549typedef FAX_JOB_ENTRYA FAX_JOB_ENTRY; 550typedef PFAX_JOB_ENTRYA PFAX_JOB_ENTRY; 551typedef FAX_PORT_INFOA FAX_PORT_INFO; 552typedef PFAX_PORT_INFOA PFAX_PORT_INFO; 553typedef FAX_ROUTING_METHODA FAX_ROUTING_METHOD; 554typedef PFAX_ROUTING_METHODA PFAX_ROUTING_METHOD; 555typedef FAX_CONFIGURATIONA FAX_CONFIGURATION; 556typedef PFAX_CONFIGURATIONA PFAX_CONFIGURATION; 557typedef FAX_DEVICE_STATUSA FAX_DEVICE_STATUS; 558typedef PFAX_DEVICE_STATUSA PFAX_DEVICE_STATUS; 559typedef FAX_LOG_CATEGORYA FAX_LOG_CATEGORY; 560typedef PFAX_LOG_CATEGORYA PFAX_LOG_CATEGORY; 561typedef FAX_CONTEXT_INFOA FAX_CONTEXT_INFO; 562typedef PFAX_CONTEXT_INFOA PFAX_CONTEXT_INFO; 563typedef FAX_PRINT_INFOA FAX_PRINT_INFO; 564typedef PFAX_PRINT_INFOA PFAX_PRINT_INFO; 565typedef PFAX_RECIPIENT_CALLBACKW PFAX_RECIPIENT_CALLBACK; 566#define FaxCompleteJobParams FaxCompleteJobParamsA 567#define FaxConnectFaxServer FaxConnectFaxServerA 568#define FaxEnableRoutingMethod FaxEnableRoutingMethodA 569#define FaxEnumGlobalRoutingInfo FaxEnumGlobalRoutingInfoA 570#define FaxEnumJobs FaxEnumJobsA 571#define FaxEnumPorts FaxEnumPortsA 572#define FaxEnumRoutingMethods FaxEnumRoutingMethodsA 573#define FaxGetConfiguration FaxGetConfigurationA 574#define FaxGetDeviceStatus FaxGetDeviceStatusA 575#define FaxGetJob FaxGetJobA 576#define FaxGetLoggingCategories FaxGetLoggingCategoriesA 577#define FaxGetPort FaxGetPortA 578#define FaxGetRoutingInfo FaxGetRoutingInfoA 579#define FaxSendDocument FaxSendDocumentA 580#define FaxSendDocumentForBroadcast FaxSendDocumentForBroadcastA 581#define FaxSetConfiguration FaxSetConfigurationA 582#define FaxSetGlobalRoutingInfo FaxSetGlobalRoutingInfoA 583#define FaxSetJob FaxSetJobA 584#define FaxSetLoggingCategories FaxSetLoggingCategoriesA 585#define FaxSetPort FaxSetPortA 586#define FaxSetRoutingInfo FaxSetRoutingInfoA 587#define FaxStartPrintJob FaxStartPrintJobA 588#endif /* UNICODE */ 589 590typedef BOOL (CALLBACK *PFAX_ROUTING_INSTALLATION_CALLBACKW)(HANDLE FaxHandle, LPVOID Context, LPWSTR MethodName, LPWSTR FriendlyName, LPWSTR FunctionName, LPWSTR Guid); 591#define PFAX_ROUTING_INSTALLATION_CALLBACK PFAX_ROUTING_INSTALLATION_CALLBACKW 592#define FaxRegisterRoutingExtension FaxRegisterRoutingExtensionW 593#define FaxRegisterServiceProvider FaxRegisterServiceProviderW 594 595BOOL WINAPI FaxAbort(HANDLE FaxHandle, DWORD JobId); 596BOOL WINAPI FaxAccessCheck(HANDLE FaxHandle, DWORD AccessMask); 597BOOL WINAPI FaxClose(HANDLE FaxHandle); 598BOOL WINAPI FaxCompleteJobParamsA(PFAX_JOB_PARAMA *JobParams, PFAX_COVERAGE_INFOA *CoverageInfo); 599BOOL WINAPI FaxCompleteJobParamsW(PFAX_JOB_PARAMW *JobParams, PFAX_COVERAGE_INFOW *CoverageInfo); 600BOOL WINAPI FaxConnectFaxServerA(LPCSTR MachineName, LPHANDLE FaxHandle); 601BOOL WINAPI FaxConnectFaxServerW(LPCWSTR MachineName, LPHANDLE FaxHandle); 602BOOL WINAPI FaxEnableRoutingMethodA(HANDLE FaxPortHandle, LPCSTR RoutingGuid, BOOL Enabled); 603BOOL WINAPI FaxEnableRoutingMethodW(HANDLE FaxPortHandle, LPCWSTR RoutingGuid, BOOL Enabled); 604BOOL WINAPI FaxEnumGlobalRoutingInfoA(HANDLE FaxHandle, PFAX_GLOBAL_ROUTING_INFOA *RoutingInfo, LPDWORD MethodsReturned); 605BOOL WINAPI FaxEnumGlobalRoutingInfoW(HANDLE FaxHandle, PFAX_GLOBAL_ROUTING_INFOW *RoutingInfo, LPDWORD MethodsReturned); 606BOOL WINAPI FaxEnumJobsA(HANDLE FaxHandle, PFAX_JOB_ENTRYA *JobEntry, LPDWORD JobsReturned); 607BOOL WINAPI FaxEnumJobsW(HANDLE FaxHandle, PFAX_JOB_ENTRYW *JobEntry, LPDWORD JobsReturned); 608BOOL WINAPI FaxEnumPortsA(HANDLE FaxHandle, PFAX_PORT_INFOA *PortInfo, LPDWORD PortsReturned); 609BOOL WINAPI FaxEnumPortsW(HANDLE FaxHandle, PFAX_PORT_INFOW *PortInfo, LPDWORD PortsReturned); 610BOOL WINAPI FaxEnumRoutingMethodsA(HANDLE FaxPortHandle, PFAX_ROUTING_METHODA *RoutingMethod, LPDWORD MethodsReturned); 611BOOL WINAPI FaxEnumRoutingMethodsW(HANDLE FaxPortHandle, PFAX_ROUTING_METHODW *RoutingMethod, LPDWORD MethodsReturned); 612VOID WINAPI FaxFreeBuffer(LPVOID Buffer); 613BOOL WINAPI FaxGetConfigurationA(HANDLE FaxHandle, PFAX_CONFIGURATIONA *FaxConfig); 614BOOL WINAPI FaxGetConfigurationW(HANDLE FaxHandle, PFAX_CONFIGURATIONW *FaxConfig); 615BOOL WINAPI FaxGetDeviceStatusA(HANDLE FaxPortHandle, PFAX_DEVICE_STATUSA *DeviceStatus); 616BOOL WINAPI FaxGetDeviceStatusW(HANDLE FaxPortHandle, PFAX_DEVICE_STATUSW *DeviceStatus); 617BOOL WINAPI FaxGetJobA(HANDLE FaxHandle, DWORD JobId, PFAX_JOB_ENTRYA *JobEntry); 618BOOL WINAPI FaxGetJobW(HANDLE FaxHandle, DWORD JobId, PFAX_JOB_ENTRYW *JobEntry); 619BOOL WINAPI FaxGetLoggingCategoriesA(HANDLE FaxHandle, PFAX_LOG_CATEGORYA *Categories, LPDWORD NumberCategories); 620BOOL WINAPI FaxGetLoggingCategoriesW(HANDLE FaxHandle, PFAX_LOG_CATEGORYW *Categories, LPDWORD NumberCategories); 621BOOL WINAPI FaxGetPageData(HANDLE FaxHandle, DWORD JobId, LPBYTE *Buffer, LPDWORD BufferSize, LPDWORD ImageWidth, LPDWORD ImageHeight); 622BOOL WINAPI FaxGetPortA(HANDLE FaxPortHandle, PFAX_PORT_INFOA *PortInfo); 623BOOL WINAPI FaxGetPortW(HANDLE FaxPortHandle, PFAX_PORT_INFOW *PortInfo); 624BOOL WINAPI FaxGetRoutingInfoA(HANDLE FaxPortHandle, LPCSTR RoutingGuid, LPBYTE *RoutingInfoBuffer, LPDWORD RoutingInfoBufferSize); 625BOOL WINAPI FaxGetRoutingInfoW(HANDLE FaxPortHandle, LPCWSTR RoutingGuid, LPBYTE *RoutingInfoBuffer, LPDWORD RoutingInfoBufferSize); 626BOOL WINAPI FaxInitializeEventQueue(HANDLE FaxHandle, HANDLE CompletionPort, ULONG_PTR CompletionKey, HWND hWnd, UINT MessageStart); 627BOOL WINAPI FaxOpenPort(HANDLE FaxHandle, DWORD DeviceId, DWORD Flags, LPHANDLE FaxPortHandle); 628BOOL WINAPI FaxPrintCoverPageA(CONST FAX_CONTEXT_INFOA *FaxContextInfo, CONST FAX_COVERAGE_INFOA *CoverPageInfo); 629BOOL WINAPI FaxPrintCoverPageW(CONST FAX_CONTEXT_INFOW *FaxContextInfo, CONST FAX_COVERAGE_INFOW *CoverPageInfo); 630BOOL WINAPI FaxRegisterRoutingExtensionW(HANDLE FaxHandle, LPCWSTR ExtensionName, LPCWSTR FriendlyName, LPCWSTR ImageName, PFAX_ROUTING_INSTALLATION_CALLBACK CallBack, LPVOID Context); 631BOOL WINAPI FaxRegisterServiceProviderW(LPCWSTR DeviceProvider, LPCWSTR FriendlyName, LPCWSTR ImageName, LPCWSTR TspName); 632BOOL WINAPI FaxSendDocumentA(HANDLE FaxHandle, LPCSTR FileName, PFAX_JOB_PARAMA JobParams, CONST FAX_COVERAGE_INFOA *CoverpageInfo, LPDWORD FaxJobId); 633BOOL WINAPI FaxSendDocumentForBroadcastA(HANDLE FaxHandle, LPCSTR FileName, LPDWORD FaxJobId, PFAX_RECIPIENT_CALLBACKA FaxRecipientCallback, LPVOID Context); 634BOOL WINAPI FaxSendDocumentForBroadcastW(HANDLE FaxHandle, LPCWSTR FileName, LPDWORD FaxJobId, PFAX_RECIPIENT_CALLBACKW FaxRecipientCallback, LPVOID Context); 635BOOL WINAPI FaxSendDocumentW(HANDLE FaxHandle, LPCWSTR FileName, PFAX_JOB_PARAMW JobParams, CONST FAX_COVERAGE_INFOW *CoverpageInfo, LPDWORD FaxJobId); 636BOOL WINAPI FaxSetConfigurationA(HANDLE FaxHandle, CONST FAX_CONFIGURATIONA *FaxConfig); 637BOOL WINAPI FaxSetConfigurationW(HANDLE FaxHandle, CONST FAX_CONFIGURATIONW *FaxConfig); 638BOOL WINAPI FaxSetGlobalRoutingInfoA(HANDLE FaxHandle, CONST FAX_GLOBAL_ROUTING_INFOA *RoutingInfo); 639BOOL WINAPI FaxSetGlobalRoutingInfoW(HANDLE FaxHandle, CONST FAX_GLOBAL_ROUTING_INFOW *RoutingInfo); 640BOOL WINAPI FaxSetJobA(HANDLE FaxHandle, DWORD JobId, DWORD Command, CONST FAX_JOB_ENTRYA *JobEntry); 641BOOL WINAPI FaxSetJobW(HANDLE FaxHandle, DWORD JobId, DWORD Command, CONST FAX_JOB_ENTRYW *JobEntry); 642BOOL WINAPI FaxSetLoggingCategoriesA(HANDLE FaxHandle, CONST FAX_LOG_CATEGORYA *Categories, DWORD NumberCategories); 643BOOL WINAPI FaxSetLoggingCategoriesW(HANDLE FaxHandle, CONST FAX_LOG_CATEGORYW *Categories, DWORD NumberCategories); 644BOOL WINAPI FaxSetPortA(HANDLE FaxPortHandle, CONST FAX_PORT_INFOA *PortInfo); 645BOOL WINAPI FaxSetPortW(HANDLE FaxPortHandle, CONST FAX_PORT_INFOW *PortInfo); 646BOOL WINAPI FaxSetRoutingInfoA(HANDLE FaxPortHandle, LPCSTR RoutingGuid, CONST BYTE *RoutingInfoBuffer, DWORD RoutingInfoBufferSize); 647BOOL WINAPI FaxSetRoutingInfoW(HANDLE FaxPortHandle, LPCWSTR RoutingGuid, CONST BYTE *RoutingInfoBuffer, DWORD RoutingInfoBufferSize); 648BOOL WINAPI FaxStartPrintJobA(LPCSTR PrinterName, CONST FAX_PRINT_INFOA *PrintInfo, LPDWORD FaxJobId, PFAX_CONTEXT_INFOA FaxContextInfo); 649BOOL WINAPI FaxStartPrintJobW(LPCWSTR PrinterName, CONST FAX_PRINT_INFOW *PrintInfo, LPDWORD FaxJobId, PFAX_CONTEXT_INFOW FaxContextInfo); 650 651#ifdef __cplusplus 652} 653#endif 654#endif /* __WINFAX_H */ 655 656/* EOF */