Sync to trunk head (r42241)
[reactos.git] / reactos / include / psdk / winfax.h
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 #ifndef _DISABLE_TIDENTS
497
498 #ifdef UNICODE
499 typedef FAX_JOB_PARAMW FAX_JOB_PARAM;
500 typedef PFAX_JOB_PARAMW PFAX_JOB_PARAM;
501 typedef FAX_COVERAGE_INFOW FAX_COVERAGE_INFO;
502 typedef PFAX_COVERAGE_INFOW PFAX_COVERAGE_INFO;
503 typedef FAX_GLOBAL_ROUTING_INFOW FAX_GLOBAL_ROUTING_INFO;
504 typedef PFAX_GLOBAL_ROUTING_INFOW PFAX_GLOBAL_ROUTING_INFO;
505 typedef FAX_JOB_ENTRYW FAX_JOB_ENTRY;
506 typedef PFAX_JOB_ENTRYW PFAX_JOB_ENTRY;
507 typedef FAX_PORT_INFOW FAX_PORT_INFO;
508 typedef PFAX_PORT_INFOW PFAX_PORT_INFO;
509 typedef FAX_ROUTING_METHODW FAX_ROUTING_METHOD;
510 typedef PFAX_ROUTING_METHODW PFAX_ROUTING_METHOD;
511 typedef FAX_CONFIGURATIONW FAX_CONFIGURATION;
512 typedef PFAX_CONFIGURATIONW PFAX_CONFIGURATION;
513 typedef FAX_DEVICE_STATUSW FAX_DEVICE_STATUS;
514 typedef PFAX_DEVICE_STATUSW PFAX_DEVICE_STATUS;
515 typedef FAX_LOG_CATEGORYW FAX_LOG_CATEGORY;
516 typedef PFAX_LOG_CATEGORYW PFAX_LOG_CATEGORY;
517 typedef FAX_CONTEXT_INFOW FAX_CONTEXT_INFO;
518 typedef PFAX_CONTEXT_INFOW PFAX_CONTEXT_INFO;
519 typedef FAX_PRINT_INFOW FAX_PRINT_INFO;
520 typedef PFAX_PRINT_INFOW PFAX_PRINT_INFO;
521 typedef PFAX_RECIPIENT_CALLBACKA PFAX_RECIPIENT_CALLBACK;
522 #define FaxCompleteJobParams FaxCompleteJobParamsW
523 #define FaxConnectFaxServer FaxConnectFaxServerW
524 #define FaxEnableRoutingMethod FaxEnableRoutingMethodW
525 #define FaxEnumGlobalRoutingInfo FaxEnumGlobalRoutingInfoW
526 #define FaxEnumJobs FaxEnumJobsW
527 #define FaxEnumPorts FaxEnumPortsW
528 #define FaxEnumRoutingMethods FaxEnumRoutingMethodsW
529 #define FaxGetConfiguration FaxGetConfigurationW
530 #define FaxGetDeviceStatus FaxGetDeviceStatusW
531 #define FaxGetJob FaxGetJobW
532 #define FaxGetLoggingCategories FaxGetLoggingCategoriesW
533 #define FaxGetPort FaxGetPortW
534 #define FaxGetRoutingInfo FaxGetRoutingInfoW
535 #define FaxSendDocument FaxSendDocumentW
536 #define FaxSendDocumentForBroadcast FaxSendDocumentForBroadcastW
537 #define FaxSetConfiguration FaxSetConfigurationW
538 #define FaxSetGlobalRoutingInfo FaxSetGlobalRoutingInfoW
539 #define FaxSetJob FaxSetJobW
540 #define FaxSetLoggingCategories FaxSetLoggingCategoriesW
541 #define FaxSetPort FaxSetPortW
542 #define FaxSetRoutingInfo FaxSetRoutingInfoW
543 #define FaxStartPrintJob FaxStartPrintJobW
544 #else /* !UNICODE */
545 typedef FAX_JOB_PARAMA FAX_JOB_PARAM;
546 typedef PFAX_JOB_PARAMA PFAX_JOB_PARAM;
547 typedef FAX_COVERAGE_INFOA FAX_COVERAGE_INFO;
548 typedef PFAX_COVERAGE_INFOA PFAX_COVERAGE_INFO;
549 typedef FAX_GLOBAL_ROUTING_INFOA FAX_GLOBAL_ROUTING_INFO;
550 typedef PFAX_GLOBAL_ROUTING_INFOA PFAX_GLOBAL_ROUTING_INFO;
551 typedef FAX_JOB_ENTRYA FAX_JOB_ENTRY;
552 typedef PFAX_JOB_ENTRYA PFAX_JOB_ENTRY;
553 typedef FAX_PORT_INFOA FAX_PORT_INFO;
554 typedef PFAX_PORT_INFOA PFAX_PORT_INFO;
555 typedef FAX_ROUTING_METHODA FAX_ROUTING_METHOD;
556 typedef PFAX_ROUTING_METHODA PFAX_ROUTING_METHOD;
557 typedef FAX_CONFIGURATIONA FAX_CONFIGURATION;
558 typedef PFAX_CONFIGURATIONA PFAX_CONFIGURATION;
559 typedef FAX_DEVICE_STATUSA FAX_DEVICE_STATUS;
560 typedef PFAX_DEVICE_STATUSA PFAX_DEVICE_STATUS;
561 typedef FAX_LOG_CATEGORYA FAX_LOG_CATEGORY;
562 typedef PFAX_LOG_CATEGORYA PFAX_LOG_CATEGORY;
563 typedef FAX_CONTEXT_INFOA FAX_CONTEXT_INFO;
564 typedef PFAX_CONTEXT_INFOA PFAX_CONTEXT_INFO;
565 typedef FAX_PRINT_INFOA FAX_PRINT_INFO;
566 typedef PFAX_PRINT_INFOA PFAX_PRINT_INFO;
567 typedef PFAX_RECIPIENT_CALLBACKW PFAX_RECIPIENT_CALLBACK;
568 #define FaxCompleteJobParams FaxCompleteJobParamsA
569 #define FaxConnectFaxServer FaxConnectFaxServerA
570 #define FaxEnableRoutingMethod FaxEnableRoutingMethodA
571 #define FaxEnumGlobalRoutingInfo FaxEnumGlobalRoutingInfoA
572 #define FaxEnumJobs FaxEnumJobsA
573 #define FaxEnumPorts FaxEnumPortsA
574 #define FaxEnumRoutingMethods FaxEnumRoutingMethodsA
575 #define FaxGetConfiguration FaxGetConfigurationA
576 #define FaxGetDeviceStatus FaxGetDeviceStatusA
577 #define FaxGetJob FaxGetJobA
578 #define FaxGetLoggingCategories FaxGetLoggingCategoriesA
579 #define FaxGetPort FaxGetPortA
580 #define FaxGetRoutingInfo FaxGetRoutingInfoA
581 #define FaxSendDocument FaxSendDocumentA
582 #define FaxSendDocumentForBroadcast FaxSendDocumentForBroadcastA
583 #define FaxSetConfiguration FaxSetConfigurationA
584 #define FaxSetGlobalRoutingInfo FaxSetGlobalRoutingInfoA
585 #define FaxSetJob FaxSetJobA
586 #define FaxSetLoggingCategories FaxSetLoggingCategoriesA
587 #define FaxSetPort FaxSetPortA
588 #define FaxSetRoutingInfo FaxSetRoutingInfoA
589 #define FaxStartPrintJob FaxStartPrintJobA
590 #endif /* UNICODE */
591
592 #endif /* _DISABLE_TIDENTS */
593
594 typedef BOOL (CALLBACK *PFAX_ROUTING_INSTALLATION_CALLBACKW)(HANDLE FaxHandle, LPVOID Context, LPWSTR MethodName, LPWSTR FriendlyName, LPWSTR FunctionName, LPWSTR Guid);
595 #define PFAX_ROUTING_INSTALLATION_CALLBACK PFAX_ROUTING_INSTALLATION_CALLBACKW
596 #define FaxRegisterRoutingExtension FaxRegisterRoutingExtensionW
597 #define FaxRegisterServiceProvider FaxRegisterServiceProviderW
598
599 BOOL WINAPI FaxAbort(HANDLE FaxHandle, DWORD JobId);
600 BOOL WINAPI FaxAccessCheck(HANDLE FaxHandle, DWORD AccessMask);
601 BOOL WINAPI FaxClose(HANDLE FaxHandle);
602 BOOL WINAPI FaxCompleteJobParamsA(PFAX_JOB_PARAMA *JobParams, PFAX_COVERAGE_INFOA *CoverageInfo);
603 BOOL WINAPI FaxCompleteJobParamsW(PFAX_JOB_PARAMW *JobParams, PFAX_COVERAGE_INFOW *CoverageInfo);
604 BOOL WINAPI FaxConnectFaxServerA(LPCSTR MachineName, LPHANDLE FaxHandle);
605 BOOL WINAPI FaxConnectFaxServerW(LPCWSTR MachineName, LPHANDLE FaxHandle);
606 BOOL WINAPI FaxEnableRoutingMethodA(HANDLE FaxPortHandle, LPCSTR RoutingGuid, BOOL Enabled);
607 BOOL WINAPI FaxEnableRoutingMethodW(HANDLE FaxPortHandle, LPCWSTR RoutingGuid, BOOL Enabled);
608 BOOL WINAPI FaxEnumGlobalRoutingInfoA(HANDLE FaxHandle, PFAX_GLOBAL_ROUTING_INFOA *RoutingInfo, LPDWORD MethodsReturned);
609 BOOL WINAPI FaxEnumGlobalRoutingInfoW(HANDLE FaxHandle, PFAX_GLOBAL_ROUTING_INFOW *RoutingInfo, LPDWORD MethodsReturned);
610 BOOL WINAPI FaxEnumJobsA(HANDLE FaxHandle, PFAX_JOB_ENTRYA *JobEntry, LPDWORD JobsReturned);
611 BOOL WINAPI FaxEnumJobsW(HANDLE FaxHandle, PFAX_JOB_ENTRYW *JobEntry, LPDWORD JobsReturned);
612 BOOL WINAPI FaxEnumPortsA(HANDLE FaxHandle, PFAX_PORT_INFOA *PortInfo, LPDWORD PortsReturned);
613 BOOL WINAPI FaxEnumPortsW(HANDLE FaxHandle, PFAX_PORT_INFOW *PortInfo, LPDWORD PortsReturned);
614 BOOL WINAPI FaxEnumRoutingMethodsA(HANDLE FaxPortHandle, PFAX_ROUTING_METHODA *RoutingMethod, LPDWORD MethodsReturned);
615 BOOL WINAPI FaxEnumRoutingMethodsW(HANDLE FaxPortHandle, PFAX_ROUTING_METHODW *RoutingMethod, LPDWORD MethodsReturned);
616 VOID WINAPI FaxFreeBuffer(LPVOID Buffer);
617 BOOL WINAPI FaxGetConfigurationA(HANDLE FaxHandle, PFAX_CONFIGURATIONA *FaxConfig);
618 BOOL WINAPI FaxGetConfigurationW(HANDLE FaxHandle, PFAX_CONFIGURATIONW *FaxConfig);
619 BOOL WINAPI FaxGetDeviceStatusA(HANDLE FaxPortHandle, PFAX_DEVICE_STATUSA *DeviceStatus);
620 BOOL WINAPI FaxGetDeviceStatusW(HANDLE FaxPortHandle, PFAX_DEVICE_STATUSW *DeviceStatus);
621 BOOL WINAPI FaxGetJobA(HANDLE FaxHandle, DWORD JobId, PFAX_JOB_ENTRYA *JobEntry);
622 BOOL WINAPI FaxGetJobW(HANDLE FaxHandle, DWORD JobId, PFAX_JOB_ENTRYW *JobEntry);
623 BOOL WINAPI FaxGetLoggingCategoriesA(HANDLE FaxHandle, PFAX_LOG_CATEGORYA *Categories, LPDWORD NumberCategories);
624 BOOL WINAPI FaxGetLoggingCategoriesW(HANDLE FaxHandle, PFAX_LOG_CATEGORYW *Categories, LPDWORD NumberCategories);
625 BOOL WINAPI FaxGetPageData(HANDLE FaxHandle, DWORD JobId, LPBYTE *Buffer, LPDWORD BufferSize, LPDWORD ImageWidth, LPDWORD ImageHeight);
626 BOOL WINAPI FaxGetPortA(HANDLE FaxPortHandle, PFAX_PORT_INFOA *PortInfo);
627 BOOL WINAPI FaxGetPortW(HANDLE FaxPortHandle, PFAX_PORT_INFOW *PortInfo);
628 BOOL WINAPI FaxGetRoutingInfoA(HANDLE FaxPortHandle, LPCSTR RoutingGuid, LPBYTE *RoutingInfoBuffer, LPDWORD RoutingInfoBufferSize);
629 BOOL WINAPI FaxGetRoutingInfoW(HANDLE FaxPortHandle, LPCWSTR RoutingGuid, LPBYTE *RoutingInfoBuffer, LPDWORD RoutingInfoBufferSize);
630 BOOL WINAPI FaxInitializeEventQueue(HANDLE FaxHandle, HANDLE CompletionPort, ULONG_PTR CompletionKey, HWND hWnd, UINT MessageStart);
631 BOOL WINAPI FaxOpenPort(HANDLE FaxHandle, DWORD DeviceId, DWORD Flags, LPHANDLE FaxPortHandle);
632 BOOL WINAPI FaxPrintCoverPageA(CONST FAX_CONTEXT_INFOA *FaxContextInfo, CONST FAX_COVERAGE_INFOA *CoverPageInfo);
633 BOOL WINAPI FaxPrintCoverPageW(CONST FAX_CONTEXT_INFOW *FaxContextInfo, CONST FAX_COVERAGE_INFOW *CoverPageInfo);
634 BOOL WINAPI FaxRegisterRoutingExtensionW(HANDLE FaxHandle, LPCWSTR ExtensionName, LPCWSTR FriendlyName, LPCWSTR ImageName, PFAX_ROUTING_INSTALLATION_CALLBACK CallBack, LPVOID Context);
635 BOOL WINAPI FaxRegisterServiceProviderW(LPCWSTR DeviceProvider, LPCWSTR FriendlyName, LPCWSTR ImageName, LPCWSTR TspName);
636 BOOL WINAPI FaxSendDocumentA(HANDLE FaxHandle, LPCSTR FileName, PFAX_JOB_PARAMA JobParams, CONST FAX_COVERAGE_INFOA *CoverpageInfo, LPDWORD FaxJobId);
637 BOOL WINAPI FaxSendDocumentForBroadcastA(HANDLE FaxHandle, LPCSTR FileName, LPDWORD FaxJobId, PFAX_RECIPIENT_CALLBACKA FaxRecipientCallback, LPVOID Context);
638 BOOL WINAPI FaxSendDocumentForBroadcastW(HANDLE FaxHandle, LPCWSTR FileName, LPDWORD FaxJobId, PFAX_RECIPIENT_CALLBACKW FaxRecipientCallback, LPVOID Context);
639 BOOL WINAPI FaxSendDocumentW(HANDLE FaxHandle, LPCWSTR FileName, PFAX_JOB_PARAMW JobParams, CONST FAX_COVERAGE_INFOW *CoverpageInfo, LPDWORD FaxJobId);
640 BOOL WINAPI FaxSetConfigurationA(HANDLE FaxHandle, CONST FAX_CONFIGURATIONA *FaxConfig);
641 BOOL WINAPI FaxSetConfigurationW(HANDLE FaxHandle, CONST FAX_CONFIGURATIONW *FaxConfig);
642 BOOL WINAPI FaxSetGlobalRoutingInfoA(HANDLE FaxHandle, CONST FAX_GLOBAL_ROUTING_INFOA *RoutingInfo);
643 BOOL WINAPI FaxSetGlobalRoutingInfoW(HANDLE FaxHandle, CONST FAX_GLOBAL_ROUTING_INFOW *RoutingInfo);
644 BOOL WINAPI FaxSetJobA(HANDLE FaxHandle, DWORD JobId, DWORD Command, CONST FAX_JOB_ENTRYA *JobEntry);
645 BOOL WINAPI FaxSetJobW(HANDLE FaxHandle, DWORD JobId, DWORD Command, CONST FAX_JOB_ENTRYW *JobEntry);
646 BOOL WINAPI FaxSetLoggingCategoriesA(HANDLE FaxHandle, CONST FAX_LOG_CATEGORYA *Categories, DWORD NumberCategories);
647 BOOL WINAPI FaxSetLoggingCategoriesW(HANDLE FaxHandle, CONST FAX_LOG_CATEGORYW *Categories, DWORD NumberCategories);
648 BOOL WINAPI FaxSetPortA(HANDLE FaxPortHandle, CONST FAX_PORT_INFOA *PortInfo);
649 BOOL WINAPI FaxSetPortW(HANDLE FaxPortHandle, CONST FAX_PORT_INFOW *PortInfo);
650 BOOL WINAPI FaxSetRoutingInfoA(HANDLE FaxPortHandle, LPCSTR RoutingGuid, CONST BYTE *RoutingInfoBuffer, DWORD RoutingInfoBufferSize);
651 BOOL WINAPI FaxSetRoutingInfoW(HANDLE FaxPortHandle, LPCWSTR RoutingGuid, CONST BYTE *RoutingInfoBuffer, DWORD RoutingInfoBufferSize);
652 BOOL WINAPI FaxStartPrintJobA(LPCSTR PrinterName, CONST FAX_PRINT_INFOA *PrintInfo, LPDWORD FaxJobId, PFAX_CONTEXT_INFOA FaxContextInfo);
653 BOOL WINAPI FaxStartPrintJobW(LPCWSTR PrinterName, CONST FAX_PRINT_INFOW *PrintInfo, LPDWORD FaxJobId, PFAX_CONTEXT_INFOW FaxContextInfo);
654
655 #ifdef __cplusplus
656 }
657 #endif
658 #endif /* __WINFAX_H */
659
660 /* EOF */