2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
9 #include <_mingw_unicode.h>
19 typedef struct _PRINTER_INFO_1A
{
24 } PRINTER_INFO_1A
,*PPRINTER_INFO_1A
,*LPPRINTER_INFO_1A
;
26 typedef struct _PRINTER_INFO_1W
{
31 } PRINTER_INFO_1W
,*PPRINTER_INFO_1W
,*LPPRINTER_INFO_1W
;
33 __MINGW_TYPEDEF_AW(PRINTER_INFO_1
)
34 __MINGW_TYPEDEF_AW(PPRINTER_INFO_1
)
35 __MINGW_TYPEDEF_AW(LPPRINTER_INFO_1
)
37 typedef struct _PRINTER_INFO_2A
{
47 LPSTR pPrintProcessor
;
50 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
53 DWORD DefaultPriority
;
59 } PRINTER_INFO_2A
,*PPRINTER_INFO_2A
,*LPPRINTER_INFO_2A
;
61 typedef struct _PRINTER_INFO_2W
{
71 LPWSTR pPrintProcessor
;
74 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
77 DWORD DefaultPriority
;
83 } PRINTER_INFO_2W
,*PPRINTER_INFO_2W
,*LPPRINTER_INFO_2W
;
85 __MINGW_TYPEDEF_AW(PRINTER_INFO_2
)
86 __MINGW_TYPEDEF_AW(PPRINTER_INFO_2
)
87 __MINGW_TYPEDEF_AW(LPPRINTER_INFO_2
)
89 typedef struct _PRINTER_INFO_3
{
90 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
91 } PRINTER_INFO_3
,*PPRINTER_INFO_3
,*LPPRINTER_INFO_3
;
93 typedef struct _PRINTER_INFO_4A
{
97 } PRINTER_INFO_4A
,*PPRINTER_INFO_4A
,*LPPRINTER_INFO_4A
;
99 typedef struct _PRINTER_INFO_4W
{
103 } PRINTER_INFO_4W
,*PPRINTER_INFO_4W
,*LPPRINTER_INFO_4W
;
105 __MINGW_TYPEDEF_AW(PRINTER_INFO_4
)
106 __MINGW_TYPEDEF_AW(PPRINTER_INFO_4
)
107 __MINGW_TYPEDEF_AW(LPPRINTER_INFO_4
)
109 typedef struct _PRINTER_INFO_5A
{
113 DWORD DeviceNotSelectedTimeout
;
114 DWORD TransmissionRetryTimeout
;
115 } PRINTER_INFO_5A
,*PPRINTER_INFO_5A
,*LPPRINTER_INFO_5A
;
117 typedef struct _PRINTER_INFO_5W
{
121 DWORD DeviceNotSelectedTimeout
;
122 DWORD TransmissionRetryTimeout
;
123 } PRINTER_INFO_5W
,*PPRINTER_INFO_5W
,*LPPRINTER_INFO_5W
;
125 __MINGW_TYPEDEF_AW(PRINTER_INFO_5
)
126 __MINGW_TYPEDEF_AW(PPRINTER_INFO_5
)
127 __MINGW_TYPEDEF_AW(LPPRINTER_INFO_5
)
129 typedef struct _PRINTER_INFO_6
{
131 } PRINTER_INFO_6
,*PPRINTER_INFO_6
,*LPPRINTER_INFO_6
;
133 typedef struct _PRINTER_INFO_7A
{
136 } PRINTER_INFO_7A
,*PPRINTER_INFO_7A
,*LPPRINTER_INFO_7A
;
138 typedef struct _PRINTER_INFO_7W
{
139 LPWSTR pszObjectGUID
;
141 } PRINTER_INFO_7W
,*PPRINTER_INFO_7W
,*LPPRINTER_INFO_7W
;
143 __MINGW_TYPEDEF_AW(PRINTER_INFO_7
)
144 __MINGW_TYPEDEF_AW(PPRINTER_INFO_7
)
145 __MINGW_TYPEDEF_AW(LPPRINTER_INFO_7
)
147 #define DSPRINT_PUBLISH 0x00000001
148 #define DSPRINT_UPDATE 0x00000002
149 #define DSPRINT_UNPUBLISH 0x00000004
150 #define DSPRINT_REPUBLISH 0x00000008
151 #define DSPRINT_PENDING 0x80000000
153 typedef struct _PRINTER_INFO_8A
{
155 } PRINTER_INFO_8A
,*PPRINTER_INFO_8A
,*LPPRINTER_INFO_8A
;
157 typedef struct _PRINTER_INFO_8W
{
159 } PRINTER_INFO_8W
,*PPRINTER_INFO_8W
,*LPPRINTER_INFO_8W
;
161 __MINGW_TYPEDEF_AW(PRINTER_INFO_8
)
162 __MINGW_TYPEDEF_AW(PPRINTER_INFO_8
)
163 __MINGW_TYPEDEF_AW(LPPRINTER_INFO_8
)
165 typedef struct _PRINTER_INFO_9A
{
167 } PRINTER_INFO_9A
,*PPRINTER_INFO_9A
,*LPPRINTER_INFO_9A
;
169 typedef struct _PRINTER_INFO_9W
{
171 } PRINTER_INFO_9W
,*PPRINTER_INFO_9W
,*LPPRINTER_INFO_9W
;
173 __MINGW_TYPEDEF_AW(PRINTER_INFO_9
)
174 __MINGW_TYPEDEF_AW(PPRINTER_INFO_9
)
175 __MINGW_TYPEDEF_AW(LPPRINTER_INFO_9
)
177 #define PRINTER_CONTROL_PAUSE 1
178 #define PRINTER_CONTROL_RESUME 2
179 #define PRINTER_CONTROL_PURGE 3
180 #define PRINTER_CONTROL_SET_STATUS 4
182 #define PRINTER_STATUS_PAUSED 0x00000001
183 #define PRINTER_STATUS_ERROR 0x00000002
184 #define PRINTER_STATUS_PENDING_DELETION 0x00000004
185 #define PRINTER_STATUS_PAPER_JAM 0x00000008
186 #define PRINTER_STATUS_PAPER_OUT 0x00000010
187 #define PRINTER_STATUS_MANUAL_FEED 0x00000020
188 #define PRINTER_STATUS_PAPER_PROBLEM 0x00000040
189 #define PRINTER_STATUS_OFFLINE 0x00000080
190 #define PRINTER_STATUS_IO_ACTIVE 0x00000100
191 #define PRINTER_STATUS_BUSY 0x00000200
192 #define PRINTER_STATUS_PRINTING 0x00000400
193 #define PRINTER_STATUS_OUTPUT_BIN_FULL 0x00000800
194 #define PRINTER_STATUS_NOT_AVAILABLE 0x00001000
195 #define PRINTER_STATUS_WAITING 0x00002000
196 #define PRINTER_STATUS_PROCESSING 0x00004000
197 #define PRINTER_STATUS_INITIALIZING 0x00008000
198 #define PRINTER_STATUS_WARMING_UP 0x00010000
199 #define PRINTER_STATUS_TONER_LOW 0x00020000
200 #define PRINTER_STATUS_NO_TONER 0x00040000
201 #define PRINTER_STATUS_PAGE_PUNT 0x00080000
202 #define PRINTER_STATUS_USER_INTERVENTION 0x00100000
203 #define PRINTER_STATUS_OUT_OF_MEMORY 0x00200000
204 #define PRINTER_STATUS_DOOR_OPEN 0x00400000
205 #define PRINTER_STATUS_SERVER_UNKNOWN 0x00800000
206 #define PRINTER_STATUS_POWER_SAVE 0x01000000
208 #define PRINTER_ATTRIBUTE_QUEUED 0x00000001
209 #define PRINTER_ATTRIBUTE_DIRECT 0x00000002
210 #define PRINTER_ATTRIBUTE_DEFAULT 0x00000004
211 #define PRINTER_ATTRIBUTE_SHARED 0x00000008
212 #define PRINTER_ATTRIBUTE_NETWORK 0x00000010
213 #define PRINTER_ATTRIBUTE_HIDDEN 0x00000020
214 #define PRINTER_ATTRIBUTE_LOCAL 0x00000040
216 #define PRINTER_ATTRIBUTE_ENABLE_DEVQ 0x00000080
217 #define PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS 0x00000100
218 #define PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST 0x00000200
220 #define PRINTER_ATTRIBUTE_WORK_OFFLINE 0x00000400
221 #define PRINTER_ATTRIBUTE_ENABLE_BIDI 0x00000800
222 #define PRINTER_ATTRIBUTE_RAW_ONLY 0x00001000
223 #define PRINTER_ATTRIBUTE_PUBLISHED 0x00002000
224 #define PRINTER_ATTRIBUTE_FAX 0x00004000
225 #define PRINTER_ATTRIBUTE_TS 0x00008000
227 #define NO_PRIORITY 0
228 #define MAX_PRIORITY 99
229 #define MIN_PRIORITY 1
230 #define DEF_PRIORITY 1
232 typedef struct _JOB_INFO_1A
{
245 SYSTEMTIME Submitted
;
246 } JOB_INFO_1A
,*PJOB_INFO_1A
,*LPJOB_INFO_1A
;
248 typedef struct _JOB_INFO_1W
{
261 SYSTEMTIME Submitted
;
262 } JOB_INFO_1W
,*PJOB_INFO_1W
,*LPJOB_INFO_1W
;
264 __MINGW_TYPEDEF_AW(JOB_INFO_1
)
265 __MINGW_TYPEDEF_AW(PJOB_INFO_1
)
266 __MINGW_TYPEDEF_AW(LPJOB_INFO_1
)
268 typedef struct _JOB_INFO_2A
{
276 LPSTR pPrintProcessor
;
281 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
289 SYSTEMTIME Submitted
;
292 } JOB_INFO_2A
,*PJOB_INFO_2A
,*LPJOB_INFO_2A
;
294 typedef struct _JOB_INFO_2W
{
302 LPWSTR pPrintProcessor
;
307 PSECURITY_DESCRIPTOR pSecurityDescriptor
;
315 SYSTEMTIME Submitted
;
318 } JOB_INFO_2W
,*PJOB_INFO_2W
,*LPJOB_INFO_2W
;
320 __MINGW_TYPEDEF_AW(JOB_INFO_2
)
321 __MINGW_TYPEDEF_AW(PJOB_INFO_2
)
322 __MINGW_TYPEDEF_AW(LPJOB_INFO_2
)
324 typedef struct _JOB_INFO_3
{
328 } JOB_INFO_3
,*PJOB_INFO_3
,*LPJOB_INFO_3
;
330 #define JOB_CONTROL_PAUSE 1
331 #define JOB_CONTROL_RESUME 2
332 #define JOB_CONTROL_CANCEL 3
333 #define JOB_CONTROL_RESTART 4
334 #define JOB_CONTROL_DELETE 5
335 #define JOB_CONTROL_SENT_TO_PRINTER 6
336 #define JOB_CONTROL_LAST_PAGE_EJECTED 7
338 #define JOB_STATUS_PAUSED 0x00000001
339 #define JOB_STATUS_ERROR 0x00000002
340 #define JOB_STATUS_DELETING 0x00000004
341 #define JOB_STATUS_SPOOLING 0x00000008
342 #define JOB_STATUS_PRINTING 0x00000010
343 #define JOB_STATUS_OFFLINE 0x00000020
344 #define JOB_STATUS_PAPEROUT 0x00000040
345 #define JOB_STATUS_PRINTED 0x00000080
346 #define JOB_STATUS_DELETED 0x00000100
347 #define JOB_STATUS_BLOCKED_DEVQ 0x00000200
348 #define JOB_STATUS_USER_INTERVENTION 0x00000400
349 #define JOB_STATUS_RESTART 0x00000800
350 #define JOB_STATUS_COMPLETE 0x00001000
352 #define JOB_POSITION_UNSPECIFIED 0
354 typedef struct _ADDJOB_INFO_1A
{
357 } ADDJOB_INFO_1A
,*PADDJOB_INFO_1A
,*LPADDJOB_INFO_1A
;
359 typedef struct _ADDJOB_INFO_1W
{
362 } ADDJOB_INFO_1W
,*PADDJOB_INFO_1W
,*LPADDJOB_INFO_1W
;
364 __MINGW_TYPEDEF_AW(ADDJOB_INFO_1
)
365 __MINGW_TYPEDEF_AW(PADDJOB_INFO_1
)
366 __MINGW_TYPEDEF_AW(LPADDJOB_INFO_1
)
368 typedef struct _DRIVER_INFO_1A
{
370 } DRIVER_INFO_1A
,*PDRIVER_INFO_1A
,*LPDRIVER_INFO_1A
;
372 typedef struct _DRIVER_INFO_1W
{
374 } DRIVER_INFO_1W
,*PDRIVER_INFO_1W
,*LPDRIVER_INFO_1W
;
376 __MINGW_TYPEDEF_AW(DRIVER_INFO_1
)
377 __MINGW_TYPEDEF_AW(PDRIVER_INFO_1
)
378 __MINGW_TYPEDEF_AW(LPDRIVER_INFO_1
)
380 typedef struct _DRIVER_INFO_2A
{
387 } DRIVER_INFO_2A
,*PDRIVER_INFO_2A
,*LPDRIVER_INFO_2A
;
389 typedef struct _DRIVER_INFO_2W
{
396 } DRIVER_INFO_2W
,*PDRIVER_INFO_2W
,*LPDRIVER_INFO_2W
;
398 __MINGW_TYPEDEF_AW(DRIVER_INFO_2
)
399 __MINGW_TYPEDEF_AW(PDRIVER_INFO_2
)
400 __MINGW_TYPEDEF_AW(LPDRIVER_INFO_2
)
402 typedef struct _DRIVER_INFO_3A
{
410 LPSTR pDependentFiles
;
412 LPSTR pDefaultDataType
;
413 } DRIVER_INFO_3A
,*PDRIVER_INFO_3A
,*LPDRIVER_INFO_3A
;
415 typedef struct _DRIVER_INFO_3W
{
423 LPWSTR pDependentFiles
;
425 LPWSTR pDefaultDataType
;
426 } DRIVER_INFO_3W
,*PDRIVER_INFO_3W
,*LPDRIVER_INFO_3W
;
428 __MINGW_TYPEDEF_AW(DRIVER_INFO_3
)
429 __MINGW_TYPEDEF_AW(PDRIVER_INFO_3
)
430 __MINGW_TYPEDEF_AW(LPDRIVER_INFO_3
)
432 typedef struct _DRIVER_INFO_4A
{
440 LPSTR pDependentFiles
;
442 LPSTR pDefaultDataType
;
443 LPSTR pszzPreviousNames
;
444 } DRIVER_INFO_4A
,*PDRIVER_INFO_4A
,*LPDRIVER_INFO_4A
;
446 typedef struct _DRIVER_INFO_4W
{
454 LPWSTR pDependentFiles
;
456 LPWSTR pDefaultDataType
;
457 LPWSTR pszzPreviousNames
;
458 } DRIVER_INFO_4W
,*PDRIVER_INFO_4W
,*LPDRIVER_INFO_4W
;
460 __MINGW_TYPEDEF_AW(DRIVER_INFO_4
)
461 __MINGW_TYPEDEF_AW(PDRIVER_INFO_4
)
462 __MINGW_TYPEDEF_AW(LPDRIVER_INFO_4
)
464 typedef struct _DRIVER_INFO_5A
{
471 DWORD dwDriverAttributes
;
472 DWORD dwConfigVersion
;
473 DWORD dwDriverVersion
;
474 } DRIVER_INFO_5A
,*PDRIVER_INFO_5A
,*LPDRIVER_INFO_5A
;
476 typedef struct _DRIVER_INFO_5W
{
483 DWORD dwDriverAttributes
;
484 DWORD dwConfigVersion
;
485 DWORD dwDriverVersion
;
486 } DRIVER_INFO_5W
,*PDRIVER_INFO_5W
,*LPDRIVER_INFO_5W
;
488 __MINGW_TYPEDEF_AW(DRIVER_INFO_5
)
489 __MINGW_TYPEDEF_AW(PDRIVER_INFO_5
)
490 __MINGW_TYPEDEF_AW(LPDRIVER_INFO_5
)
492 typedef struct _DRIVER_INFO_6A
{
500 LPSTR pDependentFiles
;
502 LPSTR pDefaultDataType
;
503 LPSTR pszzPreviousNames
;
504 FILETIME ftDriverDate
;
505 DWORDLONG dwlDriverVersion
;
510 } DRIVER_INFO_6A
,*PDRIVER_INFO_6A
,*LPDRIVER_INFO_6A
;
512 typedef struct _DRIVER_INFO_6W
{
520 LPWSTR pDependentFiles
;
522 LPWSTR pDefaultDataType
;
523 LPWSTR pszzPreviousNames
;
524 FILETIME ftDriverDate
;
525 DWORDLONG dwlDriverVersion
;
528 LPWSTR pszHardwareID
;
530 } DRIVER_INFO_6W
,*PDRIVER_INFO_6W
,*LPDRIVER_INFO_6W
;
532 __MINGW_TYPEDEF_AW(DRIVER_INFO_6
)
533 __MINGW_TYPEDEF_AW(PDRIVER_INFO_6
)
534 __MINGW_TYPEDEF_AW(LPDRIVER_INFO_6
)
536 #define DRIVER_KERNELMODE 0x00000001
537 #define DRIVER_USERMODE 0x00000002
539 #define DPD_DELETE_UNUSED_FILES 0x00000001
540 #define DPD_DELETE_SPECIFIC_VERSION 0x00000002
541 #define DPD_DELETE_ALL_FILES 0x00000004
543 #define APD_STRICT_UPGRADE 0x00000001
544 #define APD_STRICT_DOWNGRADE 0x00000002
545 #define APD_COPY_ALL_FILES 0x00000004
546 #define APD_COPY_NEW_FILES 0x00000008
547 #define APD_COPY_FROM_DIRECTORY 0x00000010
549 typedef struct _DOC_INFO_1A
{
553 } DOC_INFO_1A
,*PDOC_INFO_1A
,*LPDOC_INFO_1A
;
555 typedef struct _DOC_INFO_1W
{
559 } DOC_INFO_1W
,*PDOC_INFO_1W
,*LPDOC_INFO_1W
;
561 __MINGW_TYPEDEF_AW(DOC_INFO_1
)
562 __MINGW_TYPEDEF_AW(PDOC_INFO_1
)
563 __MINGW_TYPEDEF_AW(LPDOC_INFO_1
)
565 typedef struct _FORM_INFO_1A
{
570 } FORM_INFO_1A
,*PFORM_INFO_1A
,*LPFORM_INFO_1A
;
572 typedef struct _FORM_INFO_1W
{
577 } FORM_INFO_1W
,*PFORM_INFO_1W
,*LPFORM_INFO_1W
;
579 __MINGW_TYPEDEF_AW(FORM_INFO_1
)
580 __MINGW_TYPEDEF_AW(PFORM_INFO_1
)
581 __MINGW_TYPEDEF_AW(LPFORM_INFO_1
)
583 typedef struct _DOC_INFO_2A
{
589 } DOC_INFO_2A
,*PDOC_INFO_2A
,*LPDOC_INFO_2A
;
591 typedef struct _DOC_INFO_2W
{
597 } DOC_INFO_2W
,*PDOC_INFO_2W
,*LPDOC_INFO_2W
;
599 __MINGW_TYPEDEF_AW(DOC_INFO_2
)
600 __MINGW_TYPEDEF_AW(PDOC_INFO_2
)
601 __MINGW_TYPEDEF_AW(LPDOC_INFO_2
)
604 #define DI_READ_SPOOL_JOB 3
606 typedef struct _DOC_INFO_3A
{
611 } DOC_INFO_3A
,*PDOC_INFO_3A
,*LPDOC_INFO_3A
;
613 typedef struct _DOC_INFO_3W
{
618 } DOC_INFO_3W
,*PDOC_INFO_3W
,*LPDOC_INFO_3W
;
620 __MINGW_TYPEDEF_AW(DOC_INFO_3
)
621 __MINGW_TYPEDEF_AW(PDOC_INFO_3
)
622 __MINGW_TYPEDEF_AW(LPDOC_INFO_3
)
624 #define DI_MEMORYMAP_WRITE 0x00000001
626 #define FORM_USER 0x00000000
627 #define FORM_BUILTIN 0x00000001
628 #define FORM_PRINTER 0x00000002
630 typedef struct _PRINTPROCESSOR_INFO_1A
{
632 } PRINTPROCESSOR_INFO_1A
,*PPRINTPROCESSOR_INFO_1A
,*LPPRINTPROCESSOR_INFO_1A
;
634 typedef struct _PRINTPROCESSOR_INFO_1W
{
636 } PRINTPROCESSOR_INFO_1W
,*PPRINTPROCESSOR_INFO_1W
,*LPPRINTPROCESSOR_INFO_1W
;
638 __MINGW_TYPEDEF_AW(PRINTPROCESSOR_INFO_1
)
639 __MINGW_TYPEDEF_AW(PPRINTPROCESSOR_INFO_1
)
640 __MINGW_TYPEDEF_AW(LPPRINTPROCESSOR_INFO_1
)
642 typedef struct _PRINTPROCESSOR_CAPS_1
{
645 DWORD dwPageOrderFlags
;
646 DWORD dwNumberOfCopies
;
647 } PRINTPROCESSOR_CAPS_1
,*PPRINTPROCESSOR_CAPS_1
;
649 #define NORMAL_PRINT 0x00000000
650 #define REVERSE_PRINT 0x00000001
652 typedef struct _PORT_INFO_1A
{
654 } PORT_INFO_1A
,*PPORT_INFO_1A
,*LPPORT_INFO_1A
;
655 typedef struct _PORT_INFO_1W
{
657 } PORT_INFO_1W
,*PPORT_INFO_1W
,*LPPORT_INFO_1W
;
659 __MINGW_TYPEDEF_AW(PORT_INFO_1
)
660 __MINGW_TYPEDEF_AW(PPORT_INFO_1
)
661 __MINGW_TYPEDEF_AW(LPPORT_INFO_1
)
663 typedef struct _PORT_INFO_2A
{
669 } PORT_INFO_2A
,*PPORT_INFO_2A
,*LPPORT_INFO_2A
;
671 typedef struct _PORT_INFO_2W
{
677 } PORT_INFO_2W
,*PPORT_INFO_2W
,*LPPORT_INFO_2W
;
679 __MINGW_TYPEDEF_AW(PORT_INFO_2
)
680 __MINGW_TYPEDEF_AW(PPORT_INFO_2
)
681 __MINGW_TYPEDEF_AW(LPPORT_INFO_2
)
683 #define PORT_TYPE_WRITE 0x0001
684 #define PORT_TYPE_READ 0x0002
685 #define PORT_TYPE_REDIRECTED 0x0004
686 #define PORT_TYPE_NET_ATTACHED 0x0008
688 typedef struct _PORT_INFO_3A
{
692 } PORT_INFO_3A
,*PPORT_INFO_3A
,*LPPORT_INFO_3A
;
694 typedef struct _PORT_INFO_3W
{
698 } PORT_INFO_3W
,*PPORT_INFO_3W
,*LPPORT_INFO_3W
;
700 __MINGW_TYPEDEF_AW(PORT_INFO_3
)
701 __MINGW_TYPEDEF_AW(PPORT_INFO_3
)
702 __MINGW_TYPEDEF_AW(LPPORT_INFO_3
)
704 #define PORT_STATUS_TYPE_ERROR 1
705 #define PORT_STATUS_TYPE_WARNING 2
706 #define PORT_STATUS_TYPE_INFO 3
708 #define PORT_STATUS_OFFLINE 1
709 #define PORT_STATUS_PAPER_JAM 2
710 #define PORT_STATUS_PAPER_OUT 3
711 #define PORT_STATUS_OUTPUT_BIN_FULL 4
712 #define PORT_STATUS_PAPER_PROBLEM 5
713 #define PORT_STATUS_NO_TONER 6
714 #define PORT_STATUS_DOOR_OPEN 7
715 #define PORT_STATUS_USER_INTERVENTION 8
716 #define PORT_STATUS_OUT_OF_MEMORY 9
717 #define PORT_STATUS_TONER_LOW 10
718 #define PORT_STATUS_WARMING_UP 11
719 #define PORT_STATUS_POWER_SAVE 12
721 typedef struct _MONITOR_INFO_1A
{
723 } MONITOR_INFO_1A
,*PMONITOR_INFO_1A
,*LPMONITOR_INFO_1A
;
725 typedef struct _MONITOR_INFO_1W
{
727 } MONITOR_INFO_1W
,*PMONITOR_INFO_1W
,*LPMONITOR_INFO_1W
;
729 __MINGW_TYPEDEF_AW(MONITOR_INFO_1
)
730 __MINGW_TYPEDEF_AW(PMONITOR_INFO_1
)
731 __MINGW_TYPEDEF_AW(LPMONITOR_INFO_1
)
733 typedef struct _MONITOR_INFO_2A
{
737 } MONITOR_INFO_2A
,*PMONITOR_INFO_2A
,*LPMONITOR_INFO_2A
;
739 typedef struct _MONITOR_INFO_2W
{
743 } MONITOR_INFO_2W
,*PMONITOR_INFO_2W
,*LPMONITOR_INFO_2W
;
745 __MINGW_TYPEDEF_AW(MONITOR_INFO_2
)
746 __MINGW_TYPEDEF_AW(PMONITOR_INFO_2
)
747 __MINGW_TYPEDEF_AW(LPMONITOR_INFO_2
)
749 typedef struct _DATATYPES_INFO_1A
{
751 } DATATYPES_INFO_1A
,*PDATATYPES_INFO_1A
,*LPDATATYPES_INFO_1A
;
753 typedef struct _DATATYPES_INFO_1W
{
755 } DATATYPES_INFO_1W
,*PDATATYPES_INFO_1W
,*LPDATATYPES_INFO_1W
;
757 __MINGW_TYPEDEF_AW(DATATYPES_INFO_1
)
758 __MINGW_TYPEDEF_AW(PDATATYPES_INFO_1
)
759 __MINGW_TYPEDEF_AW(LPDATATYPES_INFO_1
)
761 typedef struct _PRINTER_DEFAULTSA
{
764 ACCESS_MASK DesiredAccess
;
765 } PRINTER_DEFAULTSA
,*PPRINTER_DEFAULTSA
,*LPPRINTER_DEFAULTSA
;
767 typedef struct _PRINTER_DEFAULTSW
{
770 ACCESS_MASK DesiredAccess
;
771 } PRINTER_DEFAULTSW
,*PPRINTER_DEFAULTSW
,*LPPRINTER_DEFAULTSW
;
773 __MINGW_TYPEDEF_AW(PRINTER_DEFAULTS
)
774 __MINGW_TYPEDEF_AW(PPRINTER_DEFAULTS
)
775 __MINGW_TYPEDEF_AW(LPPRINTER_DEFAULTS
)
777 typedef struct _PRINTER_ENUM_VALUESA
{
783 } PRINTER_ENUM_VALUESA
,*PPRINTER_ENUM_VALUESA
,*LPPRINTER_ENUM_VALUESA
;
785 typedef struct _PRINTER_ENUM_VALUESW
{
791 } PRINTER_ENUM_VALUESW
,*PPRINTER_ENUM_VALUESW
,*LPPRINTER_ENUM_VALUESW
;
793 __MINGW_TYPEDEF_AW(PRINTER_ENUM_VALUES
)
794 __MINGW_TYPEDEF_AW(PPRINTER_ENUM_VALUES
)
795 __MINGW_TYPEDEF_AW(LPPRINTER_ENUM_VALUES
)
797 #define EnumPrinters __MINGW_NAME_AW(EnumPrinters)
799 WINBOOL WINAPI
EnumPrintersA(DWORD Flags
,LPSTR Name
,DWORD Level
,LPBYTE pPrinterEnum
,DWORD cbBuf
,LPDWORD pcbNeeded
,LPDWORD pcReturned
);
800 WINBOOL WINAPI
EnumPrintersW(DWORD Flags
,LPWSTR Name
,DWORD Level
,LPBYTE pPrinterEnum
,DWORD cbBuf
,LPDWORD pcbNeeded
,LPDWORD pcReturned
);
802 #define PRINTER_ENUM_DEFAULT 0x00000001
803 #define PRINTER_ENUM_LOCAL 0x00000002
804 #define PRINTER_ENUM_CONNECTIONS 0x00000004
805 #define PRINTER_ENUM_FAVORITE 0x00000004
806 #define PRINTER_ENUM_NAME 0x00000008
807 #define PRINTER_ENUM_REMOTE 0x00000010
808 #define PRINTER_ENUM_SHARED 0x00000020
809 #define PRINTER_ENUM_NETWORK 0x00000040
811 #define PRINTER_ENUM_EXPAND 0x00004000
812 #define PRINTER_ENUM_CONTAINER 0x00008000
814 #define PRINTER_ENUM_ICONMASK 0x00ff0000
815 #define PRINTER_ENUM_ICON1 0x00010000
816 #define PRINTER_ENUM_ICON2 0x00020000
817 #define PRINTER_ENUM_ICON3 0x00040000
818 #define PRINTER_ENUM_ICON4 0x00080000
819 #define PRINTER_ENUM_ICON5 0x00100000
820 #define PRINTER_ENUM_ICON6 0x00200000
821 #define PRINTER_ENUM_ICON7 0x00400000
822 #define PRINTER_ENUM_ICON8 0x00800000
823 #define PRINTER_ENUM_HIDE 0x01000000
825 #define SPOOL_FILE_PERSISTENT 0x00000001
826 #define SPOOL_FILE_TEMPORARY 0x00000002
828 #define OpenPrinter __MINGW_NAME_AW(OpenPrinter)
829 #define ResetPrinter __MINGW_NAME_AW(ResetPrinter)
830 #define SetJob __MINGW_NAME_AW(SetJob)
831 #define GetJob __MINGW_NAME_AW(GetJob)
832 #define EnumJobs __MINGW_NAME_AW(EnumJobs)
833 #define AddPrinter __MINGW_NAME_AW(AddPrinter)
834 #define SetPrinter __MINGW_NAME_AW(SetPrinter)
835 #define GetPrinter __MINGW_NAME_AW(GetPrinter)
836 #define AddPrinterDriver __MINGW_NAME_AW(AddPrinterDriver)
837 #define AddPrinterDriverEx __MINGW_NAME_AW(AddPrinterDriverEx)
838 #define EnumPrinterDrivers __MINGW_NAME_AW(EnumPrinterDrivers)
839 #define GetPrinterDriver __MINGW_NAME_AW(GetPrinterDriver)
840 #define GetPrinterDriverDirectory __MINGW_NAME_AW(GetPrinterDriverDirectory)
841 #define DeletePrinterDriver __MINGW_NAME_AW(DeletePrinterDriver)
842 #define DeletePrinterDriverEx __MINGW_NAME_AW(DeletePrinterDriverEx)
843 #define AddPrintProcessor __MINGW_NAME_AW(AddPrintProcessor)
844 #define EnumPrintProcessors __MINGW_NAME_AW(EnumPrintProcessors)
845 #define GetPrintProcessorDirectory __MINGW_NAME_AW(GetPrintProcessorDirectory)
846 #define EnumPrintProcessorDatatypes __MINGW_NAME_AW(EnumPrintProcessorDatatypes)
847 #define DeletePrintProcessor __MINGW_NAME_AW(DeletePrintProcessor)
848 #define StartDocPrinter __MINGW_NAME_AW(StartDocPrinter)
849 #define AddJob __MINGW_NAME_AW(AddJob)
850 #define DocumentProperties __MINGW_NAME_AW(DocumentProperties)
851 #define AdvancedDocumentProperties __MINGW_NAME_AW(AdvancedDocumentProperties)
852 #define GetPrinterData __MINGW_NAME_AW(GetPrinterData)
853 #define GetPrinterDataEx __MINGW_NAME_AW(GetPrinterDataEx)
854 #define EnumPrinterData __MINGW_NAME_AW(EnumPrinterData)
855 #define EnumPrinterDataEx __MINGW_NAME_AW(EnumPrinterDataEx)
856 #define EnumPrinterKey __MINGW_NAME_AW(EnumPrinterKey)
857 #define SetPrinterData __MINGW_NAME_AW(SetPrinterData)
858 #define SetPrinterDataEx __MINGW_NAME_AW(SetPrinterDataEx)
859 #define DeletePrinterData __MINGW_NAME_AW(DeletePrinterData)
860 #define DeletePrinterDataEx __MINGW_NAME_AW(DeletePrinterDataEx)
861 #define DeletePrinterKey __MINGW_NAME_AW(DeletePrinterKey)
863 WINBOOL WINAPI
OpenPrinterA(LPSTR pPrinterName
,LPHANDLE phPrinter
,LPPRINTER_DEFAULTSA pDefault
);
864 WINBOOL WINAPI
OpenPrinterW(LPWSTR pPrinterName
,LPHANDLE phPrinter
,LPPRINTER_DEFAULTSW pDefault
);
865 WINBOOL WINAPI
ResetPrinterA(HANDLE hPrinter
,LPPRINTER_DEFAULTSA pDefault
);
866 WINBOOL WINAPI
ResetPrinterW(HANDLE hPrinter
,LPPRINTER_DEFAULTSW pDefault
);
867 WINBOOL WINAPI
SetJobA(HANDLE hPrinter
,DWORD JobId
,DWORD Level
,LPBYTE pJob
,DWORD Command
);
868 WINBOOL WINAPI
SetJobW(HANDLE hPrinter
,DWORD JobId
,DWORD Level
,LPBYTE pJob
,DWORD Command
);
869 WINBOOL WINAPI
GetJobA(HANDLE hPrinter
,DWORD JobId
,DWORD Level
,LPBYTE pJob
,DWORD cbBuf
,LPDWORD pcbNeeded
);
870 WINBOOL WINAPI
GetJobW(HANDLE hPrinter
,DWORD JobId
,DWORD Level
,LPBYTE pJob
,DWORD cbBuf
,LPDWORD pcbNeeded
);
871 WINBOOL WINAPI
EnumJobsA(HANDLE hPrinter
,DWORD FirstJob
,DWORD NoJobs
,DWORD Level
,LPBYTE pJob
,DWORD cbBuf
,LPDWORD pcbNeeded
,LPDWORD pcReturned
);
872 WINBOOL WINAPI
EnumJobsW(HANDLE hPrinter
,DWORD FirstJob
,DWORD NoJobs
,DWORD Level
,LPBYTE pJob
,DWORD cbBuf
,LPDWORD pcbNeeded
,LPDWORD pcReturned
);
873 HANDLE WINAPI
AddPrinterA(LPSTR pName
,DWORD Level
,LPBYTE pPrinter
);
874 HANDLE WINAPI
AddPrinterW(LPWSTR pName
,DWORD Level
,LPBYTE pPrinter
);
875 WINBOOL WINAPI
DeletePrinter(HANDLE hPrinter
);
876 WINBOOL WINAPI
SetPrinterA(HANDLE hPrinter
,DWORD Level
,LPBYTE pPrinter
,DWORD Command
);
877 WINBOOL WINAPI
SetPrinterW(HANDLE hPrinter
,DWORD Level
,LPBYTE pPrinter
,DWORD Command
);
878 WINBOOL WINAPI
GetPrinterA(HANDLE hPrinter
,DWORD Level
,LPBYTE pPrinter
,DWORD cbBuf
,LPDWORD pcbNeeded
);
879 WINBOOL WINAPI
GetPrinterW(HANDLE hPrinter
,DWORD Level
,LPBYTE pPrinter
,DWORD cbBuf
,LPDWORD pcbNeeded
);
880 WINBOOL WINAPI
AddPrinterDriverA(LPSTR pName
,DWORD Level
,LPBYTE pDriverInfo
);
881 WINBOOL WINAPI
AddPrinterDriverW(LPWSTR pName
,DWORD Level
,LPBYTE pDriverInfo
);
882 WINBOOL WINAPI
AddPrinterDriverExA(LPSTR pName
,DWORD Level
,LPBYTE pDriverInfo
,DWORD dwFileCopyFlags
);
883 WINBOOL WINAPI
AddPrinterDriverExW(LPWSTR pName
,DWORD Level
,LPBYTE pDriverInfo
,DWORD dwFileCopyFlags
);
884 WINBOOL WINAPI
EnumPrinterDriversA(LPSTR pName
,LPSTR pEnvironment
,DWORD Level
,LPBYTE pDriverInfo
,DWORD cbBuf
,LPDWORD pcbNeeded
,LPDWORD pcReturned
);
885 WINBOOL WINAPI
EnumPrinterDriversW(LPWSTR pName
,LPWSTR pEnvironment
,DWORD Level
,LPBYTE pDriverInfo
,DWORD cbBuf
,LPDWORD pcbNeeded
,LPDWORD pcReturned
);
886 WINBOOL WINAPI
GetPrinterDriverA(HANDLE hPrinter
,LPSTR pEnvironment
,DWORD Level
,LPBYTE pDriverInfo
,DWORD cbBuf
,LPDWORD pcbNeeded
);
887 WINBOOL WINAPI
GetPrinterDriverW(HANDLE hPrinter
,LPWSTR pEnvironment
,DWORD Level
,LPBYTE pDriverInfo
,DWORD cbBuf
,LPDWORD pcbNeeded
);
888 WINBOOL WINAPI
GetPrinterDriverDirectoryA(LPSTR pName
,LPSTR pEnvironment
,DWORD Level
,LPBYTE pDriverDirectory
,DWORD cbBuf
,LPDWORD pcbNeeded
);
889 WINBOOL WINAPI
GetPrinterDriverDirectoryW(LPWSTR pName
,LPWSTR pEnvironment
,DWORD Level
,LPBYTE pDriverDirectory
,DWORD cbBuf
,LPDWORD pcbNeeded
);
890 WINBOOL WINAPI
DeletePrinterDriverA(LPSTR pName
,LPSTR pEnvironment
,LPSTR pDriverName
);
891 WINBOOL WINAPI
DeletePrinterDriverW(LPWSTR pName
,LPWSTR pEnvironment
,LPWSTR pDriverName
);
892 WINBOOL WINAPI
DeletePrinterDriverExA(LPSTR pName
,LPSTR pEnvironment
,LPSTR pDriverName
,DWORD dwDeleteFlag
,DWORD dwVersionFlag
);
893 WINBOOL WINAPI
DeletePrinterDriverExW(LPWSTR pName
,LPWSTR pEnvironment
,LPWSTR pDriverName
,DWORD dwDeleteFlag
,DWORD dwVersionFlag
);
894 WINBOOL WINAPI
AddPrintProcessorA(LPSTR pName
,LPSTR pEnvironment
,LPSTR pPathName
,LPSTR pPrintProcessorName
);
895 WINBOOL WINAPI
AddPrintProcessorW(LPWSTR pName
,LPWSTR pEnvironment
,LPWSTR pPathName
,LPWSTR pPrintProcessorName
);
896 WINBOOL WINAPI
EnumPrintProcessorsA(LPSTR pName
,LPSTR pEnvironment
,DWORD Level
,LPBYTE pPrintProcessorInfo
,DWORD cbBuf
,LPDWORD pcbNeeded
,LPDWORD pcReturned
);
897 WINBOOL WINAPI
EnumPrintProcessorsW(LPWSTR pName
,LPWSTR pEnvironment
,DWORD Level
,LPBYTE pPrintProcessorInfo
,DWORD cbBuf
,LPDWORD pcbNeeded
,LPDWORD pcReturned
);
898 WINBOOL WINAPI
GetPrintProcessorDirectoryA(LPSTR pName
,LPSTR pEnvironment
,DWORD Level
,LPBYTE pPrintProcessorInfo
,DWORD cbBuf
,LPDWORD pcbNeeded
);
899 WINBOOL WINAPI
GetPrintProcessorDirectoryW(LPWSTR pName
,LPWSTR pEnvironment
,DWORD Level
,LPBYTE pPrintProcessorInfo
,DWORD cbBuf
,LPDWORD pcbNeeded
);
900 WINBOOL WINAPI
EnumPrintProcessorDatatypesA(LPSTR pName
,LPSTR pPrintProcessorName
,DWORD Level
,LPBYTE pDatatypes
,DWORD cbBuf
,LPDWORD pcbNeeded
,LPDWORD pcReturned
);
901 WINBOOL WINAPI
EnumPrintProcessorDatatypesW(LPWSTR pName
,LPWSTR pPrintProcessorName
,DWORD Level
,LPBYTE pDatatypes
,DWORD cbBuf
,LPDWORD pcbNeeded
,LPDWORD pcReturned
);
902 WINBOOL WINAPI
DeletePrintProcessorA(LPSTR pName
,LPSTR pEnvironment
,LPSTR pPrintProcessorName
);
903 WINBOOL WINAPI
DeletePrintProcessorW(LPWSTR pName
,LPWSTR pEnvironment
,LPWSTR pPrintProcessorName
);
904 DWORD WINAPI
StartDocPrinterA(HANDLE hPrinter
,DWORD Level
,LPBYTE pDocInfo
);
905 DWORD WINAPI
StartDocPrinterW(HANDLE hPrinter
,DWORD Level
,LPBYTE pDocInfo
);
906 WINBOOL WINAPI
StartPagePrinter(HANDLE hPrinter
);
907 WINBOOL WINAPI
WritePrinter(HANDLE hPrinter
,LPVOID pBuf
,DWORD cbBuf
,LPDWORD pcWritten
);
908 WINBOOL WINAPI
FlushPrinter(HANDLE hPrinter
,LPVOID pBuf
,DWORD cbBuf
,LPDWORD pcWritten
,DWORD cSleep
);
909 WINBOOL WINAPI
EndPagePrinter(HANDLE hPrinter
);
910 WINBOOL WINAPI
AbortPrinter(HANDLE hPrinter
);
911 WINBOOL WINAPI
ReadPrinter(HANDLE hPrinter
,LPVOID pBuf
,DWORD cbBuf
,LPDWORD pNoBytesRead
);
912 WINBOOL WINAPI
EndDocPrinter(HANDLE hPrinter
);
913 WINBOOL WINAPI
AddJobA(HANDLE hPrinter
,DWORD Level
,LPBYTE pData
,DWORD cbBuf
,LPDWORD pcbNeeded
);
914 WINBOOL WINAPI
AddJobW(HANDLE hPrinter
,DWORD Level
,LPBYTE pData
,DWORD cbBuf
,LPDWORD pcbNeeded
);
915 WINBOOL WINAPI
ScheduleJob(HANDLE hPrinter
,DWORD JobId
);
916 WINBOOL WINAPI
PrinterProperties(HWND hWnd
,HANDLE hPrinter
);
917 LONG WINAPI
DocumentPropertiesA(HWND hWnd
,HANDLE hPrinter
,LPSTR pDeviceName
,PDEVMODEA pDevModeOutput
,PDEVMODEA pDevModeInput
,DWORD fMode
);
918 LONG WINAPI
DocumentPropertiesW(HWND hWnd
,HANDLE hPrinter
,LPWSTR pDeviceName
,PDEVMODEW pDevModeOutput
,PDEVMODEW pDevModeInput
,DWORD fMode
);
919 LONG WINAPI
AdvancedDocumentPropertiesA(HWND hWnd
,HANDLE hPrinter
,LPSTR pDeviceName
,PDEVMODEA pDevModeOutput
,PDEVMODEA pDevModeInput
);
920 LONG WINAPI
AdvancedDocumentPropertiesW(HWND hWnd
,HANDLE hPrinter
,LPWSTR pDeviceName
,PDEVMODEW pDevModeOutput
,PDEVMODEW pDevModeInput
);
921 LONG
ExtDeviceMode(HWND hWnd
,HANDLE hInst
,LPDEVMODEA pDevModeOutput
,LPSTR pDeviceName
,LPSTR pPort
,LPDEVMODEA pDevModeInput
,LPSTR pProfile
,DWORD fMode
);
922 DWORD WINAPI
GetPrinterDataA(HANDLE hPrinter
,LPSTR pValueName
,LPDWORD pType
,LPBYTE pData
,DWORD nSize
,LPDWORD pcbNeeded
);
923 DWORD WINAPI
GetPrinterDataW(HANDLE hPrinter
,LPWSTR pValueName
,LPDWORD pType
,LPBYTE pData
,DWORD nSize
,LPDWORD pcbNeeded
);
924 DWORD WINAPI
GetPrinterDataExA(HANDLE hPrinter
,LPCSTR pKeyName
,LPCSTR pValueName
,LPDWORD pType
,LPBYTE pData
,DWORD nSize
,LPDWORD pcbNeeded
);
925 DWORD WINAPI
GetPrinterDataExW(HANDLE hPrinter
,LPCWSTR pKeyName
,LPCWSTR pValueName
,LPDWORD pType
,LPBYTE pData
,DWORD nSize
,LPDWORD pcbNeeded
);
926 DWORD WINAPI
EnumPrinterDataA(HANDLE hPrinter
,DWORD dwIndex
,LPSTR pValueName
,DWORD cbValueName
,LPDWORD pcbValueName
,LPDWORD pType
,LPBYTE pData
,DWORD cbData
,LPDWORD pcbData
);
927 DWORD WINAPI
EnumPrinterDataW(HANDLE hPrinter
,DWORD dwIndex
,LPWSTR pValueName
,DWORD cbValueName
,LPDWORD pcbValueName
,LPDWORD pType
,LPBYTE pData
,DWORD cbData
,LPDWORD pcbData
);
928 DWORD WINAPI
EnumPrinterDataExA(HANDLE hPrinter
,LPCSTR pKeyName
,LPBYTE pEnumValues
,DWORD cbEnumValues
,LPDWORD pcbEnumValues
,LPDWORD pnEnumValues
);
929 DWORD WINAPI
EnumPrinterDataExW(HANDLE hPrinter
,LPCWSTR pKeyName
,LPBYTE pEnumValues
,DWORD cbEnumValues
,LPDWORD pcbEnumValues
,LPDWORD pnEnumValues
);
930 DWORD WINAPI
EnumPrinterKeyA(HANDLE hPrinter
,LPCSTR pKeyName
,LPSTR pSubkey
,DWORD cbSubkey
,LPDWORD pcbSubkey
);
931 DWORD WINAPI
EnumPrinterKeyW(HANDLE hPrinter
,LPCWSTR pKeyName
,LPWSTR pSubkey
,DWORD cbSubkey
,LPDWORD pcbSubkey
);
932 DWORD WINAPI
SetPrinterDataA(HANDLE hPrinter
,LPSTR pValueName
,DWORD Type
,LPBYTE pData
,DWORD cbData
);
933 DWORD WINAPI
SetPrinterDataW(HANDLE hPrinter
,LPWSTR pValueName
,DWORD Type
,LPBYTE pData
,DWORD cbData
);
934 DWORD WINAPI
SetPrinterDataExA(HANDLE hPrinter
,LPCSTR pKeyName
,LPCSTR pValueName
,DWORD Type
,LPBYTE pData
,DWORD cbData
);
935 DWORD WINAPI
SetPrinterDataExW(HANDLE hPrinter
,LPCWSTR pKeyName
,LPCWSTR pValueName
,DWORD Type
,LPBYTE pData
,DWORD cbData
);
936 DWORD WINAPI
DeletePrinterDataA(HANDLE hPrinter
,LPSTR pValueName
);
937 DWORD WINAPI
DeletePrinterDataW(HANDLE hPrinter
,LPWSTR pValueName
);
938 DWORD WINAPI
DeletePrinterDataExA(HANDLE hPrinter
,LPCSTR pKeyName
,LPCSTR pValueName
);
939 DWORD WINAPI
DeletePrinterDataExW(HANDLE hPrinter
,LPCWSTR pKeyName
,LPCWSTR pValueName
);
940 DWORD WINAPI
DeletePrinterKeyA(HANDLE hPrinter
,LPCSTR pKeyName
);
941 DWORD WINAPI
DeletePrinterKeyW(HANDLE hPrinter
,LPCWSTR pKeyName
);
943 #define PRINTER_NOTIFY_TYPE 0x00
944 #define JOB_NOTIFY_TYPE 0x01
946 #define PRINTER_NOTIFY_FIELD_SERVER_NAME 0x00
947 #define PRINTER_NOTIFY_FIELD_PRINTER_NAME 0x01
948 #define PRINTER_NOTIFY_FIELD_SHARE_NAME 0x02
949 #define PRINTER_NOTIFY_FIELD_PORT_NAME 0x03
950 #define PRINTER_NOTIFY_FIELD_DRIVER_NAME 0x04
951 #define PRINTER_NOTIFY_FIELD_COMMENT 0x05
952 #define PRINTER_NOTIFY_FIELD_LOCATION 0x06
953 #define PRINTER_NOTIFY_FIELD_DEVMODE 0x07
954 #define PRINTER_NOTIFY_FIELD_SEPFILE 0x08
955 #define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR 0x09
956 #define PRINTER_NOTIFY_FIELD_PARAMETERS 0x0A
957 #define PRINTER_NOTIFY_FIELD_DATATYPE 0x0B
958 #define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0C
959 #define PRINTER_NOTIFY_FIELD_ATTRIBUTES 0x0D
960 #define PRINTER_NOTIFY_FIELD_PRIORITY 0x0E
961 #define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY 0x0F
962 #define PRINTER_NOTIFY_FIELD_START_TIME 0x10
963 #define PRINTER_NOTIFY_FIELD_UNTIL_TIME 0x11
964 #define PRINTER_NOTIFY_FIELD_STATUS 0x12
965 #define PRINTER_NOTIFY_FIELD_STATUS_STRING 0x13
966 #define PRINTER_NOTIFY_FIELD_CJOBS 0x14
967 #define PRINTER_NOTIFY_FIELD_AVERAGE_PPM 0x15
968 #define PRINTER_NOTIFY_FIELD_TOTAL_PAGES 0x16
969 #define PRINTER_NOTIFY_FIELD_PAGES_PRINTED 0x17
970 #define PRINTER_NOTIFY_FIELD_TOTAL_BYTES 0x18
971 #define PRINTER_NOTIFY_FIELD_BYTES_PRINTED 0x19
972 #define PRINTER_NOTIFY_FIELD_OBJECT_GUID 0x1A
974 #define JOB_NOTIFY_FIELD_PRINTER_NAME 0x00
975 #define JOB_NOTIFY_FIELD_MACHINE_NAME 0x01
976 #define JOB_NOTIFY_FIELD_PORT_NAME 0x02
977 #define JOB_NOTIFY_FIELD_USER_NAME 0x03
978 #define JOB_NOTIFY_FIELD_NOTIFY_NAME 0x04
979 #define JOB_NOTIFY_FIELD_DATATYPE 0x05
980 #define JOB_NOTIFY_FIELD_PRINT_PROCESSOR 0x06
981 #define JOB_NOTIFY_FIELD_PARAMETERS 0x07
982 #define JOB_NOTIFY_FIELD_DRIVER_NAME 0x08
983 #define JOB_NOTIFY_FIELD_DEVMODE 0x09
984 #define JOB_NOTIFY_FIELD_STATUS 0x0A
985 #define JOB_NOTIFY_FIELD_STATUS_STRING 0x0B
986 #define JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0C
987 #define JOB_NOTIFY_FIELD_DOCUMENT 0x0D
988 #define JOB_NOTIFY_FIELD_PRIORITY 0x0E
989 #define JOB_NOTIFY_FIELD_POSITION 0x0F
990 #define JOB_NOTIFY_FIELD_SUBMITTED 0x10
991 #define JOB_NOTIFY_FIELD_START_TIME 0x11
992 #define JOB_NOTIFY_FIELD_UNTIL_TIME 0x12
993 #define JOB_NOTIFY_FIELD_TIME 0x13
994 #define JOB_NOTIFY_FIELD_TOTAL_PAGES 0x14
995 #define JOB_NOTIFY_FIELD_PAGES_PRINTED 0x15
996 #define JOB_NOTIFY_FIELD_TOTAL_BYTES 0x16
997 #define JOB_NOTIFY_FIELD_BYTES_PRINTED 0x17
999 typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE
{
1006 } PRINTER_NOTIFY_OPTIONS_TYPE
,*PPRINTER_NOTIFY_OPTIONS_TYPE
,*LPPRINTER_NOTIFY_OPTIONS_TYPE
;
1008 #define PRINTER_NOTIFY_OPTIONS_REFRESH 0x01
1010 typedef struct _PRINTER_NOTIFY_OPTIONS
{
1014 PPRINTER_NOTIFY_OPTIONS_TYPE pTypes
;
1015 } PRINTER_NOTIFY_OPTIONS
,*PPRINTER_NOTIFY_OPTIONS
,*LPPRINTER_NOTIFY_OPTIONS
;
1017 #define PRINTER_NOTIFY_INFO_DISCARDED 0x01
1019 typedef struct _PRINTER_NOTIFY_INFO_DATA
{
1031 } PRINTER_NOTIFY_INFO_DATA
,*PPRINTER_NOTIFY_INFO_DATA
,*LPPRINTER_NOTIFY_INFO_DATA
;
1033 typedef struct _PRINTER_NOTIFY_INFO
{
1037 PRINTER_NOTIFY_INFO_DATA aData
[1];
1038 } PRINTER_NOTIFY_INFO
,*PPRINTER_NOTIFY_INFO
,*LPPRINTER_NOTIFY_INFO
;
1040 typedef struct _BINARY_CONTAINER
{
1043 } BINARY_CONTAINER
,*PBINARY_CONTAINER
;
1045 typedef struct _BIDI_DATA
{
1052 BINARY_CONTAINER biData
;
1054 } BIDI_DATA
,*PBIDI_DATA
,*LPBIDI_DATA
;
1056 typedef struct _BIDI_REQUEST_DATA
{
1060 } BIDI_REQUEST_DATA
,*PBIDI_REQUEST_DATA
,*LPBIDI_REQUEST_DATA
;
1062 typedef struct _BIDI_REQUEST_CONTAINER
{
1066 BIDI_REQUEST_DATA aData
[1 ];
1067 }BIDI_REQUEST_CONTAINER
,*PBIDI_REQUEST_CONTAINER
,*LPBIDI_REQUEST_CONTAINER
;
1069 typedef struct _BIDI_RESPONSE_DATA
{
1074 } BIDI_RESPONSE_DATA
,*PBIDI_RESPONSE_DATA
,*LPBIDI_RESPONSE_DATA
;
1076 typedef struct _BIDI_RESPONSE_CONTAINER
{
1080 BIDI_RESPONSE_DATA aData
[1 ];
1081 } BIDI_RESPONSE_CONTAINER
,*PBIDI_RESPONSE_CONTAINER
,*LPBIDI_RESPONSE_CONTAINER
;
1083 #define BIDI_ACTION_ENUM_SCHEMA L"EnumSchema"
1084 #define BIDI_ACTION_GET L"Get"
1085 #define BIDI_ACTION_SET L"Set"
1086 #define BIDI_ACTION_GET_ALL L"GetAll"
1089 BIDI_NULL
= 0,BIDI_INT
= 1,BIDI_FLOAT
= 2,BIDI_BOOL
= 3,BIDI_STRING
= 4,BIDI_TEXT
= 5,BIDI_ENUM
= 6,BIDI_BLOB
= 7
1092 #define BIDI_ACCESS_ADMINISTRATOR 0x1
1093 #define BIDI_ACCESS_USER 0x2
1095 #define ERROR_BIDI_STATUS_OK 0
1096 #define ERROR_BIDI_NOT_SUPPORTED ERROR_NOT_SUPPORTED
1098 #define ERROR_BIDI_ERROR_BASE 13000
1099 #define ERROR_BIDI_STATUS_WARNING (ERROR_BIDI_ERROR_BASE + 1)
1100 #define ERROR_BIDI_SCHEMA_READ_ONLY (ERROR_BIDI_ERROR_BASE + 2)
1101 #define ERROR_BIDI_SERVER_OFFLINE (ERROR_BIDI_ERROR_BASE + 3)
1102 #define ERROR_BIDI_DEVICE_OFFLINE (ERROR_BIDI_ERROR_BASE + 4)
1103 #define ERROR_BIDI_SCHEMA_NOT_SUPPORTED (ERROR_BIDI_ERROR_BASE + 5)
1105 DWORD WINAPI
WaitForPrinterChange(HANDLE hPrinter
,DWORD Flags
);
1106 HANDLE WINAPI
FindFirstPrinterChangeNotification(HANDLE hPrinter
,DWORD fdwFlags
,DWORD fdwOptions
,LPVOID pPrinterNotifyOptions
);
1107 WINBOOL WINAPI
FindNextPrinterChangeNotification(HANDLE hChange
,PDWORD pdwChange
,LPVOID pPrinterNotifyOptions
,LPVOID
*ppPrinterNotifyInfo
);
1108 WINBOOL WINAPI
FreePrinterNotifyInfo (PPRINTER_NOTIFY_INFO pPrinterNotifyInfo
);
1109 WINBOOL WINAPI
FindClosePrinterChangeNotification(HANDLE hChange
);
1111 #define PRINTER_CHANGE_ADD_PRINTER 0x00000001
1112 #define PRINTER_CHANGE_SET_PRINTER 0x00000002
1113 #define PRINTER_CHANGE_DELETE_PRINTER 0x00000004
1114 #define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER 0x00000008
1115 #define PRINTER_CHANGE_PRINTER 0x000000FF
1116 #define PRINTER_CHANGE_ADD_JOB 0x00000100
1117 #define PRINTER_CHANGE_SET_JOB 0x00000200
1118 #define PRINTER_CHANGE_DELETE_JOB 0x00000400
1119 #define PRINTER_CHANGE_WRITE_JOB 0x00000800
1120 #define PRINTER_CHANGE_JOB 0x0000FF00
1121 #define PRINTER_CHANGE_ADD_FORM 0x00010000
1122 #define PRINTER_CHANGE_SET_FORM 0x00020000
1123 #define PRINTER_CHANGE_DELETE_FORM 0x00040000
1124 #define PRINTER_CHANGE_FORM 0x00070000
1125 #define PRINTER_CHANGE_ADD_PORT 0x00100000
1126 #define PRINTER_CHANGE_CONFIGURE_PORT 0x00200000
1127 #define PRINTER_CHANGE_DELETE_PORT 0x00400000
1128 #define PRINTER_CHANGE_PORT 0x00700000
1129 #define PRINTER_CHANGE_ADD_PRINT_PROCESSOR 0x01000000
1130 #define PRINTER_CHANGE_DELETE_PRINT_PROCESSOR 0x04000000
1131 #define PRINTER_CHANGE_PRINT_PROCESSOR 0x07000000
1132 #define PRINTER_CHANGE_ADD_PRINTER_DRIVER 0x10000000
1133 #define PRINTER_CHANGE_SET_PRINTER_DRIVER 0x20000000
1134 #define PRINTER_CHANGE_DELETE_PRINTER_DRIVER 0x40000000
1135 #define PRINTER_CHANGE_PRINTER_DRIVER 0x70000000
1136 #define PRINTER_CHANGE_TIMEOUT 0x80000000
1137 #define PRINTER_CHANGE_ALL 0x7777FFFF
1139 #define PrinterMessageBox __MINGW_NAME_AW(PrinterMessageBox)
1140 #define AddForm __MINGW_NAME_AW(AddForm)
1141 #define DeleteForm __MINGW_NAME_AW(DeleteForm)
1142 #define GetForm __MINGW_NAME_AW(GetForm)
1143 #define SetForm __MINGW_NAME_AW(SetForm)
1144 #define EnumForms __MINGW_NAME_AW(EnumForms)
1145 #define EnumMonitors __MINGW_NAME_AW(EnumMonitors)
1146 #define AddMonitor __MINGW_NAME_AW(AddMonitor)
1147 #define DeleteMonitor __MINGW_NAME_AW(DeleteMonitor)
1148 #define EnumPorts __MINGW_NAME_AW(EnumPorts)
1149 #define AddPort __MINGW_NAME_AW(AddPort)
1150 #define ConfigurePort __MINGW_NAME_AW(ConfigurePort)
1151 #define DeletePort __MINGW_NAME_AW(DeletePort)
1152 #define GetDefaultPrinter __MINGW_NAME_AW(GetDefaultPrinter)
1153 #define SetDefaultPrinter __MINGW_NAME_AW(SetDefaultPrinter)
1154 #define SetPort __MINGW_NAME_AW(SetPort)
1155 #define AddPrinterConnection __MINGW_NAME_AW(AddPrinterConnection)
1156 #define DeletePrinterConnection __MINGW_NAME_AW(DeletePrinterConnection)
1158 DWORD WINAPI
PrinterMessageBoxA(HANDLE hPrinter
,DWORD Error
,HWND hWnd
,LPSTR pText
,LPSTR pCaption
,DWORD dwType
);
1159 DWORD WINAPI
PrinterMessageBoxW(HANDLE hPrinter
,DWORD Error
,HWND hWnd
,LPWSTR pText
,LPWSTR pCaption
,DWORD dwType
);
1161 #define PRINTER_ERROR_INFORMATION 0x80000000
1162 #define PRINTER_ERROR_WARNING 0x40000000
1163 #define PRINTER_ERROR_SEVERE 0x20000000
1165 #define PRINTER_ERROR_OUTOFPAPER 0x00000001
1166 #define PRINTER_ERROR_JAM 0x00000002
1167 #define PRINTER_ERROR_OUTOFTONER 0x00000004
1169 WINBOOL WINAPI
ClosePrinter(HANDLE hPrinter
);
1170 WINBOOL WINAPI
AddFormA(HANDLE hPrinter
,DWORD Level
,LPBYTE pForm
);
1171 WINBOOL WINAPI
AddFormW(HANDLE hPrinter
,DWORD Level
,LPBYTE pForm
);
1172 WINBOOL WINAPI
DeleteFormA(HANDLE hPrinter
,LPSTR pFormName
);
1173 WINBOOL WINAPI
DeleteFormW(HANDLE hPrinter
,LPWSTR pFormName
);
1174 WINBOOL WINAPI
GetFormA(HANDLE hPrinter
,LPSTR pFormName
,DWORD Level
,LPBYTE pForm
,DWORD cbBuf
,LPDWORD pcbNeeded
);
1175 WINBOOL WINAPI
GetFormW(HANDLE hPrinter
,LPWSTR pFormName
,DWORD Level
,LPBYTE pForm
,DWORD cbBuf
,LPDWORD pcbNeeded
);
1176 WINBOOL WINAPI
SetFormA(HANDLE hPrinter
,LPSTR pFormName
,DWORD Level
,LPBYTE pForm
);
1177 WINBOOL WINAPI
SetFormW(HANDLE hPrinter
,LPWSTR pFormName
,DWORD Level
,LPBYTE pForm
);
1178 WINBOOL WINAPI
EnumFormsA(HANDLE hPrinter
,DWORD Level
,LPBYTE pForm
,DWORD cbBuf
,LPDWORD pcbNeeded
,LPDWORD pcReturned
);
1179 WINBOOL WINAPI
EnumFormsW(HANDLE hPrinter
,DWORD Level
,LPBYTE pForm
,DWORD cbBuf
,LPDWORD pcbNeeded
,LPDWORD pcReturned
);
1180 WINBOOL WINAPI
EnumMonitorsA(LPSTR pName
,DWORD Level
,LPBYTE pMonitor
,DWORD cbBuf
,LPDWORD pcbNeeded
,LPDWORD pcReturned
);
1181 WINBOOL WINAPI
EnumMonitorsW(LPWSTR pName
,DWORD Level
,LPBYTE pMonitor
,DWORD cbBuf
,LPDWORD pcbNeeded
,LPDWORD pcReturned
);
1182 WINBOOL WINAPI
AddMonitorA(LPSTR pName
,DWORD Level
,LPBYTE pMonitorInfo
);
1183 WINBOOL WINAPI
AddMonitorW(LPWSTR pName
,DWORD Level
,LPBYTE pMonitorInfo
);
1184 WINBOOL WINAPI
DeleteMonitorA(LPSTR pName
,LPSTR pEnvironment
,LPSTR pMonitorName
);
1185 WINBOOL WINAPI
DeleteMonitorW(LPWSTR pName
,LPWSTR pEnvironment
,LPWSTR pMonitorName
);
1186 WINBOOL WINAPI
EnumPortsA(LPSTR pName
,DWORD Level
,LPBYTE pPorts
,DWORD cbBuf
,LPDWORD pcbNeeded
,LPDWORD pcReturned
);
1187 WINBOOL WINAPI
EnumPortsW(LPWSTR pName
,DWORD Level
,LPBYTE pPorts
,DWORD cbBuf
,LPDWORD pcbNeeded
,LPDWORD pcReturned
);
1188 WINBOOL WINAPI
AddPortA(LPSTR pName
,HWND hWnd
,LPSTR pMonitorName
);
1189 WINBOOL WINAPI
AddPortW(LPWSTR pName
,HWND hWnd
,LPWSTR pMonitorName
);
1190 WINBOOL WINAPI
ConfigurePortA(LPSTR pName
,HWND hWnd
,LPSTR pPortName
);
1191 WINBOOL WINAPI
ConfigurePortW(LPWSTR pName
,HWND hWnd
,LPWSTR pPortName
);
1192 WINBOOL WINAPI
DeletePortA(LPSTR pName
,HWND hWnd
,LPSTR pPortName
);
1193 WINBOOL WINAPI
DeletePortW(LPWSTR pName
,HWND hWnd
,LPWSTR pPortName
);
1194 WINBOOL WINAPI
XcvDataW(HANDLE hXcv
,PCWSTR pszDataName
,PBYTE pInputData
,DWORD cbInputData
,PBYTE pOutputData
,DWORD cbOutputData
,PDWORD pcbOutputNeeded
,PDWORD pdwStatus
);
1196 #define XcvData XcvDataW
1198 WINBOOL WINAPI
GetDefaultPrinterA(LPSTR pszBuffer
,LPDWORD pcchBuffer
);
1199 WINBOOL WINAPI
GetDefaultPrinterW(LPWSTR pszBuffer
,LPDWORD pcchBuffer
);
1200 WINBOOL WINAPI
SetDefaultPrinterA(LPCSTR pszPrinter
);
1201 WINBOOL WINAPI
SetDefaultPrinterW(LPCWSTR pszPrinter
);
1202 WINBOOL WINAPI
SetPortA(LPSTR pName
,LPSTR pPortName
,DWORD dwLevel
,LPBYTE pPortInfo
);
1203 WINBOOL WINAPI
SetPortW(LPWSTR pName
,LPWSTR pPortName
,DWORD dwLevel
,LPBYTE pPortInfo
);
1204 WINBOOL WINAPI
AddPrinterConnectionA(LPSTR pName
);
1205 WINBOOL WINAPI
AddPrinterConnectionW(LPWSTR pName
);
1206 WINBOOL WINAPI
DeletePrinterConnectionA(LPSTR pName
);
1207 WINBOOL WINAPI
DeletePrinterConnectionW(LPWSTR pName
);
1208 HANDLE WINAPI
ConnectToPrinterDlg(HWND hwnd
,DWORD Flags
);
1210 typedef struct _PROVIDOR_INFO_1A
{
1214 } PROVIDOR_INFO_1A
,*PPROVIDOR_INFO_1A
,*LPPROVIDOR_INFO_1A
;
1216 typedef struct _PROVIDOR_INFO_1W
{
1218 LPWSTR pEnvironment
;
1220 } PROVIDOR_INFO_1W
,*PPROVIDOR_INFO_1W
,*LPPROVIDOR_INFO_1W
;
1222 __MINGW_TYPEDEF_AW(PROVIDOR_INFO_1
)
1223 __MINGW_TYPEDEF_AW(PPROVIDOR_INFO_1
)
1224 __MINGW_TYPEDEF_AW(LPPROVIDOR_INFO_1
)
1226 typedef struct _PROVIDOR_INFO_2A
{
1228 } PROVIDOR_INFO_2A
,*PPROVIDOR_INFO_2A
,*LPPROVIDOR_INFO_2A
;
1230 typedef struct _PROVIDOR_INFO_2W
{
1232 } PROVIDOR_INFO_2W
,*PPROVIDOR_INFO_2W
,*LPPROVIDOR_INFO_2W
;
1234 __MINGW_TYPEDEF_AW(PROVIDOR_INFO_2
)
1235 __MINGW_TYPEDEF_AW(PPROVIDOR_INFO_2
)
1236 __MINGW_TYPEDEF_AW(LPPROVIDOR_INFO_2
)
1238 #define AddPrintProvidor __MINGW_NAME_AW(AddPrintProvidor)
1239 #define DeletePrintProvidor __MINGW_NAME_AW(DeletePrintProvidor)
1240 #define IsValidDevmode __MINGW_NAME_AW(IsValidDevmode)
1242 WINBOOL WINAPI
AddPrintProvidorA(LPSTR pName
,DWORD level
,LPBYTE pProvidorInfo
);
1243 WINBOOL WINAPI
AddPrintProvidorW(LPWSTR pName
,DWORD level
,LPBYTE pProvidorInfo
);
1244 WINBOOL WINAPI
DeletePrintProvidorA(LPSTR pName
,LPSTR pEnvironment
,LPSTR pPrintProvidorName
);
1245 WINBOOL WINAPI
DeletePrintProvidorW(LPWSTR pName
,LPWSTR pEnvironment
,LPWSTR pPrintProvidorName
);
1246 WINBOOL WINAPI
IsValidDevmodeA (PDEVMODEA pDevmode
,size_t DevmodeSize
);
1247 WINBOOL WINAPI
IsValidDevmodeW (PDEVMODEW pDevmode
,size_t DevmodeSize
);
1249 #define SPLREG_DEFAULT_SPOOL_DIRECTORY TEXT("DefaultSpoolDirectory")
1250 #define SPLREG_PORT_THREAD_PRIORITY_DEFAULT TEXT("PortThreadPriorityDefault")
1251 #define SPLREG_PORT_THREAD_PRIORITY TEXT("PortThreadPriority")
1252 #define SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULT TEXT("SchedulerThreadPriorityDefault")
1253 #define SPLREG_SCHEDULER_THREAD_PRIORITY TEXT("SchedulerThreadPriority")
1254 #define SPLREG_BEEP_ENABLED TEXT("BeepEnabled")
1255 #define SPLREG_NET_POPUP TEXT("NetPopup")
1256 #define SPLREG_RETRY_POPUP TEXT("RetryPopup")
1257 #define SPLREG_NET_POPUP_TO_COMPUTER TEXT("NetPopupToComputer")
1258 #define SPLREG_EVENT_LOG TEXT("EventLog")
1259 #define SPLREG_MAJOR_VERSION TEXT("MajorVersion")
1260 #define SPLREG_MINOR_VERSION TEXT("MinorVersion")
1261 #define SPLREG_ARCHITECTURE TEXT("Architecture")
1262 #define SPLREG_OS_VERSION TEXT("OSVersion")
1263 #define SPLREG_OS_VERSIONEX TEXT("OSVersionEx")
1264 #define SPLREG_DS_PRESENT TEXT("DsPresent")
1265 #define SPLREG_DS_PRESENT_FOR_USER TEXT("DsPresentForUser")
1266 #define SPLREG_REMOTE_FAX TEXT("RemoteFax")
1267 #define SPLREG_RESTART_JOB_ON_POOL_ERROR TEXT("RestartJobOnPoolError")
1268 #define SPLREG_RESTART_JOB_ON_POOL_ENABLED TEXT("RestartJobOnPoolEnabled")
1269 #define SPLREG_DNS_MACHINE_NAME TEXT("DNSMachineName")
1270 #define SPLREG_ALLOW_USER_MANAGEFORMS TEXT("AllowUserManageForms")
1271 #define SPLREG_WEBSHAREMGMT TEXT("WebShareMgmt")
1273 #define SERVER_ACCESS_ADMINISTER 0x00000001
1274 #define SERVER_ACCESS_ENUMERATE 0x00000002
1276 #define PRINTER_ACCESS_ADMINISTER 0x00000004
1277 #define PRINTER_ACCESS_USE 0x00000008
1279 #define JOB_ACCESS_ADMINISTER 0x00000010
1280 #define JOB_ACCESS_READ 0x00000020
1282 #define SERVER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE)
1283 #define SERVER_READ (STANDARD_RIGHTS_READ | SERVER_ACCESS_ENUMERATE)
1284 #define SERVER_WRITE (STANDARD_RIGHTS_WRITE | SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE)
1285 #define SERVER_EXECUTE (STANDARD_RIGHTS_EXECUTE | SERVER_ACCESS_ENUMERATE)
1286 #define PRINTER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | PRINTER_ACCESS_ADMINISTER | PRINTER_ACCESS_USE)
1287 #define PRINTER_READ (STANDARD_RIGHTS_READ | PRINTER_ACCESS_USE)
1288 #define PRINTER_WRITE (STANDARD_RIGHTS_WRITE | PRINTER_ACCESS_USE)
1289 #define PRINTER_EXECUTE (STANDARD_RIGHTS_EXECUTE | PRINTER_ACCESS_USE)
1290 #define JOB_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | JOB_ACCESS_ADMINISTER | JOB_ACCESS_READ)
1291 #define JOB_READ (STANDARD_RIGHTS_READ | JOB_ACCESS_READ)
1292 #define JOB_WRITE (STANDARD_RIGHTS_WRITE | JOB_ACCESS_ADMINISTER)
1293 #define JOB_EXECUTE (STANDARD_RIGHTS_EXECUTE | JOB_ACCESS_ADMINISTER)
1295 #define SPLDS_SPOOLER_KEY TEXT("DsSpooler")
1296 #define SPLDS_DRIVER_KEY TEXT("DsDriver")
1297 #define SPLDS_USER_KEY TEXT("DsUser")
1299 #define SPLDS_ASSET_NUMBER TEXT("assetNumber")
1300 #define SPLDS_BYTES_PER_MINUTE TEXT("bytesPerMinute")
1301 #define SPLDS_DESCRIPTION TEXT("description")
1302 #define SPLDS_DRIVER_NAME TEXT("driverName")
1303 #define SPLDS_DRIVER_VERSION TEXT("driverVersion")
1304 #define SPLDS_LOCATION TEXT("location")
1305 #define SPLDS_PORT_NAME TEXT("portName")
1306 #define SPLDS_PRINT_ATTRIBUTES TEXT("printAttributes")
1307 #define SPLDS_PRINT_BIN_NAMES TEXT("printBinNames")
1308 #define SPLDS_PRINT_COLLATE TEXT("printCollate")
1309 #define SPLDS_PRINT_COLOR TEXT("printColor")
1310 #define SPLDS_PRINT_DUPLEX_SUPPORTED TEXT("printDuplexSupported")
1311 #define SPLDS_PRINT_END_TIME TEXT("printEndTime")
1312 #define SPLDS_PRINTER_CLASS TEXT("printQueue")
1313 #define SPLDS_PRINTER_NAME TEXT("printerName")
1314 #define SPLDS_PRINT_KEEP_PRINTED_JOBS TEXT("printKeepPrintedJobs")
1315 #define SPLDS_PRINT_LANGUAGE TEXT("printLanguage")
1316 #define SPLDS_PRINT_MAC_ADDRESS TEXT("printMACAddress")
1317 #define SPLDS_PRINT_MAX_X_EXTENT TEXT("printMaxXExtent")
1318 #define SPLDS_PRINT_MAX_Y_EXTENT TEXT("printMaxYExtent")
1319 #define SPLDS_PRINT_MAX_RESOLUTION_SUPPORTED TEXT("printMaxResolutionSupported")
1320 #define SPLDS_PRINT_MEDIA_READY TEXT("printMediaReady")
1321 #define SPLDS_PRINT_MEDIA_SUPPORTED TEXT("printMediaSupported")
1322 #define SPLDS_PRINT_MEMORY TEXT("printMemory")
1323 #define SPLDS_PRINT_MIN_X_EXTENT TEXT("printMinXExtent")
1324 #define SPLDS_PRINT_MIN_Y_EXTENT TEXT("printMinYExtent")
1325 #define SPLDS_PRINT_NETWORK_ADDRESS TEXT("printNetworkAddress")
1326 #define SPLDS_PRINT_NOTIFY TEXT("printNotify")
1327 #define SPLDS_PRINT_NUMBER_UP TEXT("printNumberUp")
1328 #define SPLDS_PRINT_ORIENTATIONS_SUPPORTED TEXT("printOrientationsSupported")
1329 #define SPLDS_PRINT_OWNER TEXT("printOwner")
1330 #define SPLDS_PRINT_PAGES_PER_MINUTE TEXT("printPagesPerMinute")
1331 #define SPLDS_PRINT_RATE TEXT("printRate")
1332 #define SPLDS_PRINT_RATE_UNIT TEXT("printRateUnit")
1333 #define SPLDS_PRINT_SEPARATOR_FILE TEXT("printSeparatorFile")
1334 #define SPLDS_PRINT_SHARE_NAME TEXT("printShareName")
1335 #define SPLDS_PRINT_SPOOLING TEXT("printSpooling")
1336 #define SPLDS_PRINT_STAPLING_SUPPORTED TEXT("printStaplingSupported")
1337 #define SPLDS_PRINT_START_TIME TEXT("printStartTime")
1338 #define SPLDS_PRINT_STATUS TEXT("printStatus")
1339 #define SPLDS_PRIORITY TEXT("priority")
1340 #define SPLDS_SERVER_NAME TEXT("serverName")
1341 #define SPLDS_SHORT_SERVER_NAME TEXT("shortServerName")
1342 #define SPLDS_UNC_NAME TEXT("uNCName")
1343 #define SPLDS_URL TEXT("url")
1344 #define SPLDS_FLAGS TEXT("flags")
1345 #define SPLDS_VERSION_NUMBER TEXT("versionNumber")
1347 #define SPLDS_PRINTER_NAME_ALIASES TEXT("printerNameAliases")
1348 #define SPLDS_PRINTER_LOCATIONS TEXT("printerLocations")
1349 #define SPLDS_PRINTER_MODEL TEXT("printerModel")
1351 #if (_WIN32_WINNT >= 0x0600)
1352 #define AddPrinterConnection2 __MINGW_NAME_AW(AddPrinterConnection2)
1353 #define DeletePrinterDriverPackage __MINGW_NAME_AW(DeletePrinterDriverPackage)
1354 #define DocumentEvent __MINGW_NAME_AW(DocumentEvent)
1356 #define PRINTER_CONNECTION_MISMATCH 0x00000020
1357 #define PRINTER_CONNECTION_NO_UI 0x00000040
1359 typedef enum tagPRINTER_OPTION_FLAGS
{
1360 PRINTER_OPTION_NO_CACHE
,
1361 PRINTER_OPTION_CACHE
,
1362 PRINTER_OPTION_CLIENT_CHANGE
1363 } PRINTER_OPTION_FLAGS
;
1365 typedef enum tagEPrintXPSJobOperation
{
1368 } EPrintXPSJobOperation
;
1370 typedef enum tagEPrintXPSJobProgress
{
1371 kAddingDocumentSequence
,
1372 kDocumentSequenceAdded
,
1373 kAddingFixedDocument
,
1374 kFixedDocumentAdded
,
1380 kXpsDocumentCommitted
1381 } EPrintXPSJobProgress
;
1383 typedef struct _PRINTER_CONNECTION_INFO_1
{
1385 LPTSTR pszDriverName
;
1386 } PRINTER_CONNECTION_INFO_1
, *PPRINTER_CONNECTION_INFO_1
;
1388 WINBOOL
AddPrinterConnection2W(HWND hWnd
,LPCWSTR pszName
,DWORD dwLevel
,PVOID pConnectionInfo
);
1389 WINBOOL
AddPrinterConnection2A(HWND hWnd
,LPCSTR pszName
,DWORD dwLevel
,PVOID pConnectionInfo
); /*Not supported and returns ERROR_NOT_SUPPORTED.*/
1391 HRESULT WINAPI
DeletePrinterDriverPackageA(
1394 LPCSTR pszEnvironment
1397 HRESULT WINAPI
DeletePrinterDriverPackageW(
1400 LPCWSTR pszEnvironment
1403 HRESULT
DocumentEventA(
1413 HRESULT
DocumentEventW(
1423 typedef struct _DRIVER_INFO_8W
{
1426 LPWSTR pEnvironment
;
1431 LPWSTR pDependentFiles
;
1432 LPWSTR pMonitorName
;
1433 LPWSTR pDefaultDataType
;
1434 LPWSTR pszzPreviousNames
;
1435 FILETIME ftDriverDate
;
1436 DWORDLONG dwlDriverVersion
;
1439 LPWSTR pszHardwareID
;
1441 LPWSTR pszPrintProcessor
;
1442 LPWSTR pszVendorSetup
;
1443 LPWSTR pszzColorProfiles
;
1445 DWORD dwPrinterDriverAttributes
;
1446 LPWSTR pszzCoreDriverDependencies
;
1447 FILETIME ftMinInboxDriverVerDate
;
1448 DWORDLONG dwlMinInboxDriverVerVersion
;
1449 } DRIVER_INFO_8W
, *PDRIVER_INFO_8W
, *LPDRIVER_INFO_8W
;
1451 typedef struct _DRIVER_INFO_8A
{
1459 LPSTR pDependentFiles
;
1461 LPSTR pDefaultDataType
;
1462 LPSTR pszzPreviousNames
;
1463 FILETIME ftDriverDate
;
1464 DWORDLONG dwlDriverVersion
;
1467 LPSTR pszHardwareID
;
1469 LPSTR pszPrintProcessor
;
1470 LPSTR pszVendorSetup
;
1471 LPSTR pszzColorProfiles
;
1473 DWORD dwPrinterDriverAttributes
;
1474 LPSTR pszzCoreDriverDependencies
;
1475 FILETIME ftMinInboxDriverVerDate
;
1476 DWORDLONG dwlMinInboxDriverVerVersion
;
1477 } DRIVER_INFO_8A
, *PDRIVER_INFO_8A
, *LPDRIVER_INFO_8A
;
1479 typedef struct _FORM_INFO_2A
{
1483 RECTL ImageableArea
;
1488 LPCSTR pDisplayName
;
1490 } FORM_INFO_2A
, *PFORM_INFO_2A
;
1492 typedef struct _FORM_INFO_2W
{
1496 RECTL ImageableArea
;
1501 LPCWSTR pDisplayName
;
1503 } FORM_INFO_2W
, *PFORM_INFO_2W
;
1505 __MINGW_TYPEDEF_AW(DRIVER_INFO_8
)
1506 __MINGW_TYPEDEF_AW(PDRIVER_INFO_8
)
1507 __MINGW_TYPEDEF_AW(LPDRIVER_INFO_8
)
1508 __MINGW_TYPEDEF_AW(FORM_INFO_2
)
1509 __MINGW_TYPEDEF_AW(PFORM_INFO_2
)
1511 typedef struct _PRINTPROCESSOR_CAPS_2
{
1514 DWORD dwPageOrderFlags
;
1515 DWORD dwNumberOfCopies
;
1516 DWORD dwNupDirectionCaps
;
1517 DWORD dwNupBorderCaps
;
1518 DWORD dwBookletHandlingCaps
;
1519 DWORD dwDuplexHandlingCaps
;
1520 DWORD dwScalingCaps
;
1521 } PRINTPROCESSOR_CAPS_2
, *PPRINTPROCESSOR_CAPS_2
;
1523 HRESULT
ReportJobProcessingProgress(
1524 HANDLE printerHandle
,
1526 EPrintXPSJobOperation jobOperation
,
1527 EPrintXPSJobProgress jobProgress
1530 typedef struct _CORE_PRINTER_DRIVERA
{
1531 GUID CoreDriverGUID
;
1532 FILETIME ftDriverDate
;
1533 DWORDLONG dwlDriverVersion
;
1534 CHAR szPackageID
[MAX_PATH
];
1535 } CORE_PRINTER_DRIVERA
, *PCORE_PRINTER_DRIVERA
;
1537 typedef struct _CORE_PRINTER_DRIVERW
{
1538 GUID CoreDriverGUID
;
1539 FILETIME ftDriverDate
;
1540 DWORDLONG dwlDriverVersion
;
1541 WCHAR szPackageID
[MAX_PATH
];
1542 } CORE_PRINTER_DRIVERW
, *PCORE_PRINTER_DRIVERW
;
1544 typedef struct _PRINTER_OPTIONS
{
1547 } PRINTER_OPTIONS
, *PPRINTER_OPTIONS
;
1549 __MINGW_TYPEDEF_AW(CORE_PRINTER_DRIVER
)
1550 __MINGW_TYPEDEF_AW(PCORE_PRINTER_DRIVER
)
1551 #define GetCorePrinterDrivers __MINGW_NAME_AW(GetCorePrinterDrivers)
1552 #define GetPrinterDriver2 __MINGW_NAME_AW(GetPrinterDriver2)
1553 #define GetPrinterDriverPackagePath __MINGW_NAME_AW(GetPrinterDriverPackagePath)
1554 #define GetSpoolFileHandle __MINGW_NAME_AW(GetSpoolFileHandle)
1556 HRESULT WINAPI
GetCorePrinterDriversA(
1558 LPCSTR pszEnvironment
,
1559 LPCSTR pszzCoreDriverDependencies
,
1560 DWORD cCorePrinterDrivers
,
1561 PCORE_PRINTER_DRIVERA pCorePrinterDrivers
1564 HRESULT WINAPI
GetCorePrinterDriversW(
1566 LPCWSTR pszEnvironment
,
1567 LPCWSTR pszzCoreDriverDependencies
,
1568 DWORD cCorePrinterDrivers
,
1569 PCORE_PRINTER_DRIVERW pCorePrinterDrivers
1573 WINBOOL WINAPI
GetPrinterDriver2A(
1583 WINBOOL WINAPI
GetPrinterDriver2W(
1586 LPWSTR pEnvironment
,
1593 HRESULT WINAPI
GetPrinterDriverPackagePathA(
1595 LPCSTR pszEnvironment
,
1597 LPCSTR pszPackageID
,
1598 LPSTR pszDriverPackageCab
,
1599 DWORD cchDriverPackageCab
,
1600 LPDWORD pcchRequiredSize
1603 HRESULT WINAPI
GetPrinterDriverPackagePathW(
1605 LPCWSTR pszEnvironment
,
1606 LPCWSTR pszLanguage
,
1607 LPCWSTR pszPackageID
,
1608 LPWSTR pszDriverPackageCab
,
1609 DWORD cchDriverPackageCab
,
1610 LPDWORD pcchRequiredSize
1613 HANDLE WINAPI
GetSpoolFileHandleA(
1617 HANDLE WINAPI
GetSpoolFileHandleW(
1621 HANDLE WINAPI
CommitSpoolData(
1627 WINBOOL WINAPI
CloseSpoolFileHandle(
1632 WINBOOL WINAPI
OpenPrinter2A(
1633 LPCSTR pPrinterName
,
1635 LPPRINTER_DEFAULTS pDefault
,
1636 PPRINTER_OPTIONS pOptions
1639 WINBOOL WINAPI
OpenPrinter2W(
1640 LPCWSTR pPrinterName
,
1642 LPPRINTER_DEFAULTS pDefault
,
1643 PPRINTER_OPTIONS pOptions
1646 #define OpenPrinter2 __MINGW_NAME_AW(OpenPrinter2)
1648 HRESULT WINAPI
UploadPrinterDriverPackageA(
1651 LPCSTR pszEnvironment
,
1654 LPSTR pszDestInfPath
,
1655 PULONG pcchDestInfPath
1658 HRESULT WINAPI
UploadPrinterDriverPackageW(
1661 LPCWSTR pszEnvironment
,
1664 LPWSTR pszDestInfPath
,
1665 PULONG pcchDestInfPath
1668 #define UploadPrinterDriverPackage __MINGW_NAME_AW(UploadPrinterDriverPackage)
1670 #endif /*(_WIN32_WINNT >= 0x0600)*/