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 22 extern "C" { 23 #endif 24 25 typedef DWORD HCALL; 26 27 typedef struct _FAX_TIME 28 { 29 WORD Hour; 30 WORD Minute; 31 } FAX_TIME, *PFAX_TIME; 32 33 typedef enum 34 { 35 JSA_NOW = 0, 36 JSA_SPECIFIC_TIME, 37 JSA_DISCOUNT_PERIOD 38 } FAX_ENUM_JOB_SEND_ATTRIBUTES; 39 40 typedef enum 41 { 42 DRT_NONE = 0, 43 DRT_EMAIL, 44 DRT_INBOX 45 } FAX_ENUM_DELIVERY_REPORT_TYPES; 46 47 typedef 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 55 typedef 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 63 typedef enum 64 { 65 PORT_OPEN_QUERY = 1, 66 PORT_OPEN_MODIFY 67 } FAX_ENUM_PORT_OPEN_TYPE; 68 69 typedef 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 119 typedef 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 138 typedef 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 157 typedef 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 194 typedef 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 231 typedef 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 242 typedef 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 253 typedef 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 277 typedef 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 301 typedef 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 314 typedef 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 327 typedef 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 340 typedef 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 353 typedef 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 370 typedef 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 387 typedef 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 411 typedef 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 435 typedef struct _FAX_LOG_CATEGORYA 436 { 437 LPCSTR Name; 438 DWORD Category; 439 DWORD Level; 440 } FAX_LOG_CATEGORYA, *PFAX_LOG_CATEGORYA; 441 442 typedef struct _FAX_LOG_CATEGORYW 443 { 444 LPCWSTR Name; 445 DWORD Category; 446 DWORD Level; 447 } FAX_LOG_CATEGORYW, *PFAX_LOG_CATEGORYW; 448 449 typedef 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 456 typedef 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 463 typedef 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 478 typedef 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 493 typedef BOOL (CALLBACK *PFAX_RECIPIENT_CALLBACKA)(HANDLE FaxHandle, DWORD RecipientNumber, LPVOID Context, PFAX_JOB_PARAMA JobParams, PFAX_COVERAGE_INFOA CoverpageInfo); 494 typedef BOOL (CALLBACK *PFAX_RECIPIENT_CALLBACKW)(HANDLE FaxHandle, DWORD RecipientNumber, LPVOID Context, PFAX_JOB_PARAMW JobParams, PFAX_COVERAGE_INFOW CoverpageInfo); 495 496 #ifdef UNICODE 497 typedef FAX_JOB_PARAMW FAX_JOB_PARAM; 498 typedef PFAX_JOB_PARAMW PFAX_JOB_PARAM; 499 typedef FAX_COVERAGE_INFOW FAX_COVERAGE_INFO; 500 typedef PFAX_COVERAGE_INFOW PFAX_COVERAGE_INFO; 501 typedef FAX_GLOBAL_ROUTING_INFOW FAX_GLOBAL_ROUTING_INFO; 502 typedef PFAX_GLOBAL_ROUTING_INFOW PFAX_GLOBAL_ROUTING_INFO; 503 typedef FAX_JOB_ENTRYW FAX_JOB_ENTRY; 504 typedef PFAX_JOB_ENTRYW PFAX_JOB_ENTRY; 505 typedef FAX_PORT_INFOW FAX_PORT_INFO; 506 typedef PFAX_PORT_INFOW PFAX_PORT_INFO; 507 typedef FAX_ROUTING_METHODW FAX_ROUTING_METHOD; 508 typedef PFAX_ROUTING_METHODW PFAX_ROUTING_METHOD; 509 typedef FAX_CONFIGURATIONW FAX_CONFIGURATION; 510 typedef PFAX_CONFIGURATIONW PFAX_CONFIGURATION; 511 typedef FAX_DEVICE_STATUSW FAX_DEVICE_STATUS; 512 typedef PFAX_DEVICE_STATUSW PFAX_DEVICE_STATUS; 513 typedef FAX_LOG_CATEGORYW FAX_LOG_CATEGORY; 514 typedef PFAX_LOG_CATEGORYW PFAX_LOG_CATEGORY; 515 typedef FAX_CONTEXT_INFOW FAX_CONTEXT_INFO; 516 typedef PFAX_CONTEXT_INFOW PFAX_CONTEXT_INFO; 517 typedef FAX_PRINT_INFOW FAX_PRINT_INFO; 518 typedef PFAX_PRINT_INFOW PFAX_PRINT_INFO; 519 typedef 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 */ 543 typedef FAX_JOB_PARAMA FAX_JOB_PARAM; 544 typedef PFAX_JOB_PARAMA PFAX_JOB_PARAM; 545 typedef FAX_COVERAGE_INFOA FAX_COVERAGE_INFO; 546 typedef PFAX_COVERAGE_INFOA PFAX_COVERAGE_INFO; 547 typedef FAX_GLOBAL_ROUTING_INFOA FAX_GLOBAL_ROUTING_INFO; 548 typedef PFAX_GLOBAL_ROUTING_INFOA PFAX_GLOBAL_ROUTING_INFO; 549 typedef FAX_JOB_ENTRYA FAX_JOB_ENTRY; 550 typedef PFAX_JOB_ENTRYA PFAX_JOB_ENTRY; 551 typedef FAX_PORT_INFOA FAX_PORT_INFO; 552 typedef PFAX_PORT_INFOA PFAX_PORT_INFO; 553 typedef FAX_ROUTING_METHODA FAX_ROUTING_METHOD; 554 typedef PFAX_ROUTING_METHODA PFAX_ROUTING_METHOD; 555 typedef FAX_CONFIGURATIONA FAX_CONFIGURATION; 556 typedef PFAX_CONFIGURATIONA PFAX_CONFIGURATION; 557 typedef FAX_DEVICE_STATUSA FAX_DEVICE_STATUS; 558 typedef PFAX_DEVICE_STATUSA PFAX_DEVICE_STATUS; 559 typedef FAX_LOG_CATEGORYA FAX_LOG_CATEGORY; 560 typedef PFAX_LOG_CATEGORYA PFAX_LOG_CATEGORY; 561 typedef FAX_CONTEXT_INFOA FAX_CONTEXT_INFO; 562 typedef PFAX_CONTEXT_INFOA PFAX_CONTEXT_INFO; 563 typedef FAX_PRINT_INFOA FAX_PRINT_INFO; 564 typedef PFAX_PRINT_INFOA PFAX_PRINT_INFO; 565 typedef 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 590 typedef 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 595 BOOL WINAPI FaxAbort(HANDLE FaxHandle, DWORD JobId); 596 BOOL WINAPI FaxAccessCheck(HANDLE FaxHandle, DWORD AccessMask); 597 BOOL WINAPI FaxClose(HANDLE FaxHandle); 598 BOOL WINAPI FaxCompleteJobParamsA(PFAX_JOB_PARAMA *JobParams, PFAX_COVERAGE_INFOA *CoverageInfo); 599 BOOL WINAPI FaxCompleteJobParamsW(PFAX_JOB_PARAMW *JobParams, PFAX_COVERAGE_INFOW *CoverageInfo); 600 BOOL WINAPI FaxConnectFaxServerA(LPCSTR MachineName, LPHANDLE FaxHandle); 601 BOOL WINAPI FaxConnectFaxServerW(LPCWSTR MachineName, LPHANDLE FaxHandle); 602 BOOL WINAPI FaxEnableRoutingMethodA(HANDLE FaxPortHandle, LPCSTR RoutingGuid, BOOL Enabled); 603 BOOL WINAPI FaxEnableRoutingMethodW(HANDLE FaxPortHandle, LPCWSTR RoutingGuid, BOOL Enabled); 604 BOOL WINAPI FaxEnumGlobalRoutingInfoA(HANDLE FaxHandle, PFAX_GLOBAL_ROUTING_INFOA *RoutingInfo, LPDWORD MethodsReturned); 605 BOOL WINAPI FaxEnumGlobalRoutingInfoW(HANDLE FaxHandle, PFAX_GLOBAL_ROUTING_INFOW *RoutingInfo, LPDWORD MethodsReturned); 606 BOOL WINAPI FaxEnumJobsA(HANDLE FaxHandle, PFAX_JOB_ENTRYA *JobEntry, LPDWORD JobsReturned); 607 BOOL WINAPI FaxEnumJobsW(HANDLE FaxHandle, PFAX_JOB_ENTRYW *JobEntry, LPDWORD JobsReturned); 608 BOOL WINAPI FaxEnumPortsA(HANDLE FaxHandle, PFAX_PORT_INFOA *PortInfo, LPDWORD PortsReturned); 609 BOOL WINAPI FaxEnumPortsW(HANDLE FaxHandle, PFAX_PORT_INFOW *PortInfo, LPDWORD PortsReturned); 610 BOOL WINAPI FaxEnumRoutingMethodsA(HANDLE FaxPortHandle, PFAX_ROUTING_METHODA *RoutingMethod, LPDWORD MethodsReturned); 611 BOOL WINAPI FaxEnumRoutingMethodsW(HANDLE FaxPortHandle, PFAX_ROUTING_METHODW *RoutingMethod, LPDWORD MethodsReturned); 612 VOID WINAPI FaxFreeBuffer(LPVOID Buffer); 613 BOOL WINAPI FaxGetConfigurationA(HANDLE FaxHandle, PFAX_CONFIGURATIONA *FaxConfig); 614 BOOL WINAPI FaxGetConfigurationW(HANDLE FaxHandle, PFAX_CONFIGURATIONW *FaxConfig); 615 BOOL WINAPI FaxGetDeviceStatusA(HANDLE FaxPortHandle, PFAX_DEVICE_STATUSA *DeviceStatus); 616 BOOL WINAPI FaxGetDeviceStatusW(HANDLE FaxPortHandle, PFAX_DEVICE_STATUSW *DeviceStatus); 617 BOOL WINAPI FaxGetJobA(HANDLE FaxHandle, DWORD JobId, PFAX_JOB_ENTRYA *JobEntry); 618 BOOL WINAPI FaxGetJobW(HANDLE FaxHandle, DWORD JobId, PFAX_JOB_ENTRYW *JobEntry); 619 BOOL WINAPI FaxGetLoggingCategoriesA(HANDLE FaxHandle, PFAX_LOG_CATEGORYA *Categories, LPDWORD NumberCategories); 620 BOOL WINAPI FaxGetLoggingCategoriesW(HANDLE FaxHandle, PFAX_LOG_CATEGORYW *Categories, LPDWORD NumberCategories); 621 BOOL WINAPI FaxGetPageData(HANDLE FaxHandle, DWORD JobId, LPBYTE *Buffer, LPDWORD BufferSize, LPDWORD ImageWidth, LPDWORD ImageHeight); 622 BOOL WINAPI FaxGetPortA(HANDLE FaxPortHandle, PFAX_PORT_INFOA *PortInfo); 623 BOOL WINAPI FaxGetPortW(HANDLE FaxPortHandle, PFAX_PORT_INFOW *PortInfo); 624 BOOL WINAPI FaxGetRoutingInfoA(HANDLE FaxPortHandle, LPCSTR RoutingGuid, LPBYTE *RoutingInfoBuffer, LPDWORD RoutingInfoBufferSize); 625 BOOL WINAPI FaxGetRoutingInfoW(HANDLE FaxPortHandle, LPCWSTR RoutingGuid, LPBYTE *RoutingInfoBuffer, LPDWORD RoutingInfoBufferSize); 626 BOOL WINAPI FaxInitializeEventQueue(HANDLE FaxHandle, HANDLE CompletionPort, ULONG_PTR CompletionKey, HWND hWnd, UINT MessageStart); 627 BOOL WINAPI FaxOpenPort(HANDLE FaxHandle, DWORD DeviceId, DWORD Flags, LPHANDLE FaxPortHandle); 628 BOOL WINAPI FaxPrintCoverPageA(CONST FAX_CONTEXT_INFOA *FaxContextInfo, CONST FAX_COVERAGE_INFOA *CoverPageInfo); 629 BOOL WINAPI FaxPrintCoverPageW(CONST FAX_CONTEXT_INFOW *FaxContextInfo, CONST FAX_COVERAGE_INFOW *CoverPageInfo); 630 BOOL WINAPI FaxRegisterRoutingExtensionW(HANDLE FaxHandle, LPCWSTR ExtensionName, LPCWSTR FriendlyName, LPCWSTR ImageName, PFAX_ROUTING_INSTALLATION_CALLBACK CallBack, LPVOID Context); 631 BOOL WINAPI FaxRegisterServiceProviderW(LPCWSTR DeviceProvider, LPCWSTR FriendlyName, LPCWSTR ImageName, LPCWSTR TspName); 632 BOOL WINAPI FaxSendDocumentA(HANDLE FaxHandle, LPCSTR FileName, PFAX_JOB_PARAMA JobParams, CONST FAX_COVERAGE_INFOA *CoverpageInfo, LPDWORD FaxJobId); 633 BOOL WINAPI FaxSendDocumentForBroadcastA(HANDLE FaxHandle, LPCSTR FileName, LPDWORD FaxJobId, PFAX_RECIPIENT_CALLBACKA FaxRecipientCallback, LPVOID Context); 634 BOOL WINAPI FaxSendDocumentForBroadcastW(HANDLE FaxHandle, LPCWSTR FileName, LPDWORD FaxJobId, PFAX_RECIPIENT_CALLBACKW FaxRecipientCallback, LPVOID Context); 635 BOOL WINAPI FaxSendDocumentW(HANDLE FaxHandle, LPCWSTR FileName, PFAX_JOB_PARAMW JobParams, CONST FAX_COVERAGE_INFOW *CoverpageInfo, LPDWORD FaxJobId); 636 BOOL WINAPI FaxSetConfigurationA(HANDLE FaxHandle, CONST FAX_CONFIGURATIONA *FaxConfig); 637 BOOL WINAPI FaxSetConfigurationW(HANDLE FaxHandle, CONST FAX_CONFIGURATIONW *FaxConfig); 638 BOOL WINAPI FaxSetGlobalRoutingInfoA(HANDLE FaxHandle, CONST FAX_GLOBAL_ROUTING_INFOA *RoutingInfo); 639 BOOL WINAPI FaxSetGlobalRoutingInfoW(HANDLE FaxHandle, CONST FAX_GLOBAL_ROUTING_INFOW *RoutingInfo); 640 BOOL WINAPI FaxSetJobA(HANDLE FaxHandle, DWORD JobId, DWORD Command, CONST FAX_JOB_ENTRYA *JobEntry); 641 BOOL WINAPI FaxSetJobW(HANDLE FaxHandle, DWORD JobId, DWORD Command, CONST FAX_JOB_ENTRYW *JobEntry); 642 BOOL WINAPI FaxSetLoggingCategoriesA(HANDLE FaxHandle, CONST FAX_LOG_CATEGORYA *Categories, DWORD NumberCategories); 643 BOOL WINAPI FaxSetLoggingCategoriesW(HANDLE FaxHandle, CONST FAX_LOG_CATEGORYW *Categories, DWORD NumberCategories); 644 BOOL WINAPI FaxSetPortA(HANDLE FaxPortHandle, CONST FAX_PORT_INFOA *PortInfo); 645 BOOL WINAPI FaxSetPortW(HANDLE FaxPortHandle, CONST FAX_PORT_INFOW *PortInfo); 646 BOOL WINAPI FaxSetRoutingInfoA(HANDLE FaxPortHandle, LPCSTR RoutingGuid, CONST BYTE *RoutingInfoBuffer, DWORD RoutingInfoBufferSize); 647 BOOL WINAPI FaxSetRoutingInfoW(HANDLE FaxPortHandle, LPCWSTR RoutingGuid, CONST BYTE *RoutingInfoBuffer, DWORD RoutingInfoBufferSize); 648 BOOL WINAPI FaxStartPrintJobA(LPCSTR PrinterName, CONST FAX_PRINT_INFOA *PrintInfo, LPDWORD FaxJobId, PFAX_CONTEXT_INFOA FaxContextInfo); 649 BOOL 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 */ 657