1unit Winspool;
2
3interface
4
5{$PACKRECORDS C}
6
7{$ifndef NO_SMART_LINK}
8{$smartlink on}
9{$endif}
10
11  uses
12    ctypes,windows;
13{
14  Automatically converted by H2Pas 1.0.0 from winspool.h
15  The following command line parameters were used:
16    winspool.h
17    -D
18    -w
19}
20
21  const
22    External_library='winspool.drv';
23
24  type
25    PPVOID = ppointer;
26
27  const
28     DI_CHANNEL = 1;
29     DI_CHANNEL_WRITE = 2;
30     DI_READ_SPOOL_JOB = 3;
31     DI_MEMORYMAP_WRITE = $1;
32     FORM_USER = $0;
33     FORM_BUILTIN = $1;
34     FORM_PRINTER = $2;
35     DRIVER_KERNELMODE = $00000001;
36     DRIVER_USERMODE = $00000002;
37     DSPRINT_PUBLISH = $00000001;
38     DSPRINT_UPDATE = $00000002;
39     DSPRINT_UNPUBLISH = $00000004;
40     DSPRINT_REPUBLISH = $00000008;
41     DSPRINT_PENDING = $80000000;
42     JOB_CONTROL_PAUSE = 1;
43     JOB_CONTROL_RESUME = 2;
44     JOB_CONTROL_CANCEL = 3;
45     JOB_CONTROL_RESTART = 4;
46     JOB_CONTROL_DELETE = 5;
47     JOB_CONTROL_SENT_TO_PRINTER = 6;
48     JOB_CONTROL_LAST_PAGE_EJECTED = 7;
49     JOB_STATUS_PAUSED = $1;
50     JOB_STATUS_ERROR = $2;
51     JOB_STATUS_DELETING = $4;
52     JOB_STATUS_SPOOLING = $8;
53     JOB_STATUS_PRINTING = $10;
54     JOB_STATUS_OFFLINE = $20;
55     JOB_STATUS_PAPEROUT = $40;
56     JOB_STATUS_PRINTED = $80;
57     JOB_STATUS_DELETED = $100;
58     JOB_STATUS_BLOCKED_DEVQ = $200;
59     JOB_STATUS_USER_INTERVENTION = $400;
60     JOB_STATUS_RESTART = $800;
61     JOB_STATUS_COMPLETE = $1000;
62     JOB_POSITION_UNSPECIFIED = 0;
63     JOB_NOTIFY_TYPE = 1;
64     JOB_NOTIFY_FIELD_PRINTER_NAME = 0;
65     JOB_NOTIFY_FIELD_MACHINE_NAME = 1;
66     JOB_NOTIFY_FIELD_PORT_NAME = 2;
67     JOB_NOTIFY_FIELD_USER_NAME = 3;
68     JOB_NOTIFY_FIELD_NOTIFY_NAME = 4;
69     JOB_NOTIFY_FIELD_DATATYPE = 5;
70     JOB_NOTIFY_FIELD_PRINT_PROCESSOR = 6;
71     JOB_NOTIFY_FIELD_PARAMETERS = 7;
72     JOB_NOTIFY_FIELD_DRIVER_NAME = 8;
73     JOB_NOTIFY_FIELD_DEVMODE = 9;
74     JOB_NOTIFY_FIELD_STATUS = 10;
75     JOB_NOTIFY_FIELD_STATUS_STRING = 11;
76     JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR = 12;
77     JOB_NOTIFY_FIELD_DOCUMENT = 13;
78     JOB_NOTIFY_FIELD_PRIORITY = 14;
79     JOB_NOTIFY_FIELD_POSITION = 15;
80     JOB_NOTIFY_FIELD_SUBMITTED = 16;
81     JOB_NOTIFY_FIELD_START_TIME = 17;
82     JOB_NOTIFY_FIELD_UNTIL_TIME = 18;
83     JOB_NOTIFY_FIELD_TIME = 19;
84     JOB_NOTIFY_FIELD_TOTAL_PAGES = 20;
85     JOB_NOTIFY_FIELD_PAGES_PRINTED = 21;
86     JOB_NOTIFY_FIELD_TOTAL_BYTES = 22;
87     JOB_NOTIFY_FIELD_BYTES_PRINTED = 23;
88     JOB_ACCESS_ADMINISTER = 16;
89     JOB_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED or JOB_ACCESS_ADMINISTER;
90     JOB_READ = STANDARD_RIGHTS_READ or JOB_ACCESS_ADMINISTER;
91     JOB_WRITE = STANDARD_RIGHTS_WRITE or JOB_ACCESS_ADMINISTER;
92     JOB_EXECUTE = STANDARD_RIGHTS_EXECUTE or JOB_ACCESS_ADMINISTER;
93     PRINTER_NOTIFY_OPTIONS_REFRESH = 1;
94     PRINTER_ACCESS_ADMINISTER = 4;
95     PRINTER_ACCESS_USE = 8;
96     PRINTER_ERROR_INFORMATION = $80000000;
97     PRINTER_ERROR_WARNING = $40000000;
98     PRINTER_ERROR_SEVERE = $20000000;
99     PRINTER_ERROR_OUTOFPAPER = 1;
100     PRINTER_ERROR_JAM = 2;
101     PRINTER_ERROR_OUTOFTONER = 4;
102     PRINTER_CONTROL_PAUSE = 1;
103     PRINTER_CONTROL_RESUME = 2;
104     PRINTER_CONTROL_PURGE = 3;
105     PRINTER_CONTROL_SET_STATUS = 4;
106     PRINTER_STATUS_PAUSED = 1;
107     PRINTER_STATUS_ERROR = 2;
108     PRINTER_STATUS_PENDING_DELETION = 4;
109     PRINTER_STATUS_PAPER_JAM = 8;
110     PRINTER_STATUS_PAPER_OUT = $10;
111     PRINTER_STATUS_MANUAL_FEED = $20;
112     PRINTER_STATUS_PAPER_PROBLEM = $40;
113     PRINTER_STATUS_OFFLINE = $80;
114     PRINTER_STATUS_IO_ACTIVE = $100;
115     PRINTER_STATUS_BUSY = $200;
116     PRINTER_STATUS_PRINTING = $400;
117     PRINTER_STATUS_OUTPUT_BIN_FULL = $800;
118     PRINTER_STATUS_NOT_AVAILABLE = $1000;
119     PRINTER_STATUS_WAITING = $2000;
120     PRINTER_STATUS_PROCESSING = $4000;
121     PRINTER_STATUS_INITIALIZING = $8000;
122     PRINTER_STATUS_WARMING_UP = $10000;
123     PRINTER_STATUS_TONER_LOW = $20000;
124     PRINTER_STATUS_NO_TONER = $40000;
125     PRINTER_STATUS_PAGE_PUNT = $80000;
126     PRINTER_STATUS_USER_INTERVENTION = $100000;
127     PRINTER_STATUS_OUT_OF_MEMORY = $200000;
128     PRINTER_STATUS_DOOR_OPEN = $400000;
129     PRINTER_STATUS_SERVER_UNKNOWN = $800000;
130     PRINTER_STATUS_POWER_SAVE = $1000000;
131     PRINTER_ATTRIBUTE_QUEUED = 1;
132     PRINTER_ATTRIBUTE_DIRECT = 2;
133     PRINTER_ATTRIBUTE_DEFAULT = 4;
134     PRINTER_ATTRIBUTE_SHARED = 8;
135     PRINTER_ATTRIBUTE_NETWORK = $10;
136     PRINTER_ATTRIBUTE_HIDDEN = $20;
137     PRINTER_ATTRIBUTE_LOCAL = $40;
138     PRINTER_ATTRIBUTE_ENABLE_DEVQ = $80;
139     PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS = $100;
140     PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST = $200;
141     PRINTER_ATTRIBUTE_WORK_OFFLINE = $400;
142     PRINTER_ATTRIBUTE_ENABLE_BIDI = $800;
143     PRINTER_ATTRIBUTE_RAW_ONLY = $1000;
144     PRINTER_ATTRIBUTE_PUBLISHED = $2000;
145     PRINTER_ENUM_DEFAULT = 1;
146     PRINTER_ENUM_LOCAL = 2;
147     PRINTER_ENUM_CONNECTIONS = 4;
148     PRINTER_ENUM_FAVORITE = 4;
149     PRINTER_ENUM_NAME = 8;
150     PRINTER_ENUM_REMOTE = 16;
151     PRINTER_ENUM_SHARED = 32;
152     PRINTER_ENUM_NETWORK = $40;
153     PRINTER_ENUM_EXPAND = $4000;
154     PRINTER_ENUM_CONTAINER = $8000;
155     PRINTER_ENUM_ICONMASK = $ff0000;
156     PRINTER_ENUM_ICON1 = $10000;
157     PRINTER_ENUM_ICON2 = $20000;
158     PRINTER_ENUM_ICON3 = $40000;
159     PRINTER_ENUM_ICON4 = $80000;
160     PRINTER_ENUM_ICON5 = $100000;
161     PRINTER_ENUM_ICON6 = $200000;
162     PRINTER_ENUM_ICON7 = $400000;
163     PRINTER_ENUM_ICON8 = $800000;
164     PRINTER_NOTIFY_TYPE = 0;
165     PRINTER_NOTIFY_FIELD_SERVER_NAME = 0;
166     PRINTER_NOTIFY_FIELD_PRINTER_NAME = 1;
167     PRINTER_NOTIFY_FIELD_SHARE_NAME = 2;
168     PRINTER_NOTIFY_FIELD_PORT_NAME = 3;
169     PRINTER_NOTIFY_FIELD_DRIVER_NAME = 4;
170     PRINTER_NOTIFY_FIELD_COMMENT = 5;
171     PRINTER_NOTIFY_FIELD_LOCATION = 6;
172     PRINTER_NOTIFY_FIELD_DEVMODE = 7;
173     PRINTER_NOTIFY_FIELD_SEPFILE = 8;
174     PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR = 9;
175     PRINTER_NOTIFY_FIELD_PARAMETERS = 10;
176     PRINTER_NOTIFY_FIELD_DATATYPE = 11;
177     PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR = 12;
178     PRINTER_NOTIFY_FIELD_ATTRIBUTES = 13;
179     PRINTER_NOTIFY_FIELD_PRIORITY = 14;
180     PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY = 15;
181     PRINTER_NOTIFY_FIELD_START_TIME = 16;
182     PRINTER_NOTIFY_FIELD_UNTIL_TIME = 17;
183     PRINTER_NOTIFY_FIELD_STATUS = 18;
184     PRINTER_NOTIFY_FIELD_STATUS_STRING = 19;
185     PRINTER_NOTIFY_FIELD_CJOBS = 20;
186     PRINTER_NOTIFY_FIELD_AVERAGE_PPM = 21;
187     PRINTER_NOTIFY_FIELD_TOTAL_PAGES = 22;
188     PRINTER_NOTIFY_FIELD_PAGES_PRINTED = 23;
189     PRINTER_NOTIFY_FIELD_TOTAL_BYTES = 24;
190     PRINTER_NOTIFY_FIELD_BYTES_PRINTED = 25;
191     PRINTER_CHANGE_ADD_PRINTER = 1;
192     PRINTER_CHANGE_SET_PRINTER = 2;
193     PRINTER_CHANGE_DELETE_PRINTER = 4;
194     PRINTER_CHANGE_FAILED_CONNECTION_PRINTER = 8;
195     PRINTER_CHANGE_PRINTER = $FF;
196     PRINTER_CHANGE_ADD_JOB = $100;
197     PRINTER_CHANGE_SET_JOB = $200;
198     PRINTER_CHANGE_DELETE_JOB = $400;
199     PRINTER_CHANGE_WRITE_JOB = $800;
200     PRINTER_CHANGE_JOB = $FF00;
201     PRINTER_CHANGE_ADD_FORM = $10000;
202     PRINTER_CHANGE_SET_FORM = $20000;
203     PRINTER_CHANGE_DELETE_FORM = $40000;
204     PRINTER_CHANGE_FORM = $70000;
205     PRINTER_CHANGE_ADD_PORT = $100000;
206     PRINTER_CHANGE_CONFIGURE_PORT = $200000;
207     PRINTER_CHANGE_DELETE_PORT = $400000;
208     PRINTER_CHANGE_PORT = $700000;
209     PRINTER_CHANGE_ADD_PRINT_PROCESSOR = $1000000;
210     PRINTER_CHANGE_DELETE_PRINT_PROCESSOR = $4000000;
211     PRINTER_CHANGE_PRINT_PROCESSOR = $7000000;
212     PRINTER_CHANGE_ADD_PRINTER_DRIVER = $10000000;
213     PRINTER_CHANGE_SET_PRINTER_DRIVER = $20000000;
214     PRINTER_CHANGE_DELETE_PRINTER_DRIVER = $40000000;
215     PRINTER_CHANGE_PRINTER_DRIVER = $70000000;
216     PRINTER_CHANGE_TIMEOUT = $80000000;
217     PRINTER_CHANGE_ALL = $7777FFFF;
218     PRINTER_NOTIFY_INFO_DISCARDED = 1;
219     PRINTER_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED or PRINTER_ACCESS_ADMINISTER) or PRINTER_ACCESS_USE;
220     PRINTER_READ = STANDARD_RIGHTS_READ or PRINTER_ACCESS_USE;
221     PRINTER_WRITE = STANDARD_RIGHTS_WRITE or PRINTER_ACCESS_USE;
222     PRINTER_EXECUTE = STANDARD_RIGHTS_EXECUTE or PRINTER_ACCESS_USE;
223     NO_PRIORITY = 0;
224     MAX_PRIORITY = 99;
225     MIN_PRIORITY = 1;
226     DEF_PRIORITY = 1;
227     PORT_TYPE_WRITE = 1;
228     PORT_TYPE_READ = 2;
229     PORT_TYPE_REDIRECTED = 4;
230     PORT_TYPE_NET_ATTACHED = 8;
231     SERVER_ACCESS_ADMINISTER = 1;
232     SERVER_ACCESS_ENUMERATE = 2;
233     SERVER_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED or SERVER_ACCESS_ADMINISTER) or SERVER_ACCESS_ENUMERATE;
234     SERVER_READ = STANDARD_RIGHTS_READ or SERVER_ACCESS_ENUMERATE;
235     SERVER_WRITE = (STANDARD_RIGHTS_WRITE or SERVER_ACCESS_ADMINISTER) or SERVER_ACCESS_ENUMERATE;
236     SERVER_EXECUTE = STANDARD_RIGHTS_EXECUTE or SERVER_ACCESS_ENUMERATE;
237     PORT_STATUS_TYPE_ERROR = 1;
238     PORT_STATUS_TYPE_WARNING = 2;
239     PORT_STATUS_TYPE_INFO = 3;
240     PORT_STATUS_OFFLINE = 1;
241     PORT_STATUS_PAPER_JAM = 2;
242     PORT_STATUS_PAPER_OUT = 3;
243     PORT_STATUS_OUTPUT_BIN_FULL = 4;
244     PORT_STATUS_PAPER_PROBLEM = 5;
245     PORT_STATUS_NO_TONER = 6;
246     PORT_STATUS_DOOR_OPEN = 7;
247     PORT_STATUS_USER_INTERVENTION = 8;
248     PORT_STATUS_OUT_OF_MEMORY = 9;
249     PORT_STATUS_TONER_LOW = 10;
250     PORT_STATUS_WARMING_UP = 11;
251     PORT_STATUS_POWER_SAVE = 12;
252
253  type
254
255     _ADDJOB_INFO_1A = record
256          Path : LPSTR;
257          JobId : DWORD;
258       end;
259     ADDJOB_INFO_1A = _ADDJOB_INFO_1A;
260     PADDJOB_INFO_1A = ^_ADDJOB_INFO_1A;
261     LPADDJOB_INFO_1A = ^_ADDJOB_INFO_1A;
262
263     _ADDJOB_INFO_1W = record
264          Path : LPWSTR;
265          JobId : DWORD;
266       end;
267     ADDJOB_INFO_1W = _ADDJOB_INFO_1W;
268     PADDJOB_INFO_1W = ^_ADDJOB_INFO_1W;
269     LPADDJOB_INFO_1W = ^_ADDJOB_INFO_1W;
270
271     _DATATYPES_INFO_1A = record
272          pName : LPSTR;
273       end;
274     DATATYPES_INFO_1A = _DATATYPES_INFO_1A;
275     PDATATYPES_INFO_1A = ^_DATATYPES_INFO_1A;
276     LPDATATYPES_INFO_1A = ^_DATATYPES_INFO_1A;
277
278     _DATATYPES_INFO_1W = record
279          pName : LPWSTR;
280       end;
281     DATATYPES_INFO_1W = _DATATYPES_INFO_1W;
282     PDATATYPES_INFO_1W = ^_DATATYPES_INFO_1W;
283     LPDATATYPES_INFO_1W = ^_DATATYPES_INFO_1W;
284
285     _JOB_INFO_1A = record
286          JobId : DWORD;
287          pPrinterName : LPSTR;
288          pMachineName : LPSTR;
289          pUserName : LPSTR;
290          pDocument : LPSTR;
291          pDatatype : LPSTR;
292          pStatus : LPSTR;
293          Status : DWORD;
294          Priority : DWORD;
295          Position : DWORD;
296          TotalPages : DWORD;
297          PagesPrinted : DWORD;
298          Submitted : SYSTEMTIME;
299       end;
300     JOB_INFO_1A = _JOB_INFO_1A;
301     PJOB_INFO_1A = ^_JOB_INFO_1A;
302     LPJOB_INFO_1A = ^_JOB_INFO_1A;
303
304     _JOB_INFO_1W = record
305          JobId : DWORD;
306          pPrinterName : LPWSTR;
307          pMachineName : LPWSTR;
308          pUserName : LPWSTR;
309          pDocument : LPWSTR;
310          pDatatype : LPWSTR;
311          pStatus : LPWSTR;
312          Status : DWORD;
313          Priority : DWORD;
314          Position : DWORD;
315          TotalPages : DWORD;
316          PagesPrinted : DWORD;
317          Submitted : SYSTEMTIME;
318       end;
319     JOB_INFO_1W = _JOB_INFO_1W;
320     PJOB_INFO_1W = ^_JOB_INFO_1W;
321     LPJOB_INFO_1W = ^_JOB_INFO_1W;
322
323     _JOB_INFO_2A = record
324          JobId : DWORD;
325          pPrinterName : LPSTR;
326          pMachineName : LPSTR;
327          pUserName : LPSTR;
328          pDocument : LPSTR;
329          pNotifyName : LPSTR;
330          pDatatype : LPSTR;
331          pPrintProcessor : LPSTR;
332          pParameters : LPSTR;
333          pDriverName : LPSTR;
334          pDevMode : LPDEVMODE;
335          pStatus : LPSTR;
336          pSecurityDescriptor : PSECURITY_DESCRIPTOR;
337          Status : DWORD;
338          Priority : DWORD;
339          Position : DWORD;
340          StartTime : DWORD;
341          UntilTime : DWORD;
342          TotalPages : DWORD;
343          Size : DWORD;
344          Submitted : SYSTEMTIME;
345          Time : DWORD;
346          PagesPrinted : DWORD;
347       end;
348     JOB_INFO_2A = _JOB_INFO_2A;
349     PJOB_INFO_2A = ^_JOB_INFO_2A;
350     LPJOB_INFO_2A = ^_JOB_INFO_2A;
351
352     _JOB_INFO_2W = record
353          JobId : DWORD;
354          pPrinterName : LPWSTR;
355          pMachineName : LPWSTR;
356          pUserName : LPWSTR;
357          pDocument : LPWSTR;
358          pNotifyName : LPWSTR;
359          pDatatype : LPWSTR;
360          pPrintProcessor : LPWSTR;
361          pParameters : LPWSTR;
362          pDriverName : LPWSTR;
363          pDevMode : LPDEVMODEW;
364          pStatus : LPWSTR;
365          pSecurityDescriptor : PSECURITY_DESCRIPTOR;
366          Status : DWORD;
367          Priority : DWORD;
368          Position : DWORD;
369          StartTime : DWORD;
370          UntilTime : DWORD;
371          TotalPages : DWORD;
372          Size : DWORD;
373          Submitted : SYSTEMTIME;
374          Time : DWORD;
375          PagesPrinted : DWORD;
376       end;
377     JOB_INFO_2W = _JOB_INFO_2W;
378     PJOB_INFO_2W = ^_JOB_INFO_2W;
379     LPJOB_INFO_2W = ^_JOB_INFO_2W;
380
381     _JOB_INFO_3 = record
382          JobId : DWORD;
383          NextJobId : DWORD;
384          Reserved : DWORD;
385       end;
386     JOB_INFO_3 = _JOB_INFO_3;
387     PJOB_INFO_3 = ^_JOB_INFO_3;
388     LPJOB_INFO_3 = ^_JOB_INFO_3;
389
390     _DOC_INFO_1A = record
391          pDocName : LPSTR;
392          pOutputFile : LPSTR;
393          pDatatype : LPSTR;
394       end;
395     DOC_INFO_1A = _DOC_INFO_1A;
396     PDOC_INFO_1A = ^_DOC_INFO_1A;
397     LPDOC_INFO_1A = ^_DOC_INFO_1A;
398
399     _DOC_INFO_1W = record
400          pDocName : LPWSTR;
401          pOutputFile : LPWSTR;
402          pDatatype : LPWSTR;
403       end;
404     DOC_INFO_1W = _DOC_INFO_1W;
405     PDOC_INFO_1W = ^_DOC_INFO_1W;
406     LPDOC_INFO_1W = ^_DOC_INFO_1W;
407
408     _DOC_INFO_2A = record
409          pDocName : LPSTR;
410          pOutputFile : LPSTR;
411          pDatatype : LPSTR;
412          dwMode : DWORD;
413          JobId : DWORD;
414       end;
415     DOC_INFO_2A = _DOC_INFO_2A;
416     PDOC_INFO_2A = ^_DOC_INFO_2A;
417     LPDOC_INFO_2A = ^_DOC_INFO_2A;
418
419     _DOC_INFO_2W = record
420          pDocName : LPWSTR;
421          pOutputFile : LPWSTR;
422          pDatatype : LPWSTR;
423          dwMode : DWORD;
424          JobId : DWORD;
425       end;
426     DOC_INFO_2W = _DOC_INFO_2W;
427     PDOC_INFO_2W = ^_DOC_INFO_2W;
428     LPDOC_INFO_2W = ^_DOC_INFO_2W;
429
430     _DRIVER_INFO_1A = record
431          pName : LPSTR;
432       end;
433     DRIVER_INFO_1A = _DRIVER_INFO_1A;
434     PDRIVER_INFO_1A = ^_DRIVER_INFO_1A;
435     LPDRIVER_INFO_1A = ^_DRIVER_INFO_1A;
436
437     _DRIVER_INFO_1W = record
438          pName : LPWSTR;
439       end;
440     DRIVER_INFO_1W = _DRIVER_INFO_1W;
441     PDRIVER_INFO_1W = ^_DRIVER_INFO_1W;
442     LPDRIVER_INFO_1W = ^_DRIVER_INFO_1W;
443
444     _DRIVER_INFO_2A = record
445          cVersion : DWORD;
446          pName : LPSTR;
447          pEnvironment : LPSTR;
448          pDriverPath : LPSTR;
449          pDataFile : LPSTR;
450          pConfigFile : LPSTR;
451       end;
452     DRIVER_INFO_2A = _DRIVER_INFO_2A;
453     PDRIVER_INFO_2A = ^_DRIVER_INFO_2A;
454     LPDRIVER_INFO_2A = ^_DRIVER_INFO_2A;
455
456     _DRIVER_INFO_2W = record
457          cVersion : DWORD;
458          pName : LPWSTR;
459          pEnvironment : LPWSTR;
460          pDriverPath : LPWSTR;
461          pDataFile : LPWSTR;
462          pConfigFile : LPWSTR;
463       end;
464     DRIVER_INFO_2W = _DRIVER_INFO_2W;
465     PDRIVER_INFO_2W = ^_DRIVER_INFO_2W;
466     LPDRIVER_INFO_2W = ^_DRIVER_INFO_2W;
467
468     _DRIVER_INFO_3A = record
469          cVersion : DWORD;
470          pName : LPSTR;
471          pEnvironment : LPSTR;
472          pDriverPath : LPSTR;
473          pDataFile : LPSTR;
474          pConfigFile : LPSTR;
475          pHelpFile : LPSTR;
476          pDependentFiles : LPSTR;
477          pMonitorName : LPSTR;
478          pDefaultDataType : LPSTR;
479       end;
480     DRIVER_INFO_3A = _DRIVER_INFO_3A;
481     PDRIVER_INFO_3A = ^_DRIVER_INFO_3A;
482     LPDRIVER_INFO_3A = ^_DRIVER_INFO_3A;
483
484     _DRIVER_INFO_3W = record
485          cVersion : DWORD;
486          pName : LPWSTR;
487          pEnvironment : LPWSTR;
488          pDriverPath : LPWSTR;
489          pDataFile : LPWSTR;
490          pConfigFile : LPWSTR;
491          pHelpFile : LPWSTR;
492          pDependentFiles : LPWSTR;
493          pMonitorName : LPWSTR;
494          pDefaultDataType : LPWSTR;
495       end;
496     DRIVER_INFO_3W = _DRIVER_INFO_3W;
497     PDRIVER_INFO_3W = ^_DRIVER_INFO_3W;
498     LPDRIVER_INFO_3W = ^_DRIVER_INFO_3W;
499
500     _DRIVER_INFO_4A = record
501          cVersion : DWORD;
502          pName : LPSTR;
503          pEnvironment : LPSTR;
504          pDriverPath : LPSTR;
505          pDataFile : LPSTR;
506          pConfigFile : LPSTR;
507          pHelpFile : LPSTR;
508          pDependentFiles : LPSTR;
509          pMonitorName : LPSTR;
510          pDefaultDataType : LPSTR;
511          pszzPreviousNames : LPSTR;
512       end;
513     DRIVER_INFO_4A = _DRIVER_INFO_4A;
514     PDRIVER_INFO_4A = ^_DRIVER_INFO_4A;
515     LPDRIVER_INFO_4A = ^_DRIVER_INFO_4A;
516
517     _DRIVER_INFO_4W = record
518          cVersion : DWORD;
519          pName : LPWSTR;
520          pEnvironment : LPWSTR;
521          pDriverPath : LPWSTR;
522          pDataFile : LPWSTR;
523          pConfigFile : LPWSTR;
524          pHelpFile : LPWSTR;
525          pDependentFiles : LPWSTR;
526          pMonitorName : LPWSTR;
527          pDefaultDataType : LPWSTR;
528          pszzPreviousNames : LPWSTR;
529       end;
530     DRIVER_INFO_4W = _DRIVER_INFO_4W;
531     PDRIVER_INFO_4W = ^_DRIVER_INFO_4W;
532     LPDRIVER_INFO_4W = ^_DRIVER_INFO_4W;
533
534     _DRIVER_INFO_5A = record
535          cVersion : DWORD;
536          pName : LPSTR;
537          pEnvironment : LPSTR;
538          pDriverPath : LPSTR;
539          pDataFile : LPSTR;
540          pConfigFile : LPSTR;
541          dwDriverAttributes : DWORD;
542          dwConfigVersion : DWORD;
543          dwDriverVersion : DWORD;
544       end;
545     DRIVER_INFO_5A = _DRIVER_INFO_5A;
546     PDRIVER_INFO_5A = ^_DRIVER_INFO_5A;
547     LPDRIVER_INFO_5A = ^_DRIVER_INFO_5A;
548
549     _DRIVER_INFO_5W = record
550          cVersion : DWORD;
551          pName : LPWSTR;
552          pEnvironment : LPWSTR;
553          pDriverPath : LPWSTR;
554          pDataFile : LPWSTR;
555          pConfigFile : LPWSTR;
556          dwDriverAttributes : DWORD;
557          dwConfigVersion : DWORD;
558          dwDriverVersion : DWORD;
559       end;
560     DRIVER_INFO_5W = _DRIVER_INFO_5W;
561     PDRIVER_INFO_5W = ^_DRIVER_INFO_5W;
562     LPDRIVER_INFO_5W = ^_DRIVER_INFO_5W;
563
564     _DRIVER_INFO_6A = record
565          cVersion : DWORD;
566          pName : LPSTR;
567          pEnvironment : LPSTR;
568          pDriverPath : LPSTR;
569          pDataFile : LPSTR;
570          pConfigFile : LPSTR;
571          pHelpFile : LPSTR;
572          pDependentFiles : LPSTR;
573          pMonitorName : LPSTR;
574          pDefaultDataType : LPSTR;
575          pszzPreviousNames : LPSTR;
576          ftDriverDate : FILETIME;
577          dwlDriverVersion : DWORDLONG;
578          pszMfgName : LPSTR;
579          pszOEMUrl : LPSTR;
580          pszHardwareID : LPSTR;
581          pszProvider : LPSTR;
582       end;
583     DRIVER_INFO_6A = _DRIVER_INFO_6A;
584     PDRIVER_INFO_6A = ^_DRIVER_INFO_6A;
585     LPDRIVER_INFO_6A = ^_DRIVER_INFO_6A;
586
587     _DRIVER_INFO_6W = record
588          cVersion : DWORD;
589          pName : LPWSTR;
590          pEnvironment : LPWSTR;
591          pDriverPath : LPWSTR;
592          pDataFile : LPWSTR;
593          pConfigFile : LPWSTR;
594          pHelpFile : LPWSTR;
595          pDependentFiles : LPWSTR;
596          pMonitorName : LPWSTR;
597          pDefaultDataType : LPWSTR;
598          pszzPreviousNames : LPWSTR;
599          ftDriverDate : FILETIME;
600          dwlDriverVersion : DWORDLONG;
601          pszMfgName : LPWSTR;
602          pszOEMUrl : LPWSTR;
603          pszHardwareID : LPWSTR;
604          pszProvider : LPWSTR;
605       end;
606     DRIVER_INFO_6W = _DRIVER_INFO_6W;
607     PDRIVER_INFO_6W = ^_DRIVER_INFO_6W;
608     LPDRIVER_INFO_6W = ^_DRIVER_INFO_6W;
609
610     _MONITOR_INFO_1A = record
611          pName : LPSTR;
612       end;
613     MONITOR_INFO_1A = _MONITOR_INFO_1A;
614     PMONITOR_INFO_1A = ^_MONITOR_INFO_1A;
615     LPMONITOR_INFO_1A = ^_MONITOR_INFO_1A;
616
617     _MONITOR_INFO_1W = record
618          pName : LPWSTR;
619       end;
620     MONITOR_INFO_1W = _MONITOR_INFO_1W;
621     PMONITOR_INFO_1W = ^_MONITOR_INFO_1W;
622     LPMONITOR_INFO_1W = ^_MONITOR_INFO_1W;
623
624     _PORT_INFO_1A = record
625          pName : LPSTR;
626       end;
627     PORT_INFO_1A = _PORT_INFO_1A;
628     PPORT_INFO_1A = ^_PORT_INFO_1A;
629     LPPORT_INFO_1A = ^_PORT_INFO_1A;
630
631     _PORT_INFO_1W = record
632          pName : LPWSTR;
633       end;
634     PORT_INFO_1W = _PORT_INFO_1W;
635     PPORT_INFO_1W = ^_PORT_INFO_1W;
636     LPPORT_INFO_1W = ^_PORT_INFO_1W;
637
638     _MONITOR_INFO_2A = record
639          pName : LPSTR;
640          pEnvironment : LPSTR;
641          pDLLName : LPSTR;
642       end;
643     MONITOR_INFO_2A = _MONITOR_INFO_2A;
644     PMONITOR_INFO_2A = ^_MONITOR_INFO_2A;
645     LPMONITOR_INFO_2A = ^_MONITOR_INFO_2A;
646
647     _MONITOR_INFO_2W = record
648          pName : LPWSTR;
649          pEnvironment : LPWSTR;
650          pDLLName : LPWSTR;
651       end;
652     MONITOR_INFO_2W = _MONITOR_INFO_2W;
653     PMONITOR_INFO_2W = ^_MONITOR_INFO_2W;
654     LPMONITOR_INFO_2W = ^_MONITOR_INFO_2W;
655
656     _PORT_INFO_2A = record
657          pPortName : LPSTR;
658          pMonitorName : LPSTR;
659          pDescription : LPSTR;
660          fPortType : DWORD;
661          Reserved : DWORD;
662       end;
663     PORT_INFO_2A = _PORT_INFO_2A;
664     PPORT_INFO_2A = ^_PORT_INFO_2A;
665     LPPORT_INFO_2A = ^_PORT_INFO_2A;
666
667     _PORT_INFO_2W = record
668          pPortName : LPWSTR;
669          pMonitorName : LPWSTR;
670          pDescription : LPWSTR;
671          fPortType : DWORD;
672          Reserved : DWORD;
673       end;
674     PORT_INFO_2W = _PORT_INFO_2W;
675     PPORT_INFO_2W = ^_PORT_INFO_2W;
676     LPPORT_INFO_2W = ^_PORT_INFO_2W;
677
678     _PORT_INFO_3A = record
679          dwStatus : DWORD;
680          pszStatus : LPSTR;
681          dwSeverity : DWORD;
682       end;
683     PORT_INFO_3A = _PORT_INFO_3A;
684     PPORT_INFO_3A = ^_PORT_INFO_3A;
685     LPPORT_INFO_3A = ^_PORT_INFO_3A;
686
687     _PORT_INFO_3W = record
688          dwStatus : DWORD;
689          pszStatus : LPWSTR;
690          dwSeverity : DWORD;
691       end;
692     PORT_INFO_3W = _PORT_INFO_3W;
693     PPORT_INFO_3W = ^_PORT_INFO_3W;
694     LPPORT_INFO_3W = ^_PORT_INFO_3W;
695
696     _PRINTER_ENUM_VALUESA = record
697          pValueName : LPSTR;
698          cbValueName : DWORD;
699          dwType : DWORD;
700          pData : LPBYTE;
701          cbData : DWORD;
702       end;
703     PRINTER_ENUM_VALUESA = _PRINTER_ENUM_VALUESA;
704     PPRINTER_ENUM_VALUESA = ^_PRINTER_ENUM_VALUESA;
705     LPRINTER_ENUM_VALUESA = ^_PRINTER_ENUM_VALUESA;
706
707     _PRINTER_ENUM_VALUESW = record
708          pValueName : LPWSTR;
709          cbValueName : DWORD;
710          dwType : DWORD;
711          pData : LPBYTE;
712          cbData : DWORD;
713       end;
714     PRINTER_ENUM_VALUESW = _PRINTER_ENUM_VALUESW;
715     PPRINTER_ENUM_VALUESW = ^_PRINTER_ENUM_VALUESW;
716     LPRINTER_ENUM_VALUESW = ^_PRINTER_ENUM_VALUESW;
717
718     _PRINTER_INFO_1A = record
719          Flags : DWORD;
720          pDescription : LPSTR;
721          pName : LPSTR;
722          pComment : LPSTR;
723       end;
724     PRINTER_INFO_1A = _PRINTER_INFO_1A;
725     PPRINTER_INFO_1A = ^_PRINTER_INFO_1A;
726     LPPRINTER_INFO_1A = ^_PRINTER_INFO_1A;
727
728     _PRINTER_INFO_1W = record
729          Flags : DWORD;
730          pDescription : LPWSTR;
731          pName : LPWSTR;
732          pComment : LPWSTR;
733       end;
734     PRINTER_INFO_1W = _PRINTER_INFO_1W;
735     PPRINTER_INFO_1W = ^_PRINTER_INFO_1W;
736     LPPRINTER_INFO_1W = ^_PRINTER_INFO_1W;
737
738     _PRINTER_INFO_2A = record
739          pServerName : LPSTR;
740          pPrinterName : LPSTR;
741          pShareName : LPSTR;
742          pPortName : LPSTR;
743          pDriverName : LPSTR;
744          pComment : LPSTR;
745          pLocation : LPSTR;
746          pDevMode : LPDEVMODE;
747          pSepFile : LPSTR;
748          pPrintProcessor : LPSTR;
749          pDatatype : LPSTR;
750          pParameters : LPSTR;
751          pSecurityDescriptor : PSECURITY_DESCRIPTOR;
752          Attributes : DWORD;
753          Priority : DWORD;
754          DefaultPriority : DWORD;
755          StartTime : DWORD;
756          UntilTime : DWORD;
757          Status : DWORD;
758          cJobs : DWORD;
759          AveragePPM : DWORD;
760       end;
761     PRINTER_INFO_2A = _PRINTER_INFO_2A;
762     PPRINTER_INFO_2A = ^_PRINTER_INFO_2A;
763     LPPRINTER_INFO_2A = ^_PRINTER_INFO_2A;
764
765     _PRINTER_INFO_2W = record
766          pServerName : LPWSTR;
767          pPrinterName : LPWSTR;
768          pShareName : LPWSTR;
769          pPortName : LPWSTR;
770          pDriverName : LPWSTR;
771          pComment : LPWSTR;
772          pLocation : LPWSTR;
773          pDevMode : LPDEVMODEW;
774          pSepFile : LPWSTR;
775          pPrintProcessor : LPWSTR;
776          pDatatype : LPWSTR;
777          pParameters : LPWSTR;
778          pSecurityDescriptor : PSECURITY_DESCRIPTOR;
779          Attributes : DWORD;
780          Priority : DWORD;
781          DefaultPriority : DWORD;
782          StartTime : DWORD;
783          UntilTime : DWORD;
784          Status : DWORD;
785          cJobs : DWORD;
786          AveragePPM : DWORD;
787       end;
788     PRINTER_INFO_2W = _PRINTER_INFO_2W;
789     PPRINTER_INFO_2W = ^_PRINTER_INFO_2W;
790     LPPRINTER_INFO_2W = ^_PRINTER_INFO_2W;
791
792     _PRINTER_INFO_3 = record
793          pSecurityDescriptor : PSECURITY_DESCRIPTOR;
794       end;
795     PRINTER_INFO_3 = _PRINTER_INFO_3;
796     PPRINTER_INFO_3 = ^_PRINTER_INFO_3;
797     LPPRINTER_INFO_3 = ^_PRINTER_INFO_3;
798
799     _PRINTER_INFO_4A = record
800          pPrinterName : LPSTR;
801          pServerName : LPSTR;
802          Attributes : DWORD;
803       end;
804     PRINTER_INFO_4A = _PRINTER_INFO_4A;
805     PPRINTER_INFO_4A = ^_PRINTER_INFO_4A;
806     LPPRINTER_INFO_4A = ^_PRINTER_INFO_4A;
807
808     _PRINTER_INFO_4W = record
809          pPrinterName : LPWSTR;
810          pServerName : LPWSTR;
811          Attributes : DWORD;
812       end;
813     PRINTER_INFO_4W = _PRINTER_INFO_4W;
814     PPRINTER_INFO_4W = ^_PRINTER_INFO_4W;
815     LPPRINTER_INFO_4W = ^_PRINTER_INFO_4W;
816
817     _PRINTER_INFO_5A = record
818          pPrinterName : LPSTR;
819          pPortName : LPSTR;
820          Attributes : DWORD;
821          DeviceNotSelectedTimeout : DWORD;
822          TransmissionRetryTimeout : DWORD;
823       end;
824     PRINTER_INFO_5A = _PRINTER_INFO_5A;
825     PPRINTER_INFO_5A = ^_PRINTER_INFO_5A;
826     LPPRINTER_INFO_5A = ^_PRINTER_INFO_5A;
827
828     _PRINTER_INFO_5W = record
829          pPrinterName : LPWSTR;
830          pPortName : LPWSTR;
831          Attributes : DWORD;
832          DeviceNotSelectedTimeout : DWORD;
833          TransmissionRetryTimeout : DWORD;
834       end;
835     PRINTER_INFO_5W = _PRINTER_INFO_5W;
836     PPRINTER_INFO_5W = ^_PRINTER_INFO_5W;
837     LPPRINTER_INFO_5W = ^_PRINTER_INFO_5W;
838
839     _PRINTER_INFO_6 = record
840          dwStatus : DWORD;
841       end;
842     PRINTER_INFO_6 = _PRINTER_INFO_6;
843     PPRINTER_INFO_6 = ^_PRINTER_INFO_6;
844     LPPRINTER_INFO_6 = ^_PRINTER_INFO_6;
845
846     _PRINTER_INFO_7A = record
847          pszObjectGUID : LPWSTR;
848          dwAction : DWORD;
849       end;
850     PRINTER_INFO_7A = _PRINTER_INFO_7A;
851     PPRINTER_INFO_7A = ^_PRINTER_INFO_7A;
852     LPPRINTER_INFO_7A = ^_PRINTER_INFO_7A;
853
854     _PRINTER_INFO_7W = record
855          pszObjectGUID : LPWSTR;
856          dwAction : DWORD;
857       end;
858     PRINTER_INFO_7W = _PRINTER_INFO_7W;
859     PPRINTER_INFO_7W = ^_PRINTER_INFO_7W;
860     LPPRINTER_INFO_7W = ^_PRINTER_INFO_7W;
861
862     _PRINTER_INFO_8 = record
863          pDevMode : LPDEVMODE;
864       end;
865     PRINTER_INFO_8 = _PRINTER_INFO_8;
866     PPRINTER_INFO_8 = ^_PRINTER_INFO_8;
867     LPPRINTER_INFO_8 = ^_PRINTER_INFO_8;
868
869     _PRINTER_INFO_9 = record
870          pDevMode : LPDEVMODE;
871       end;
872     PRINTER_INFO_9 = _PRINTER_INFO_9;
873     PPRINTER_INFO_9 = ^_PRINTER_INFO_9;
874     LPPRINTER_INFO_9 = ^_PRINTER_INFO_9;
875
876     _PRINTPROCESSOR_INFO_1A = record
877          pName : LPSTR;
878       end;
879     PRINTPROCESSOR_INFO_1A = _PRINTPROCESSOR_INFO_1A;
880     PPRINTPROCESSOR_INFO_1A = ^_PRINTPROCESSOR_INFO_1A;
881     LPPRINTPROCESSOR_INFO_1A = ^_PRINTPROCESSOR_INFO_1A;
882
883     _PRINTPROCESSOR_INFO_1W = record
884          pName : LPWSTR;
885       end;
886     PRINTPROCESSOR_INFO_1W = _PRINTPROCESSOR_INFO_1W;
887     PPRINTPROCESSOR_INFO_1W = ^_PRINTPROCESSOR_INFO_1W;
888     LPPRINTPROCESSOR_INFO_1W = ^_PRINTPROCESSOR_INFO_1W;
889
890     _PRINTER_NOTIFY_INFO_DATA = record
891          _Type : WORD;
892          Field : WORD;
893          Reserved : DWORD;
894          Id : DWORD;
895          NotifyData : record
896              case longint of
897                 0 : ( adwData : array[0..1] of DWORD );
898                 1 : ( Data : record
899                      cbBuf : DWORD;
900                      pBuf : PVOID;
901                   end );
902              end;
903       end;
904     PRINTER_NOTIFY_INFO_DATA = _PRINTER_NOTIFY_INFO_DATA;
905     PPRINTER_NOTIFY_INFO_DATA = ^_PRINTER_NOTIFY_INFO_DATA;
906     LPPRINTER_NOTIFY_INFO_DATA = ^_PRINTER_NOTIFY_INFO_DATA;
907
908     _PRINTER_NOTIFY_INFO = record
909          Version : DWORD;
910          Flags : DWORD;
911          Count : DWORD;
912          aData : array[0..0] of PRINTER_NOTIFY_INFO_DATA;
913       end;
914     PRINTER_NOTIFY_INFO = _PRINTER_NOTIFY_INFO;
915     PPRINTER_NOTIFY_INFO = ^_PRINTER_NOTIFY_INFO;
916     LPPRINTER_NOTIFY_INFO = ^_PRINTER_NOTIFY_INFO;
917
918     _FORM_INFO_1A = record
919          Flags : DWORD;
920          pName : LPSTR;
921          Size : SIZEL;
922          ImageableArea : RECTL;
923       end;
924     FORM_INFO_1A = _FORM_INFO_1A;
925     PFORM_INFO_1A = ^_FORM_INFO_1A;
926     LPFORM_INFO_1A = ^_FORM_INFO_1A;
927
928     _FORM_INFO_1W = record
929          Flags : DWORD;
930          pName : LPWSTR;
931          Size : SIZEL;
932          ImageableArea : RECTL;
933       end;
934     FORM_INFO_1W = _FORM_INFO_1W;
935     PFORM_INFO_1W = ^_FORM_INFO_1W;
936     LPFORM_INFO_1W = ^_FORM_INFO_1W;
937
938     _PRINTER_DEFAULTSA = record
939          pDatatype : LPSTR;
940          pDevMode : LPDEVMODE;
941          DesiredAccess : ACCESS_MASK;
942       end;
943     PRINTER_DEFAULTSA = _PRINTER_DEFAULTSA;
944     PPRINTER_DEFAULTSA = ^_PRINTER_DEFAULTSA;
945     LPPRINTER_DEFAULTSA = ^_PRINTER_DEFAULTSA;
946
947     _PRINTER_DEFAULTSW = record
948          pDatatype : LPWSTR;
949          pDevMode : LPDEVMODE;
950          DesiredAccess : ACCESS_MASK;
951       end;
952     PRINTER_DEFAULTSW = _PRINTER_DEFAULTSW;
953     PPRINTER_DEFAULTSW = ^_PRINTER_DEFAULTSW;
954     LPPRINTER_DEFAULTSW = ^_PRINTER_DEFAULTSW;
955
956     _PRINTPROCESSOR_CAPS_1 = record
957          dwLevel : DWORD;
958          dwNupOptions : DWORD;
959          dwPageOrderFlags : DWORD;
960          dwNumberOfCopies : DWORD;
961       end;
962     PRINTPROCESSOR_CAPS_1 = _PRINTPROCESSOR_CAPS_1;
963     PPRINTPROCESSOR_CAPS_1 = ^_PRINTPROCESSOR_CAPS_1;
964     LPPRINTPROCESSOR_CAPS_1 = ^_PRINTPROCESSOR_CAPS_1;
965
966     _PROVIDOR_INFO_1A = record
967          pName : LPSTR;
968          pEnvironment : LPSTR;
969          pDLLName : LPSTR;
970       end;
971     PROVIDOR_INFO_1A = _PROVIDOR_INFO_1A;
972     PPROVIDOR_INFO_1A = ^_PROVIDOR_INFO_1A;
973     LPPROVIDOR_INFO_1A = ^_PROVIDOR_INFO_1A;
974
975     _PROVIDOR_INFO_1W = record
976          pName : LPWSTR;
977          pEnvironment : LPWSTR;
978          pDLLName : LPWSTR;
979       end;
980     PROVIDOR_INFO_1W = _PROVIDOR_INFO_1W;
981     PPROVIDOR_INFO_1W = ^_PROVIDOR_INFO_1W;
982     LPPROVIDOR_INFO_1W = ^_PROVIDOR_INFO_1W;
983
984     _PROVIDOR_INFO_2A = record
985          pOrder : LPSTR;
986       end;
987     PROVIDOR_INFO_2A = _PROVIDOR_INFO_2A;
988     PPROVIDOR_INFO_2A = ^_PROVIDOR_INFO_2A;
989     LPROVIDOR_INFO_2A = ^_PROVIDOR_INFO_2A;
990
991     _PROVIDOR_INFO_2W = record
992          pOrder : LPWSTR;
993       end;
994     PROVIDOR_INFO_2W = _PROVIDOR_INFO_2W;
995     PPROVIDOR_INFO_2W = ^_PROVIDOR_INFO_2W;
996     LPROVIDOR_INFO_2W = ^_PROVIDOR_INFO_2W;
997
998  function AbortPrinter(_para1:HANDLE):BOOL;stdcall; external External_library name 'AbortPrinter';
999
1000  function AddForm(_para1:HANDLE; _para2:DWORD; _para3:PBYTE):BOOL;stdcall; external External_library name 'AddFormA';
1001
1002  function AddFormA(_para1:HANDLE; _para2:DWORD; _para3:PBYTE):BOOL;stdcall; external External_library name 'AddFormA';
1003
1004  function AddFormW(_para1:HANDLE; _para2:DWORD; _para3:PBYTE):BOOL;stdcall; external External_library name 'AddFormW';
1005
1006  function AddJob(_para1:HANDLE; _para2:DWORD; _para3:PBYTE; _para4:DWORD; _para5:PDWORD):BOOL;stdcall; external External_library name 'AddJobA';
1007
1008  function AddJobA(_para1:HANDLE; _para2:DWORD; _para3:PBYTE; _para4:DWORD; _para5:PDWORD):BOOL;stdcall; external External_library name 'AddJobA';
1009
1010  function AddJobW(_para1:HANDLE; _para2:DWORD; _para3:PBYTE; _para4:DWORD; _para5:PDWORD):BOOL;stdcall; external External_library name 'AddJobW';
1011
1012  function AddMonitor(_para1:LPSTR; _para2:DWORD; _para3:PBYTE):BOOL;stdcall; external External_library name 'AddMonitorA';
1013
1014  function AddMonitorA(_para1:LPSTR; _para2:DWORD; _para3:PBYTE):BOOL;stdcall; external External_library name 'AddMonitorA';
1015
1016  function AddMonitorW(_para1:LPWSTR; _para2:DWORD; _para3:PBYTE):BOOL;stdcall; external External_library name 'AddMonitorW';
1017
1018  function AddPort(_para1:LPSTR; _para2:HWND; _para3:LPSTR):BOOL;stdcall; external External_library name 'AddPortA';
1019
1020  function AddPortA(_para1:LPSTR; _para2:HWND; _para3:LPSTR):BOOL;stdcall; external External_library name 'AddPortA';
1021
1022  function AddPortW(_para1:LPWSTR; _para2:HWND; _para3:LPWSTR):BOOL;stdcall; external External_library name 'AddPortW';
1023
1024  function AddPrinter(_para1:LPSTR; _para2:DWORD; _para3:PBYTE):HANDLE;stdcall; external External_library name 'AddPrinterA';
1025
1026  function AddPrinterA(_para1:LPSTR; _para2:DWORD; _para3:PBYTE):HANDLE;stdcall; external External_library name 'AddPrinterA';
1027
1028  function AddPrinterW(_para1:LPWSTR; _para2:DWORD; _para3:PBYTE):HANDLE;stdcall; external External_library name 'AddPrinterW';
1029
1030  function AddPrinterConnection(_para1:LPSTR):BOOL;stdcall; external External_library name 'AddPrinterConnectionA';
1031
1032  function AddPrinterConnectionA(_para1:LPSTR):BOOL;stdcall; external External_library name 'AddPrinterConnectionA';
1033
1034  function AddPrinterConnectionW(_para1:LPWSTR):BOOL;stdcall; external External_library name 'AddPrinterConnectionW';
1035
1036  function AddPrinterDriver(_para1:LPSTR; _para2:DWORD; _para3:PBYTE):BOOL;stdcall; external External_library name 'AddPrinterDriverA';
1037
1038  function AddPrinterDriverA(_para1:LPSTR; _para2:DWORD; _para3:PBYTE):BOOL;stdcall; external External_library name 'AddPrinterDriverA';
1039
1040  function AddPrinterDriverW(_para1:LPWSTR; _para2:DWORD; _para3:PBYTE):BOOL;stdcall; external External_library name 'AddPrinterDriverW';
1041
1042  function AddPrintProcessor(_para1:LPSTR; _para2:LPSTR; _para3:LPSTR; _para4:LPSTR):BOOL;stdcall; external External_library name 'AddPrintProcessorA';
1043
1044  function AddPrintProcessorA(_para1:LPSTR; _para2:LPSTR; _para3:LPSTR; _para4:LPSTR):BOOL;stdcall; external External_library name 'AddPrintProcessorA';
1045
1046  function AddPrintProcessorW(_para1:LPWSTR; _para2:LPWSTR; _para3:LPWSTR; _para4:LPWSTR):BOOL;stdcall; external External_library name 'AddPrintProcessorW';
1047
1048  function AddPrintProvidor(_para1:LPSTR; _para2:DWORD; _para3:PBYTE):BOOL;stdcall; external External_library name 'AddPrintProvidorA';
1049
1050  function AddPrintProvidorA(_para1:LPSTR; _para2:DWORD; _para3:PBYTE):BOOL;stdcall; external External_library name 'AddPrintProvidorA';
1051
1052  function AddPrintProvidorW(_para1:LPWSTR; _para2:DWORD; _para3:PBYTE):BOOL;stdcall; external External_library name 'AddPrintProvidorW';
1053
1054  function AdvancedDocumentProperties(_para1:HWND; _para2:HANDLE; _para3:LPSTR; _para4:PDEVMODE; _para5:PDEVMODE):LONG;stdcall; external External_library name 'AdvancedDocumentPropertiesA';
1055
1056  function AdvancedDocumentPropertiesA(_para1:HWND; _para2:HANDLE; _para3:LPSTR; _para4:PDEVMODE; _para5:PDEVMODE):LONG;stdcall; external External_library name 'AdvancedDocumentPropertiesA';
1057
1058  function AdvancedDocumentProperties(_para1:HWND; _para2:HANDLE; _para3:LPWSTR; _para4:PDEVMODE; _para5:PDEVMODEW):LONG;stdcall; external External_library name 'AdvancedDocumentPropertiesW';
1059
1060  function AdvancedDocumentPropertiesW(_para1:HWND; _para2:HANDLE; _para3:LPWSTR; _para4:PDEVMODE; _para5:PDEVMODEW):LONG;stdcall; external External_library name 'AdvancedDocumentPropertiesW';
1061
1062  function ClosePrinter(_para1:HANDLE):BOOL;stdcall; external External_library name 'ClosePrinter';
1063
1064  function ConfigurePort(_para1:LPSTR; _para2:HWND; _para3:LPSTR):BOOL;stdcall; external External_library name 'ConfigurePortA';
1065
1066  function ConfigurePort(_para1:LPWSTR; _para2:HWND; _para3:LPWSTR):BOOL;stdcall; external External_library name 'ConfigurePortW';
1067
1068  function ConfigurePortA(_para1:LPSTR; _para2:HWND; _para3:LPSTR):BOOL;stdcall; external External_library name 'ConfigurePortA';
1069
1070  function ConfigurePortW(_para1:LPWSTR; _para2:HWND; _para3:LPWSTR):BOOL;stdcall; external External_library name 'ConfigurePortW';
1071
1072  function ConnectToPrinterDlg(_para1:HWND; _para2:DWORD):HANDLE;stdcall; external External_library name 'ConnectToPrinterDlg';
1073
1074  function DeleteForm(_para1:HANDLE; _para2:LPSTR):BOOL;stdcall; external External_library name 'DeleteFormA';
1075
1076  function DeleteForm(_para1:HANDLE; _para2:LPWSTR):BOOL;stdcall; external External_library name 'DeleteFormW';
1077
1078  function DeleteFormA(_para1:HANDLE; _para2:LPSTR):BOOL;stdcall; external External_library name 'DeleteFormA';
1079
1080  function DeleteFormW(_para1:HANDLE; _para2:LPWSTR):BOOL;stdcall; external External_library name 'DeleteFormW';
1081
1082  function DeleteMonitor(_para1:LPSTR; _para2:LPSTR; _para3:LPSTR):BOOL;stdcall; external External_library name 'DeleteMonitorA';
1083
1084  function DeleteMonitor(_para1:LPWSTR; _para2:LPWSTR; _para3:LPWSTR):BOOL;stdcall; external External_library name 'DeleteMonitorW';
1085
1086  function DeleteMonitorA(_para1:LPSTR; _para2:LPSTR; _para3:LPSTR):BOOL;stdcall; external External_library name 'DeleteMonitorA';
1087
1088  function DeleteMonitorW(_para1:LPWSTR; _para2:LPWSTR; _para3:LPWSTR):BOOL;stdcall; external External_library name 'DeleteMonitorW';
1089
1090  function DeletePort(_para1:LPSTR; _para2:HWND; _para3:LPSTR):BOOL;stdcall; external External_library name 'DeletePortA';
1091
1092  function DeletePort(_para1:LPWSTR; _para2:HWND; _para3:LPWSTR):BOOL;stdcall; external External_library name 'DeletePortW';
1093
1094  function DeletePortA(_para1:LPSTR; _para2:HWND; _para3:LPSTR):BOOL;stdcall; external External_library name 'DeletePortA';
1095
1096  function DeletePortW(_para1:LPWSTR; _para2:HWND; _para3:LPWSTR):BOOL;stdcall; external External_library name 'DeletePortW';
1097
1098  function DeletePrinter(_para1:HANDLE):BOOL;stdcall; external External_library name 'DeletePrinter';
1099
1100  function DeletePrinterConnection(_para1:LPSTR):BOOL;stdcall; external External_library name 'DeletePrinterConnectionA';
1101
1102  function DeletePrinterConnection(_para1:LPWSTR):BOOL;stdcall; external External_library name 'DeletePrinterConnectionW';
1103
1104  function DeletePrinterConnectionA(_para1:LPSTR):BOOL;stdcall; external External_library name 'DeletePrinterConnectionA';
1105
1106  function DeletePrinterConnectionW(_para1:LPWSTR):BOOL;stdcall; external External_library name 'DeletePrinterConnectionW';
1107
1108  function DeletePrinterData(_para1:HANDLE; _para2:LPSTR):DWORD;stdcall; external External_library name 'DeletePrinterDataA';
1109
1110  function DeletePrinterData(_para1:HANDLE; _para2:LPWSTR):DWORD;stdcall; external External_library name 'DeletePrinterDataW';
1111
1112  function DeletePrinterDataA(_para1:HANDLE; _para2:LPSTR):DWORD;stdcall; external External_library name 'DeletePrinterDataA';
1113
1114  function DeletePrinterDataW(_para1:HANDLE; _para2:LPWSTR):DWORD;stdcall; external External_library name 'DeletePrinterDataW';
1115
1116  function DeletePrinterDriver(_para1:LPSTR; _para2:LPSTR; _para3:LPSTR):BOOL;stdcall; external External_library name 'DeletePrinterDriverA';
1117
1118  function DeletePrinterDriver(_para1:LPWSTR; _para2:LPWSTR; _para3:LPWSTR):BOOL;stdcall; external External_library name 'DeletePrinterDriverW';
1119
1120  function DeletePrinterDriverA(_para1:LPSTR; _para2:LPSTR; _para3:LPSTR):BOOL;stdcall; external External_library name 'DeletePrinterDriverA';
1121
1122  function DeletePrinterDriverW(_para1:LPWSTR; _para2:LPWSTR; _para3:LPWSTR):BOOL;stdcall; external External_library name 'DeletePrinterDriverW';
1123
1124  function DeletePrintProcessor(_para1:LPSTR; _para2:LPSTR; _para3:LPSTR):BOOL;stdcall; external External_library name 'DeletePrintProcessorA';
1125
1126  function DeletePrintProcessor(_para1:LPWSTR; _para2:LPWSTR; _para3:LPWSTR):BOOL;stdcall; external External_library name 'DeletePrintProcessorW';
1127
1128  function DeletePrintProcessorA(_para1:LPSTR; _para2:LPSTR; _para3:LPSTR):BOOL;stdcall; external External_library name 'DeletePrintProcessorA';
1129
1130  function DeletePrintProcessorW(_para1:LPWSTR; _para2:LPWSTR; _para3:LPWSTR):BOOL;stdcall; external External_library name 'DeletePrintProcessorW';
1131
1132  function DeletePrintProvidor(_para1:LPSTR; _para2:LPSTR; _para3:LPSTR):BOOL;stdcall; external External_library name 'DeletePrintProvidorA';
1133
1134  function DeletePrintProvidor(_para1:LPWSTR; _para2:LPWSTR; _para3:LPWSTR):BOOL;stdcall; external External_library name 'DeletePrintProvidorW';
1135
1136  function DeletePrintProvidorA(_para1:LPSTR; _para2:LPSTR; _para3:LPSTR):BOOL;stdcall; external External_library name 'DeletePrintProvidorA';
1137
1138  function DeletePrintProvidorW(_para1:LPWSTR; _para2:LPWSTR; _para3:LPWSTR):BOOL;stdcall; external External_library name 'DeletePrintProvidorW';
1139
1140  function DocumentProperties(_para1:HWND; _para2:HANDLE; _para3:LPSTR; _para4:PDEVMODE; _para5:PDEVMODE;
1141             _para6:DWORD):LONG;stdcall; external External_library name 'DocumentPropertiesA';
1142
1143  function DocumentProperties(_para1:HWND; _para2:HANDLE; _para3:LPWSTR; _para4:PDEVMODEW; _para5:PDEVMODEW;
1144             _para6:DWORD):LONG;stdcall; external External_library name 'DocumentPropertiesW';
1145
1146  function DocumentPropertiesA(_para1:HWND; _para2:HANDLE; _para3:LPSTR; _para4:PDEVMODE; _para5:PDEVMODE;
1147             _para6:DWORD):LONG;stdcall; external External_library name 'DocumentPropertiesA';
1148
1149  function DocumentPropertiesW(_para1:HWND; _para2:HANDLE; _para3:LPWSTR; _para4:PDEVMODEW; _para5:PDEVMODEW;
1150             _para6:DWORD):LONG;stdcall; external External_library name 'DocumentPropertiesW';
1151
1152  function EndDocPrinter(_para1:HANDLE):BOOL;stdcall; external External_library name 'EndDocPrinter';
1153
1154  function EndPagePrinter(_para1:HANDLE):BOOL;stdcall; external External_library name 'EndPagePrinter';
1155
1156  function EnumForms(_para1:HANDLE; _para2:DWORD; _para3:PBYTE; _para4:DWORD; _para5:PDWORD;
1157             _para6:PDWORD):BOOL;stdcall; external External_library name 'EnumFormsA';
1158
1159  function EnumFormsA(_para1:HANDLE; _para2:DWORD; _para3:PBYTE; _para4:DWORD; _para5:PDWORD;
1160             _para6:PDWORD):BOOL;stdcall; external External_library name 'EnumFormsA';
1161
1162  function EnumFormsW(_para1:HANDLE; _para2:DWORD; _para3:PBYTE; _para4:DWORD; _para5:PDWORD;
1163             _para6:PDWORD):BOOL;stdcall; external External_library name 'EnumFormsW';
1164
1165  function EnumJobs(_para1:HANDLE; _para2:DWORD; _para3:DWORD; _para4:DWORD; _para5:PBYTE;
1166             _para6:DWORD; _para7:PDWORD; _para8:PDWORD):BOOL;stdcall; external External_library name 'EnumJobsA';
1167
1168  function EnumJobsA(_para1:HANDLE; _para2:DWORD; _para3:DWORD; _para4:DWORD; _para5:PBYTE;
1169             _para6:DWORD; _para7:PDWORD; _para8:PDWORD):BOOL;stdcall; external External_library name 'EnumJobsA';
1170
1171  function EnumJobsW(_para1:HANDLE; _para2:DWORD; _para3:DWORD; _para4:DWORD; _para5:PBYTE;
1172             _para6:DWORD; _para7:PDWORD; _para8:PDWORD):BOOL;stdcall; external External_library name 'EnumJobsW';
1173
1174  function EnumMonitors(_para1:LPSTR; _para2:DWORD; _para3:PBYTE; _para4:DWORD; _para5:PDWORD;
1175             _para6:PDWORD):BOOL;stdcall; external External_library name 'EnumMonitorsA';
1176
1177  function EnumMonitors(_para1:LPWSTR; _para2:DWORD; _para3:PBYTE; _para4:DWORD; _para5:PDWORD;
1178             _para6:PDWORD):BOOL;stdcall; external External_library name 'EnumMonitorsW';
1179
1180  function EnumMonitorsA(_para1:LPSTR; _para2:DWORD; _para3:PBYTE; _para4:DWORD; _para5:PDWORD;
1181             _para6:PDWORD):BOOL;stdcall; external External_library name 'EnumMonitorsA';
1182
1183  function EnumMonitorsW(_para1:LPWSTR; _para2:DWORD; _para3:PBYTE; _para4:DWORD; _para5:PDWORD;
1184             _para6:PDWORD):BOOL;stdcall; external External_library name 'EnumMonitorsW';
1185
1186  function EnumPorts(_para1:LPSTR; _para2:DWORD; _para3:PBYTE; _para4:DWORD; _para5:PDWORD;
1187             _para6:PDWORD):BOOL;stdcall; external External_library name 'EnumPortsA';
1188
1189  function EnumPortsA(_para1:LPSTR; _para2:DWORD; _para3:PBYTE; _para4:DWORD; _para5:PDWORD;
1190             _para6:PDWORD):BOOL;stdcall; external External_library name 'EnumPortsA';
1191
1192  function EnumPortsW(_para1:LPWSTR; _para2:DWORD; _para3:PBYTE; _para4:DWORD; _para5:PDWORD;
1193             _para6:PDWORD):BOOL;stdcall; external External_library name 'EnumPortsW';
1194
1195  function EnumPrinterData(_para1:HANDLE; _para2:DWORD; _para3:LPSTR; _para4:DWORD; _para5:PDWORD;
1196             _para6:PDWORD; _para7:PBYTE; _para8:DWORD; _para9:PDWORD):DWORD;stdcall; external External_library name 'EnumPrinterDataA';
1197
1198  function EnumPrinterDataA(_para1:HANDLE; _para2:DWORD; _para3:LPSTR; _para4:DWORD; _para5:PDWORD;
1199             _para6:PDWORD; _para7:PBYTE; _para8:DWORD; _para9:PDWORD):DWORD;stdcall; external External_library name 'EnumPrinterDataA';
1200
1201  function EnumPrinterDataW(_para1:HANDLE; _para2:DWORD; _para3:LPWSTR; _para4:DWORD; _para5:PDWORD;
1202             _para6:PDWORD; _para7:PBYTE; _para8:DWORD; _para9:PDWORD):DWORD;stdcall; external External_library name 'EnumPrinterDataW';
1203
1204  function EnumPrinterDrivers(_para1:LPSTR; _para2:LPSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1205             _para6:PDWORD; _para7:PDWORD):BOOL;stdcall; external External_library name 'EnumPrinterDriversA';
1206
1207  function EnumPrinterDrivers(_para1:LPWSTR; _para2:LPWSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1208             _para6:PDWORD; _para7:PDWORD):BOOL;stdcall; external External_library name 'EnumPrinterDriversW';
1209
1210  function EnumPrinterDriversA(_para1:LPSTR; _para2:LPSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1211             _para6:PDWORD; _para7:PDWORD):BOOL;stdcall; external External_library name 'EnumPrinterDriversA';
1212
1213  function EnumPrinterDriversW(_para1:LPWSTR; _para2:LPWSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1214             _para6:PDWORD; _para7:PDWORD):BOOL;stdcall; external External_library name 'EnumPrinterDriversW';
1215
1216  function EnumPrinters(_para1:DWORD; _para2:LPSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1217             _para6:PDWORD; _para7:PDWORD):BOOL;stdcall; external External_library name 'EnumPrintersA';
1218
1219  function EnumPrinters(_para1:DWORD; _para2:LPWSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1220             _para6:PDWORD; _para7:PDWORD):BOOL;stdcall; external External_library name 'EnumPrintersW';
1221
1222  function EnumPrintersA(_para1:DWORD; _para2:LPSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1223             _para6:PDWORD; _para7:PDWORD):BOOL;stdcall; external External_library name 'EnumPrintersA';
1224
1225  function EnumPrintersW(_para1:DWORD; _para2:LPWSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1226             _para6:PDWORD; _para7:PDWORD):BOOL;stdcall; external External_library name 'EnumPrintersW';
1227
1228  function EnumPrintProcessorDatatypes(_para1:LPSTR; _para2:LPSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1229             _para6:PDWORD; _para7:PDWORD):BOOL;stdcall; external External_library name 'EnumPrintProcessorDatatypesA';
1230
1231  function EnumPrintProcessorDatatypes(_para1:LPWSTR; _para2:LPWSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1232             _para6:PDWORD; _para7:PDWORD):BOOL;stdcall; external External_library name 'EnumPrintProcessorDatatypesW';
1233
1234  function EnumPrintProcessorDatatypesA(_para1:LPSTR; _para2:LPSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1235             _para6:PDWORD; _para7:PDWORD):BOOL;stdcall; external External_library name 'EnumPrintProcessorDatatypesA';
1236
1237  function EnumPrintProcessorDatatypesW(_para1:LPWSTR; _para2:LPWSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1238             _para6:PDWORD; _para7:PDWORD):BOOL;stdcall; external External_library name 'EnumPrintProcessorDatatypesW';
1239
1240  function EnumPrintProcessorsA(_para1:LPSTR; _para2:LPSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1241             _para6:PDWORD; _para7:PDWORD):BOOL;stdcall; external External_library name 'EnumPrintProcessorsA';
1242
1243  function EnumPrintProcessorsW(_para1:LPWSTR; _para2:LPWSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1244             _para6:PDWORD; _para7:PDWORD):BOOL;stdcall; external External_library name 'EnumPrintProcessorsW';
1245
1246  function EnumPrintProcessors(_para1:LPSTR; _para2:LPSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1247             _para6:PDWORD; _para7:PDWORD):BOOL;stdcall; external External_library name 'EnumPrintProcessorsA';
1248
1249  function EnumPrintProcessors(_para1:LPWSTR; _para2:LPWSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1250             _para6:PDWORD; _para7:PDWORD):BOOL;stdcall; external External_library name 'EnumPrintProcessorsW';
1251
1252  function FindClosePrinterChangeNotification(_para1:HANDLE):BOOL;stdcall; external External_library name 'FindClosePrinterChangeNotification';
1253
1254  function FindFirstPrinterChangeNotification(_para1:HANDLE; _para2:DWORD; _para3:DWORD; _para4:PVOID):HANDLE;stdcall; external External_library name 'FindFirstPrinterChangeNotification';
1255
1256  function FindNextPrinterChangeNotification(_para1:HANDLE; _para2:PDWORD; _para3:PVOID; _para4:PPVOID):HANDLE;stdcall; external External_library name 'FindNextPrinterChangeNotification';
1257
1258  function FreePrinterNotifyInfo(_para1:PPRINTER_NOTIFY_INFO):BOOL;stdcall; external External_library name 'FreePrinterNotifyInfo';
1259
1260  function GetDefaultPrinter(_para1:LPSTR; _para2:LPDWORD):BOOL;stdcall; external External_library name 'GetDefaultPrinterA';
1261
1262  function GetDefaultPrinter(_para1:LPWSTR; _para2:LPDWORD):BOOL;stdcall; external External_library name 'GetDefaultPrinterW';
1263
1264  function GetDefaultPrinterA(_para1:LPSTR; _para2:LPDWORD):BOOL;stdcall; external External_library name 'GetDefaultPrinterA';
1265
1266  function GetDefaultPrinterW(_para1:LPWSTR; _para2:LPDWORD):BOOL;stdcall; external External_library name 'GetDefaultPrinterW';
1267
1268  function GetForm(_para1:HANDLE; _para2:LPSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1269             _para6:PDWORD):BOOL;stdcall; external External_library name 'GetFormA';
1270
1271  function GetForm(_para1:HANDLE; _para2:LPWSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1272             _para6:PDWORD):BOOL;stdcall; external External_library name 'GetFormW';
1273
1274  function GetFormA(_para1:HANDLE; _para2:LPSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1275             _para6:PDWORD):BOOL;stdcall; external External_library name 'GetFormA';
1276
1277  function GetFormW(_para1:HANDLE; _para2:LPWSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1278             _para6:PDWORD):BOOL;stdcall; external External_library name 'GetFormW';
1279
1280  function GetJob(_para1:HANDLE; _para2:DWORD; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1281             _para6:PDWORD):BOOL;stdcall; external External_library name 'GetJobA';
1282
1283  function GetJobA(_para1:HANDLE; _para2:DWORD; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1284             _para6:PDWORD):BOOL;stdcall; external External_library name 'GetJobA';
1285
1286  function GetJobW(_para1:HANDLE; _para2:DWORD; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1287             _para6:PDWORD):BOOL;stdcall; external External_library name 'GetJobW';
1288
1289  function GetPrinter(_para1:HANDLE; _para2:DWORD; _para3:PBYTE; _para4:DWORD; _para5:PDWORD):BOOL;stdcall; external External_library name 'GetPrinterA';
1290
1291  function GetPrinterA(_para1:HANDLE; _para2:DWORD; _para3:PBYTE; _para4:DWORD; _para5:PDWORD):BOOL;stdcall; external External_library name 'GetPrinterA';
1292
1293  function GetPrinterW(_para1:HANDLE; _para2:DWORD; _para3:PBYTE; _para4:DWORD; _para5:PDWORD):BOOL;stdcall; external External_library name 'GetPrinterW';
1294
1295  function GetPrinterData(_para1:HANDLE; _para2:LPSTR; _para3:PDWORD; _para4:PBYTE; _para5:DWORD;
1296             _para6:PDWORD):DWORD;stdcall; external External_library name 'GetPrinterDataA';
1297
1298  function GetPrinterData(_para1:HANDLE; _para2:LPWSTR; _para3:PDWORD; _para4:PBYTE; _para5:DWORD;
1299             _para6:PDWORD):DWORD;stdcall; external External_library name 'GetPrinterDataW';
1300
1301  function GetPrinterDataA(_para1:HANDLE; _para2:LPSTR; _para3:PDWORD; _para4:PBYTE; _para5:DWORD;
1302             _para6:PDWORD):DWORD;stdcall; external External_library name 'GetPrinterDataA';
1303
1304  function GetPrinterDataW(_para1:HANDLE; _para2:LPWSTR; _para3:PDWORD; _para4:PBYTE; _para5:DWORD;
1305             _para6:PDWORD):DWORD;stdcall; external External_library name 'GetPrinterDataW';
1306
1307  function GetPrinterDriver(_para1:HANDLE; _para2:LPSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1308             _para6:PDWORD):DWORD;stdcall; external External_library name 'GetPrinterDriverA';
1309
1310  function GetPrinterDriver(_para1:HANDLE; _para2:LPWSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1311             _para6:PDWORD):DWORD;stdcall; external External_library name 'GetPrinterDriverW';
1312
1313  function GetPrinterDriverA(_para1:HANDLE; _para2:LPSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1314             _para6:PDWORD):DWORD;stdcall; external External_library name 'GetPrinterDriverA';
1315
1316  function GetPrinterDriverW(_para1:HANDLE; _para2:LPWSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1317             _para6:PDWORD):DWORD;stdcall; external External_library name 'GetPrinterDriverW';
1318
1319  function GetPrinterDriverDirectory(_para1:LPSTR; _para2:LPSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1320             _para6:PDWORD):DWORD;stdcall; external External_library name 'GetPrinterDriverDirectoryA';
1321
1322  function GetPrinterDriverDirectory(_para1:LPWSTR; _para2:LPWSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1323             _para6:PDWORD):DWORD;stdcall; external External_library name 'GetPrinterDriverDirectoryW';
1324
1325  function GetPrinterDriverDirectoryA(_para1:LPSTR; _para2:LPSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1326             _para6:PDWORD):DWORD;stdcall; external External_library name 'GetPrinterDriverDirectoryA';
1327
1328  function GetPrinterDriverDirectoryW(_para1:LPWSTR; _para2:LPWSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1329             _para6:PDWORD):DWORD;stdcall; external External_library name 'GetPrinterDriverDirectoryW';
1330
1331  function GetPrintProcessorDirectory(_para1:LPSTR; _para2:LPSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1332             _para6:PDWORD):DWORD;stdcall; external External_library name 'GetPrintProcessorDirectoryA';
1333
1334  function GetPrintProcessorDirectory(_para1:LPWSTR; _para2:LPWSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1335             _para6:PDWORD):DWORD;stdcall; external External_library name 'GetPrintProcessorDirectoryW';
1336
1337  function GetPrintProcessorDirectoryA(_para1:LPSTR; _para2:LPSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1338             _para6:PDWORD):DWORD;stdcall; external External_library name 'GetPrintProcessorDirectoryA';
1339
1340  function GetPrintProcessorDirectoryW(_para1:LPWSTR; _para2:LPWSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD;
1341             _para6:PDWORD):DWORD;stdcall; external External_library name 'GetPrintProcessorDirectoryW';
1342
1343  function OpenPrinter(_para1:LPSTR; _para2:PHANDLE; _para3:LPPRINTER_DEFAULTSA):BOOL;stdcall; external External_library name 'OpenPrinterA';
1344
1345  function OpenPrinter(_para1:LPWSTR; _para2:PHANDLE; _para3:LPPRINTER_DEFAULTSW):BOOL;stdcall; external External_library name 'OpenPrinterW';
1346
1347  function OpenPrinterA(_para1:LPSTR; _para2:PHANDLE; _para3:LPPRINTER_DEFAULTSA):BOOL;stdcall; external External_library name 'OpenPrinterA';
1348
1349  function OpenPrinterW(_para1:LPWSTR; _para2:PHANDLE; _para3:LPPRINTER_DEFAULTSW):BOOL;stdcall; external External_library name 'OpenPrinterW';
1350
1351  function PrinterMessageBox(_para1:HANDLE; _para2:DWORD; _para3:HWND; _para4:LPSTR; _para5:LPSTR;
1352             _para6:DWORD):DWORD;stdcall; external External_library name 'PrinterMessageBoxA';
1353
1354  function PrinterMessageBox(_para1:HANDLE; _para2:DWORD; _para3:HWND; _para4:LPWSTR; _para5:LPWSTR;
1355             _para6:DWORD):DWORD;stdcall; external External_library name 'PrinterMessageBoxW';
1356
1357  function PrinterMessageBoxA(_para1:HANDLE; _para2:DWORD; _para3:HWND; _para4:LPSTR; _para5:LPSTR;
1358             _para6:DWORD):DWORD;stdcall; external External_library name 'PrinterMessageBoxA';
1359
1360  function PrinterMessageBoxW(_para1:HANDLE; _para2:DWORD; _para3:HWND; _para4:LPWSTR; _para5:LPWSTR;
1361             _para6:DWORD):DWORD;stdcall; external External_library name 'PrinterMessageBoxW';
1362
1363  function PrinterProperties(_para1:HWND; _para2:HANDLE):BOOL;stdcall; external External_library name 'PrinterProperties';
1364
1365  function ReadPrinter(_para1:HANDLE; _para2:PVOID; _para3:DWORD; _para4:PDWORD):BOOL;stdcall; external External_library name 'ReadPrinter';
1366
1367  function ResetPrinter(_para1:HANDLE; _para2:LPPRINTER_DEFAULTSA):BOOL;stdcall; external External_library name 'ResetPrinterA';
1368
1369  function ResetPrinter(_para1:HANDLE; _para2:LPPRINTER_DEFAULTSW):BOOL;stdcall; external External_library name 'ResetPrinterW';
1370
1371  function ResetPrinterA(_para1:HANDLE; _para2:LPPRINTER_DEFAULTSA):BOOL;stdcall; external External_library name 'ResetPrinterA';
1372
1373  function ResetPrinterW(_para1:HANDLE; _para2:LPPRINTER_DEFAULTSW):BOOL;stdcall; external External_library name 'ResetPrinterW';
1374
1375  function ScheduleJob(_para1:HANDLE; _para2:DWORD):BOOL;stdcall; external External_library name 'ScheduleJob';
1376
1377  function SetForm(_para1:HANDLE; _para2:LPSTR; _para3:DWORD; _para4:PBYTE):BOOL;stdcall; external External_library name 'SetFormA';
1378
1379  function SetForm(_para1:HANDLE; _para2:LPWSTR; _para3:DWORD; _para4:PBYTE):BOOL;stdcall; external External_library name 'SetFormW';
1380
1381  function SetFormA(_para1:HANDLE; _para2:LPSTR; _para3:DWORD; _para4:PBYTE):BOOL;stdcall; external External_library name 'SetFormA';
1382
1383  function SetFormW(_para1:HANDLE; _para2:LPWSTR; _para3:DWORD; _para4:PBYTE):BOOL;stdcall; external External_library name 'SetFormW';
1384
1385  function SetJob(_para1:HANDLE; _para2:DWORD; _para3:DWORD; _para4:PBYTE; _para5:DWORD):BOOL;stdcall; external External_library name 'SetJobA';
1386
1387  function SetJobA(_para1:HANDLE; _para2:DWORD; _para3:DWORD; _para4:PBYTE; _para5:DWORD):BOOL;stdcall; external External_library name 'SetJobA';
1388
1389  function SetJobW(_para1:HANDLE; _para2:DWORD; _para3:DWORD; _para4:PBYTE; _para5:DWORD):BOOL;stdcall; external External_library name 'SetJobW';
1390
1391  function SetPrinter(_para1:HANDLE; _para2:DWORD; _para3:PBYTE; _para4:DWORD):BOOL;stdcall; external External_library name 'SetPrinterA';
1392
1393  function SetPrinterA(_para1:HANDLE; _para2:DWORD; _para3:PBYTE; _para4:DWORD):BOOL;stdcall; external External_library name 'SetPrinterA';
1394
1395  function SetPrinterW(_para1:HANDLE; _para2:DWORD; _para3:PBYTE; _para4:DWORD):BOOL;stdcall; external External_library name 'SetPrinterW';
1396
1397  function SetPrinterData(_para1:HANDLE; _para2:LPSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD):BOOL;stdcall; external External_library name 'SetPrinterDataA';
1398
1399  function SetPrinterDataA(_para1:HANDLE; _para2:LPSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD):BOOL;stdcall; external External_library name 'SetPrinterDataA';
1400
1401  function SetPrinterDataW(_para1:HANDLE; _para2:LPWSTR; _para3:DWORD; _para4:PBYTE; _para5:DWORD):BOOL;stdcall; external External_library name 'SetPrinterDataW';
1402
1403  function StartDocPrinter(_para1:HANDLE; _para2:DWORD; _para3:PBYTE):DWORD;stdcall; external External_library name 'StartDocPrinterA';
1404
1405  function StartDocPrinterA(_para1:HANDLE; _para2:DWORD; _para3:PBYTE):DWORD;stdcall; external External_library name 'StartDocPrinterA';
1406
1407  function StartDocPrinterW(_para1:HANDLE; _para2:DWORD; _para3:PBYTE):DWORD;stdcall; external External_library name 'StartDocPrinterW';
1408
1409  function StartPagePrinter(_para1:HANDLE):BOOL;stdcall; external External_library name 'StartPagePrinter';
1410
1411  function WaitForPrinterChange(_para1:HANDLE; _para2:DWORD):DWORD;stdcall; external External_library name 'WaitForPrinterChange';
1412
1413  function WritePrinter(_para1:HANDLE; _para2:PVOID; _para3:DWORD; _para4:PDWORD):BOOL;stdcall; external External_library name 'WritePrinter';
1414
1415
1416  type
1417     JOB_INFO_1 = JOB_INFO_1A;
1418     PJOB_INFO_1 = ^JOB_INFO_1;
1419     LPJOB_INFO_1 = ^JOB_INFO_1;
1420
1421     JOB_INFO_2 = JOB_INFO_2A;
1422     PJOB_INFO_2 = ^JOB_INFO_2;
1423     LPJOB_INFO_2 = ^JOB_INFO_2;
1424
1425     ADDJOB_INFO_1 = ADDJOB_INFO_1A;
1426     PADDJOB_INFO_1 = ^ADDJOB_INFO_1;
1427     LPADDJOB_INFO_1 = ^ADDJOB_INFO_1;
1428
1429     DATATYPES_INFO_1 = DATATYPES_INFO_1A;
1430     PDATATYPES_INFO_1 = ^DATATYPES_INFO_1;
1431     LPDATATYPES_INFO_1 = ^DATATYPES_INFO_1;
1432
1433     MONITOR_INFO_1 = MONITOR_INFO_1A;
1434     PMONITOR_INFO_1 = ^MONITOR_INFO_1;
1435     LPMONITOR_INFO_1 = ^MONITOR_INFO_1;
1436
1437     MONITOR_INFO_2 = MONITOR_INFO_2A;
1438     PMONITOR_INFO_2 = ^MONITOR_INFO_2;
1439     LPMONITOR_INFO_2 = ^MONITOR_INFO_2;
1440
1441     DOC_INFO_1 = DOC_INFO_1A;
1442     PDOC_INFO_1 = ^DOC_INFO_1;
1443     LPDOC_INFO_1 = ^DOC_INFO_1;
1444
1445     DOC_INFO_2 = DOC_INFO_2A;
1446     PDOC_INFO_2 = ^DOC_INFO_2;
1447     LPDOC_INFO_2 = ^DOC_INFO_2;
1448
1449     PORT_INFO_1 = PORT_INFO_1A;
1450     PPORT_INFO_1 = ^PORT_INFO_1;
1451     LPPORT_INFO_1 = ^PORT_INFO_1;
1452
1453     PORT_INFO_2 = PORT_INFO_2A;
1454     PPORT_INFO_2 = ^PORT_INFO_2;
1455     LPPORT_INFO_2 = ^PORT_INFO_2;
1456
1457     PORT_INFO_3 = PORT_INFO_3A;
1458     PPORT_INFO_3 = ^PORT_INFO_3;
1459     LPPORT_INFO_3 = ^PORT_INFO_3;
1460
1461     DRIVER_INFO_1 = DRIVER_INFO_1A;
1462     PDRIVER_INFO_1 = ^DRIVER_INFO_1;
1463     LPDRIVER_INFO_1 = ^DRIVER_INFO_1;
1464
1465     DRIVER_INFO_2 = DRIVER_INFO_2A;
1466     PDRIVER_INFO_2 = ^DRIVER_INFO_2;
1467     LPDRIVER_INFO_2 = ^DRIVER_INFO_2;
1468
1469     DRIVER_INFO_3 = DRIVER_INFO_3A;
1470     PDRIVER_INFO_3 = ^DRIVER_INFO_3;
1471     LPDRIVER_INFO_3 = ^DRIVER_INFO_3;
1472
1473     DRIVER_INFO_4 = DRIVER_INFO_4A;
1474     PDRIVER_INFO_4 = ^DRIVER_INFO_4;
1475     LPDRIVER_INFO_4 = ^DRIVER_INFO_4;
1476
1477     DRIVER_INFO_5 = DRIVER_INFO_5A;
1478     PDRIVER_INFO_5 = ^DRIVER_INFO_5;
1479     LPDRIVER_INFO_5 = ^DRIVER_INFO_5;
1480
1481     DRIVER_INFO_6 = DRIVER_INFO_6A;
1482     PDRIVER_INFO_6 = ^DRIVER_INFO_6;
1483     LPDRIVER_INFO_6 = ^DRIVER_INFO_6;
1484
1485     PRINTER_ENUM_VALUES = PRINTER_ENUM_VALUESA;
1486     PPRINTER_ENUM_VALUES = ^PRINTER_ENUM_VALUES;
1487     LPRINTER_ENUM_VALUES = ^PRINTER_ENUM_VALUES;
1488
1489     PRINTER_INFO_1 = PRINTER_INFO_1A;
1490     PPRINTER_INFO_1 = ^PRINTER_INFO_1;
1491     LPPRINTER_INFO_1 = ^PRINTER_INFO_1;
1492
1493     PRINTER_INFO_2 = PRINTER_INFO_2A;
1494     PPRINTER_INFO_2 = ^PRINTER_INFO_2;
1495     LPPRINTER_INFO_2 = ^PRINTER_INFO_2;
1496
1497     PRINTER_INFO_4 = PRINTER_INFO_4A;
1498     PPRINTER_INFO_4 = ^PRINTER_INFO_4;
1499     LPPRINTER_INFO_4 = ^PRINTER_INFO_4;
1500
1501     PRINTER_INFO_5 = PRINTER_INFO_5A;
1502     PPRINTER_INFO_5 = ^PRINTER_INFO_5;
1503     LPPRINTER_INFO_5 = ^PRINTER_INFO_5;
1504
1505     PRINTER_INFO_7 = PRINTER_INFO_7A;
1506     PPRINTER_INFO_7 = ^PRINTER_INFO_7;
1507     LPPRINTER_INFO_7 = ^PRINTER_INFO_7;
1508
1509     PRINTPROCESSOR_INFO_1 = PRINTPROCESSOR_INFO_1A;
1510     PPRINTPROCESSOR_INFO_1 = ^PRINTPROCESSOR_INFO_1;
1511     LPPRINTPROCESSOR_INFO_1 = ^PRINTPROCESSOR_INFO_1;
1512
1513     FORM_INFO_1 = FORM_INFO_1A;
1514     PFORM_INFO_1 = ^FORM_INFO_1;
1515     LPFORM_INFO_1 = ^FORM_INFO_1;
1516
1517     PRINTER_DEFAULTS = PRINTER_DEFAULTSA;
1518     PPRINTER_DEFAULTS = ^PRINTER_DEFAULTS;
1519     LPPRINTER_DEFAULTS = ^PRINTER_DEFAULTS;
1520
1521     PROVIDOR_INFO_1 = PROVIDOR_INFO_1A;
1522     PPROVIDOR_INFO_1 = ^PROVIDOR_INFO_1;
1523     LPROVIDOR_INFO_1 = ^PROVIDOR_INFO_1;
1524
1525     PROVIDOR_INFO_2 = PROVIDOR_INFO_2A;
1526     PPROVIDOR_INFO_2 = ^PROVIDOR_INFO_2;
1527     LPROVIDOR_INFO_2 = ^PROVIDOR_INFO_2;
1528
1529implementation
1530
1531
1532end.
1533