ReactOS  0.4.13-dev-73-gcfe54aa
winsplp.h
Go to the documentation of this file.
1 /*
2  * winsplp.h
3  *
4  * This file is part of the ReactOS PSDK package.
5  *
6  * Contributors:
7  * Created by Amine Khaldi.
8  *
9  * THIS SOFTWARE IS NOT COPYRIGHTED
10  *
11  * This source code is offered for use in the public domain. You may
12  * use, modify or distribute it freely.
13  *
14  * This code is distributed in the hope that it will be useful but
15  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
16  * DISCLAIMED. This includes but is not limited to warranties of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18  *
19  */
20 
21 #pragma once
22 
23 #ifndef _WINSPLP_
24 #define _WINSPLP_
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 #if (STRICT && (NTDDI_VERSION >= NTDDI_VISTA))
31 #define HKEYMONITOR HKEY
32 #else
33 #define HKEYMONITOR HANDLE
34 #endif
35 
36 #define PRINTER_NOTIFY_STATUS_ENDPOINT 1
37 #define PRINTER_NOTIFY_STATUS_POLL 2
38 #define PRINTER_NOTIFY_STATUS_INFO 4
39 
40 #define ROUTER_UNKNOWN 0
41 #define ROUTER_SUCCESS 1
42 #define ROUTER_STOP_ROUTING 2
43 
44 #if (NTDDI_VERSION >= NTDDI_WINXP)
45 #define MONITOR2_SIZE_WIN2K (sizeof(DWORD) + (sizeof(PVOID)*18))
46 #endif
47 
48 #define COPYFILE_EVENT_SET_PRINTER_DATAEX 1
49 #define COPYFILE_EVENT_DELETE_PRINTER 2
50 #define COPYFILE_EVENT_ADD_PRINTER_CONNECTION 3
51 #define COPYFILE_EVENT_DELETE_PRINTER_CONNECTION 4
52 #define COPYFILE_EVENT_FILES_CHANGED 5
53 
54 #define COPYFILE_FLAG_CLIENT_SPOOLER 0x00000001
55 #define COPYFILE_FLAG_SERVER_SPOOLER 0x00000002
56 
57 #define PRINTER_NOTIFY_INFO_DATA_COMPACT 1
58 
59 typedef struct _PRINTER_NOTIFY_INIT {
64 
65 typedef struct _SPLCLIENT_INFO_1 {
74 
75 typedef struct _SPLCLIENT_INFO_2_V1{
78 
79 typedef struct _SPLCLIENT_INFO_2_V2{
80 #ifdef _WIN64
82 #else
84 #endif
86 
87 typedef struct _SPLCLIENT_INFO_2_V3{
90 
91 typedef struct _PRINTPROVIDOR {
92 
93  BOOL
94  (WINAPI *fpOpenPrinter)(
95  _In_opt_ PWSTR lpPrinterName,
98 
99  BOOL
100  (WINAPI *fpSetJob)(
101  _In_ HANDLE hPrinter,
103  _In_ DWORD Level,
104  _In_reads_opt_(_Inexpressible_(0)) LPBYTE pJob,
106 
107  BOOL
108  (WINAPI *fpGetJob)(
109  _In_ HANDLE hPrinter,
110  _In_ DWORD JobID,
111  _In_ DWORD Level,
115 
116  BOOL
117  (WINAPI *fpEnumJobs)(
118  _In_ HANDLE hPrinter,
120  _In_ DWORD NoJobs,
121  _In_ DWORD Level,
126 
127  HANDLE
128  (WINAPI *fpAddPrinter)(
131  _In_reads_(_Inexpressible_(0)) LPBYTE pPrinter);
132 
133  BOOL (WINAPI *fpDeletePrinter)(_In_ HANDLE hPrinter);
134 
135  BOOL
136  (WINAPI *fpSetPrinter)(
137  _In_ HANDLE hPrinter,
138  _In_ DWORD Level,
139  _In_reads_(_Inexpressible_(0)) LPBYTE pPrinter,
141 
142  BOOL
143  (WINAPI *fpGetPrinter)(
144  _In_ HANDLE hPrinter,
145  _In_ DWORD Level,
149 
150  BOOL
151  (WINAPI *fpEnumPrinters)(
152  _In_ DWORD dwType,
159 
160  BOOL
161  (WINAPI *fpAddPrinterDriver)(
163  _In_ DWORD Level,
164  _In_reads_(_Inexpressible_(0)) LPBYTE pDriverInfo);
165 
166  BOOL
167  (WINAPI *fpEnumPrinterDrivers)(
170  _In_ DWORD Level,
175 
176  BOOL
177  (WINAPI *fpGetPrinterDriver)(
178  _In_ HANDLE hPrinter,
180  _In_ DWORD Level,
182  _In_ DWORD cbBuf,
184 
185  BOOL
186  (WINAPI *fpGetPrinterDriverDirectory)(
189  _In_ DWORD Level,
190  _Out_writes_bytes_to_opt_(cbBuf, *pcbNeeded) LPBYTE pDriverDirectory,
191  _In_ DWORD cbBuf,
193 
194  BOOL
195  (WINAPI *fpDeletePrinterDriver)(
199 
200  BOOL
201  (WINAPI *fpAddPrintProcessor)(
206 
207  BOOL
208  (WINAPI *fpEnumPrintProcessors)(
211  _In_ DWORD Level,
212  _Out_writes_bytes_to_opt_(cbBuf, *pcbNeeded) LPBYTE pPrintProcessorInfo,
213  _In_ DWORD cbBuf,
216 
217  BOOL
218  (WINAPI *fpGetPrintProcessorDirectory)(
221  _In_ DWORD Level,
222  _Out_writes_bytes_to_opt_(cbBuf, *pcbNeeded) LPBYTE pPrintProcessorInfo,
225 
226  BOOL
227  (WINAPI *fpDeletePrintProcessor)(
231 
232  BOOL
233  (WINAPI *fpEnumPrintProcessorDatatypes)(
236  _In_ DWORD Level,
241 
242  DWORD
243  (WINAPI *fpStartDocPrinter)(
244  _In_ HANDLE hPrinter,
245  _In_ DWORD Level,
246  _In_reads_(_Inexpressible_(0)) LPBYTE pDocInfo);
247 
249 
250  BOOL
251  (WINAPI *fpWritePrinter)(
252  _In_ HANDLE hPrinter,
256 
257  BOOL (WINAPI *fpEndPagePrinter)(_In_ HANDLE hPrinter);
258 
259  BOOL (WINAPI *fpAbortPrinter)(_In_ HANDLE hPrinter);
260 
261  BOOL
263  _In_ HANDLE hPrinter,
267 
268  BOOL (WINAPI *fpEndDocPrinter)(_In_ HANDLE hPrinter);
269 
270  BOOL
271  (WINAPI *fpAddJob)(
272  _In_ HANDLE hPrinter,
273  _In_ DWORD Level,
275  _In_ DWORD cbBuf,
277 
278  BOOL (WINAPI *fpScheduleJob)(_In_ HANDLE hPrinter, _In_ DWORD JobID);
279 
280  DWORD
281  (WINAPI *fpGetPrinterData)(
282  _In_ HANDLE hPrinter,
288 
289  DWORD
290  (WINAPI *fpSetPrinterData)(
291  _In_ HANDLE hPrinter,
293  _In_ DWORD Type,
296 
297  DWORD
298  (WINAPI *fpWaitForPrinterChange)(
299  _In_ HANDLE hPrinter,
301 
303 
304  BOOL
305  (WINAPI *fpAddForm)(
306  _In_ HANDLE hPrinter,
307  _In_ DWORD Level,
308  _In_reads_(_Inexpressible_(0)) LPBYTE pForm);
309 
310  BOOL (WINAPI *fpDeleteForm)(_In_ HANDLE hPrinter, _In_ LPWSTR pFormName);
311 
312  BOOL
313  (WINAPI *fpGetForm)(
314  _In_ HANDLE hPrinter,
316  _In_ DWORD Level,
318  _In_ DWORD cbBuf,
320 
321  BOOL
322  (WINAPI *fpSetForm)(
323  _In_ HANDLE hPrinter,
325  _In_ DWORD Level,
326  _In_reads_(_Inexpressible_(0)) LPBYTE pForm);
327 
328  BOOL
329  (WINAPI *fpEnumForms)(
330  _In_ HANDLE hPrinter,
331  _In_ DWORD Level,
336 
337  BOOL
338  (WINAPI *fpEnumMonitors)(
340  _In_ DWORD Level,
342  _In_ DWORD cbBuf,
345 
346  BOOL
347  (WINAPI *fpEnumPorts)(
349  _In_ DWORD Level,
351  _In_ DWORD cbBuf,
354 
355  BOOL
356  (WINAPI *fpAddPort)(
360 
361  BOOL
362  (WINAPI *fpConfigurePort)(
366 
367  BOOL
368  (WINAPI *fpDeletePort)(
370  _In_ HWND hWnd,
372 
373  HANDLE
374  (WINAPI *fpCreatePrinterIC)(
375  _In_ HANDLE hPrinter,
377 
378  BOOL
379  (WINAPI *fpPlayGdiScriptOnPrinterIC)(
380  _In_ HANDLE hPrinterIC,
385  _In_ DWORD ul);
386 
387  BOOL (WINAPI *fpDeletePrinterIC)(_In_ HANDLE hPrinterIC);
388 
389  BOOL (WINAPI *fpAddPrinterConnection)(_In_ LPWSTR pName);
390 
391  BOOL (WINAPI *fpDeletePrinterConnection)(_In_ LPWSTR pName);
392 
393  DWORD
394  (WINAPI *fpPrinterMessageBox)(
395  _In_ HANDLE hPrinter,
397  _In_ HWND hWnd,
398  _In_ LPWSTR pText,
400  _In_ DWORD dwType);
401 
402  BOOL
403  (WINAPI *fpAddMonitor)(
405  _In_ DWORD Level,
406  _In_reads_(_Inexpressible_(0)) LPBYTE pMonitors);
407 
408  BOOL
409  (WINAPI *fpDeleteMonitor)(
410  _In_ LPWSTR pName,
413 
414  BOOL
415  (WINAPI *fpResetPrinter)(
416  _In_ HANDLE hPrinter,
418 
419  BOOL
420  (WINAPI *fpGetPrinterDriverEx)(
421  _In_ HANDLE hPrinter,
423  _In_ DWORD Level,
431 
432  HANDLE (WINAPI *fpFindFirstPrinterChangeNotification)(HANDLE hPrinter,
436 
437  BOOL (WINAPI *fpFindClosePrinterChangeNotification)(_In_ HANDLE hChange);
438 
439  BOOL
440  (WINAPI *fpAddPortEx)(
442  _In_ DWORD Level,
443  _In_reads_(_Inexpressible_(0)) LPBYTE lpBuffer,
445 
446  BOOL (WINAPI *fpShutDown)(_In_opt_ LPVOID pvReserved);
447 
448  BOOL
449  (WINAPI *fpRefreshPrinterChangeNotification)(
450  _In_ HANDLE hPrinter,
454 
455  BOOL
456  (WINAPI *fpOpenPrinterEx)(
460  _In_reads_opt_(_Inexpressible_(0)) LPBYTE pClientInfo,
462 
463  HANDLE
464  (WINAPI *fpAddPrinterEx)(
466  _In_ DWORD Level,
467  _In_reads_(_Inexpressible_(0)) LPBYTE pPrinter,
468  _In_reads_opt_(_Inexpressible_(0)) LPBYTE pClientInfo,
470 
471  BOOL
472  (WINAPI *fpSetPort)(
476  _In_reads_(_Inexpressible_(0)) LPBYTE pPortInfo);
477 
478  DWORD
479  (WINAPI *fpEnumPrinterData)(
480  _In_ HANDLE hPrinter,
489 
490  DWORD
491  (WINAPI *fpDeletePrinterData)(
492  _In_ HANDLE hPrinter,
494 
495  DWORD
496  (WINAPI *fpClusterSplOpen)(
497  _In_ LPCWSTR pszServer,
502 
503  DWORD (WINAPI *fpClusterSplClose)(_In_ HANDLE hSpooler);
504 
505  DWORD (WINAPI *fpClusterSplIsAlive)(_In_ HANDLE hSpooler);
506 
507  DWORD
508  (WINAPI *fpSetPrinterDataEx)(
509  _In_ HANDLE hPrinter,
512  _In_ DWORD Type,
515 
516  DWORD
517  (WINAPI *fpGetPrinterDataEx)(
518  _In_ HANDLE hPrinter,
525 
526  DWORD
527  (WINAPI *fpEnumPrinterDataEx)(
528  _In_ HANDLE hPrinter,
534 
535  DWORD
536  (WINAPI *fpEnumPrinterKey)(
537  _In_ HANDLE hPrinter,
542 
543  DWORD
544  (WINAPI *fpDeletePrinterDataEx)(
545  _In_ HANDLE hPrinter,
548 
549  DWORD
550  (WINAPI *fpDeletePrinterKey)(
551  _In_ HANDLE hPrinter,
553 
554  BOOL
556  _In_ HANDLE hPrinter,
560  _In_ BOOL bWrite);
561 
562  BOOL
563  (WINAPI *fpDeletePrinterDriverEx)(
569 
570  BOOL
571  (WINAPI *fpAddPerMachineConnection)(
572  _In_opt_ LPCWSTR pServer,
576 
577  BOOL
578  (WINAPI *fpDeletePerMachineConnection)(
579  _In_opt_ LPCWSTR pServer,
581 
582  BOOL
583  (WINAPI *fpEnumPerMachineConnections)(
584  _In_opt_ LPCWSTR pServer,
589 
590  BOOL
591  (WINAPI *fpXcvData)(
592  _In_ HANDLE hXcv,
594  _In_reads_bytes_(cbInputData) PBYTE pInputData,
600 
601  BOOL
602  (WINAPI *fpAddPrinterDriverEx)(
604  _In_ DWORD Level,
605  _In_reads_(_Inexpressible_(0)) LPBYTE pDriverInfo,
607 
608  BOOL
610  _In_ HANDLE hPrinter,
612  _In_ DWORD cbBuf);
613 
614  BOOL (WINAPI *fpDriverUnloadComplete)(_In_ LPWSTR pDriverFile);
615 
616  BOOL
617  (WINAPI *fpGetSpoolFileInfo)(
618  _In_ HANDLE hPrinter,
623 
625 
627 
628  BOOL
629  (WINAPI *fpFlushPrinter)(
630  _In_ HANDLE hPrinter,
634  _In_ DWORD cSleep);
635 
636  DWORD
637  (WINAPI *fpSendRecvBidiData)(
638  _In_ HANDLE hPort,
642 
643  BOOL (WINAPI *fpAddDriverCatalog)(HANDLE hPrinter, DWORD dwLevel,
646 
656 
657 typedef struct _MONITORREG {
659 
660  LONG
661  (WINAPI *fpCreateKey)(
662  _In_ HANDLE hcKey,
663  _In_ LPCWSTR pszSubKey,
666  _In_opt_ PSECURITY_ATTRIBUTES pSecurityAttributes,
667  _Out_ PHANDLE phckResult,
668  _Out_opt_ PDWORD pdwDisposition,
669  _In_ HANDLE hSpooler);
670 
671  LONG
672  (WINAPI *fpOpenKey)(
673  _In_ HANDLE hcKey,
674  _In_ LPCWSTR pszSubKey,
676  _Out_ PHANDLE phkResult,
677  _In_ HANDLE hSpooler);
678 
679  LONG (WINAPI *fpCloseKey)(_In_ HANDLE hcKey, _In_ HANDLE hSpooler);
680 
681  LONG
682  (WINAPI *fpDeleteKey)(
683  _In_ HANDLE hcKey,
684  _In_ LPCWSTR pszSubKey,
686 
687  LONG
688  (WINAPI *fpEnumKey)(
689  _In_ HANDLE hcKey,
691  _Inout_updates_to_(*pcchName, *pcchName) LPWSTR pszName,
692  _Inout_ PDWORD pcchName,
693  _Out_opt_ PFILETIME pftLastWriteTime,
694  _In_ HANDLE hSpooler);
695 
696  LONG
697  (WINAPI *fpQueryInfoKey)(
698  _In_ HANDLE hcKey,
699  _Out_opt_ PDWORD pcSubKeys,
700  _Out_opt_ PDWORD pcbKey,
701  _Out_opt_ PDWORD pcValues,
702  _Out_opt_ PDWORD pcbValue,
704  _Out_opt_ PDWORD pcbSecurityDescriptor,
706  _In_ HANDLE hSpooler);
707 
708  LONG
709  (WINAPI *fpSetValue)(
710  _In_ HANDLE hcKey,
712  _In_ DWORD dwType,
716 
717  LONG
718  (WINAPI *fpDeleteValue)(
719  _In_ HANDLE hcKey,
720  _In_ LPCWSTR pszValue,
721  _In_ HANDLE hSpooler);
722 
723  LONG
724  (WINAPI *fpEnumValue)(
725  _In_ HANDLE hcKey,
727  _Inout_updates_to_(*pcbValue, *pcbValue) LPWSTR pszValue,
728  _Inout_ PDWORD pcbValue,
732  _In_ HANDLE hSpooler);
733 
734  LONG
735  (WINAPI *fpQueryValue)(
736  _In_ HANDLE hcKey,
737  _In_ LPCWSTR pszValue,
741  _In_ HANDLE hSpooler);
742 
744 
745 typedef struct _MONITORINIT {
753 
754 typedef struct _MONITOR {
755 
756  BOOL
757  (WINAPI *pfnEnumPorts)(
764 
766 
767  BOOL
768  (WINAPI *pfnOpenPortEx)(
771  _Out_ PHANDLE pHandle,
773 
774  BOOL
775  (WINAPI *pfnStartDocPort)(
776  _In_ HANDLE hPort,
778  _In_ DWORD JobId,
779  _In_ DWORD Level,
780  _In_reads_(_Inexpressible_(0)) LPBYTE pDocInfo);
781 
782  BOOL
783  (WINAPI *pfnWritePort)(
784  _In_ HANDLE hPort,
788 
789  BOOL
790  (WINAPI *pfnReadPort)(
791  _In_ HANDLE hPort,
795 
796  BOOL (WINAPI *pfnEndDocPort)(_In_ HANDLE hPort);
797 
798  BOOL (WINAPI *pfnClosePort)(_In_ HANDLE hPort);
799 
800  BOOL
801  (WINAPI *pfnAddPort)(
802  _In_ LPWSTR pName,
805 
806  BOOL
807  (WINAPI *pfnAddPortEx)(
808  _In_ LPWSTR pName,
809  _In_ DWORD Level,
810  _In_reads_(_Inexpressible_(0)) LPBYTE lpBuffer,
812 
813  BOOL
814  (WINAPI *pfnConfigurePort)(
815  _In_ LPWSTR pName,
818 
819  BOOL
820  (WINAPI *pfnDeletePort)(
821  _In_ LPWSTR pName,
822  _In_ HWND hWnd,
824 
825  BOOL
826  (WINAPI *pfnGetPrinterDataFromPort)(
827  _In_ HANDLE hPort,
830  _In_reads_bytes_(cbInBuffer) LPWSTR lpInBuffer,
835 
836  BOOL
837  (WINAPI *pfnSetPortTimeOuts)(
838  _In_ HANDLE hPort,
841 
842  BOOL
843  (WINAPI *pfnXcvOpenPort)(
844  _In_ LPCWSTR pszObject,
847 
848  DWORD
849  (WINAPI *pfnXcvDataPort)(
850  _In_ HANDLE hXcv,
852  _In_reads_bytes_(cbInputData) PBYTE pInputData,
857 
858  BOOL (WINAPI *pfnXcvClosePort)(_In_ HANDLE hXcv);
859 
860 } MONITOR, *LPMONITOR;
861 
866 
867 typedef struct _MONITOR2 {
869 
870  BOOL
871  (WINAPI *pfnEnumPorts)(
872  _In_ HANDLE hMonitor,
874  _In_ DWORD Level,
879 
880  BOOL
881  (WINAPI *pfnOpenPort)(
882  _In_ HANDLE hMonitor,
884  _Out_ PHANDLE pHandle);
885 
886  BOOL
887  (WINAPI *pfnOpenPortEx)(
888  _In_ HANDLE hMonitor,
889  _In_ HANDLE hMonitorPort,
892  _Out_ PHANDLE pHandle,
894 
895  BOOL
896  (WINAPI *pfnStartDocPort)(
897  _In_ HANDLE hPort,
899  _In_ DWORD JobId,
900  _In_ DWORD Level,
901  _In_reads_(_Inexpressible_(0)) LPBYTE pDocInfo);
902 
903  BOOL
904  (WINAPI *pfnWritePort)(
905  _In_ HANDLE hPort,
909 
910  BOOL
911  (WINAPI *pfnReadPort)(
912  _In_ HANDLE hPort,
916 
917  BOOL (WINAPI *pfnEndDocPort)(_In_ HANDLE hPort);
918 
919  BOOL (WINAPI *pfnClosePort)(_In_ HANDLE hPort);
920 
921  BOOL
922  (WINAPI *pfnAddPort)(
923  _In_ HANDLE hMonitor,
925  _In_ HWND hWnd,
927 
928  BOOL
929  (WINAPI *pfnAddPortEx)(
930  _In_ HANDLE hMonitor,
932  _In_ DWORD Level,
933  _In_reads_(_Inexpressible_(0)) LPBYTE lpBuffer,
935 
936  BOOL
937  (WINAPI *pfnConfigurePort)(
938  _In_ HANDLE hMonitor,
940  _In_ HWND hWnd,
942 
943  BOOL
944  (WINAPI *pfnDeletePort)(
945  _In_ HANDLE hMonitor,
946  _In_ LPWSTR pName,
947  _In_ HWND hWnd,
949 
950  BOOL
951  (WINAPI *pfnGetPrinterDataFromPort)(
952  _In_ HANDLE hPort,
955  _In_reads_bytes_(cbInBuffer) LPWSTR lpInBuffer,
960 
961  BOOL
962  (WINAPI *pfnSetPortTimeOuts)(
963  _In_ HANDLE hPort,
966 
967  BOOL
968  (WINAPI *pfnXcvOpenPort)(
969  _In_ HANDLE hMonitor,
973 
974  DWORD
975  (WINAPI *pfnXcvDataPort)(
976  _In_ HANDLE hXcv,
978  _In_reads_bytes_(cbInputData) PBYTE pInputData,
983 
984  BOOL (WINAPI *pfnXcvClosePort)(_In_ HANDLE hXcv);
985 
986  VOID (WINAPI *pfnShutdown)(_In_ HANDLE hMonitor);
987 
988 #if (NTDDI_VERSION >= NTDDI_WINXP)
989  DWORD
990  (WINAPI *pfnSendRecvBidiDataFromPort)(
991  _In_ HANDLE hPort,
996 #endif
997 
998 #if (NTDDI_VERSION >= NTDDI_WIN7)
999 
1000  DWORD
1001  (WINAPI *pfnNotifyUsedPorts)(
1002  _In_ HANDLE hMonitor,
1004  _In_reads_(cPorts) PCWSTR *ppszPorts);
1005 
1006  DWORD
1007  (WINAPI *pfnNotifyUnusedPorts)(
1008  _In_ HANDLE hMonitor,
1009  _In_ DWORD cPorts,
1010  _In_reads_(cPorts) PCWSTR *ppszPorts);
1011 
1012 #endif
1013 
1015 
1016 typedef struct _MONITORUI {
1018 
1019  BOOL
1020  (WINAPI *pfnAddPortUI)(
1021  _At_(return, _Success_(return != 0)) _In_opt_ PCWSTR pszServer,
1023  _In_ PCWSTR pszPortNameIn,
1025 
1026  BOOL
1027  (WINAPI *pfnConfigurePortUI)(
1031 
1032  BOOL
1033  (WINAPI *pfnDeletePortUI)(
1034  _In_opt_ PCWSTR pszServer,
1036  _In_ PCWSTR pszPortName);
1037 
1038 } MONITORUI, *PMONITORUI;
1039 
1040 #if (NTDDI_VERSION >= NTDDI_WINXP)
1041 
1042 typedef enum {
1044 } UI_TYPE;
1045 
1046 typedef struct {
1054 
1055 typedef struct {
1059 
1060 #endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
1061 
1062 #if (NTDDI_VERSION >= NTDDI_WS03)
1063 #ifndef __ATTRIBUTE_INFO_3__
1064 #define __ATTRIBUTE_INFO_3__
1065 typedef struct _ATTRIBUTE_INFO_3 {
1077 #endif /* __ATTRIBUTE_INFO_3__ */
1078 #endif /* (NTDDI_VERSION >= NTDDI_WS03) */
1079 
1080 #if (NTDDI_VERSION >= NTDDI_VISTA)
1081 
1082 typedef BOOL
1084  _In_ DWORD dwCommand,
1085  _In_ PVOID pContext,
1086  _In_ DWORD dwColor,
1087  _In_ PPRINTER_NOTIFY_INFO pNofityInfo,
1090 
1096 
1097 typedef struct _NOTIFICATION_CONFIG_1 {
1103 
1110 
1111 typedef struct _SPLCLIENT_INFO_3 {
1123 
1124 #ifndef __ATTRIBUTE_INFO_4__
1125 #define __ATTRIBUTE_INFO_4__
1126 
1127 typedef struct _ATTRIBUTE_INFO_4 {
1144 
1145 #define REVERSE_PAGES_FOR_REVERSE_DUPLEX (0x00000001)
1146 #define DONT_SEND_EXTRA_PAGES_FOR_DUPLEX (0x00000001 << 1)
1147 
1148 #define RIGHT_THEN_DOWN (0x00000001)
1149 #define DOWN_THEN_RIGHT (0x00000001 << 1)
1150 #define LEFT_THEN_DOWN (0x00000001 << 2)
1151 #define DOWN_THEN_LEFT (0x00000001 << 3)
1152 
1153 #define BOOKLET_EDGE_LEFT 0x00000000
1154 #define BOOKLET_EDGE_RIGHT 0x00000001
1155 
1156 #endif /* __ATTRIBUTE_INFO_4__ */
1157 
1158 #endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
1159 
1160 #if (OSVER(NTDDI_VERSION) == NTDDI_W2K)
1162 #elif ((OSVER(NTDDI_VERSION) == NTDDI_WINXP) || (OSVER(NTDDI_VERSION) == NTDDI_WS03))
1164 #else
1166 #endif /* (OSVER(NTDDI_VERSION) == NTDDI_W2K) */
1167 
1168 BOOL
1169 WINAPI
1171  _Out_writes_bytes_(cbPrintProvidor) LPPRINTPROVIDOR pPrintProvidor,
1172  _In_ DWORD cbPrintProvidor,
1173  _In_opt_ LPWSTR pFullRegistryPath);
1174 
1175 HANDLE
1176 WINAPI
1179  _In_ PPRINTPROCESSOROPENDATA pPrintProcessorOpenData);
1180 
1181 BOOL
1182 WINAPI
1184  _In_ HANDLE hPrintProcessor,
1185  _In_ LPWSTR pDocumentName);
1186 
1187 BOOL
1188 WINAPI
1190  _Inout_ HANDLE hPrintProcessor);
1191 
1192 BOOL
1193 WINAPI
1195  _In_ HANDLE hPrintProcessor,
1196  _In_ DWORD Command);
1197 
1198 DWORD
1199 WINAPI
1204  _In_ DWORD nSize,
1206 
1207 BOOL
1208 WINAPI
1210  _In_ LPWSTR pRegistryRoot);
1211 
1212 BOOL
1213 WINAPI
1214 OpenPort(
1215  _In_ LPWSTR pName,
1216  _Out_ PHANDLE pHandle);
1217 
1218 BOOL
1219 WINAPI
1220 WritePort(
1221  _In_ HANDLE hPort,
1223  _In_ DWORD cbBuf,
1224  _Out_ LPDWORD pcbWritten);
1225 
1226 BOOL
1227 WINAPI
1228 ReadPort(
1229  _In_ HANDLE hPort,
1230  _Out_writes_bytes_(cbBuffer) LPBYTE pBuffer,
1231  _In_ DWORD cbBuffer,
1232  _Out_ LPDWORD pcbRead);
1233 
1234 BOOL
1235 WINAPI
1236 ClosePort(
1237  _In_ HANDLE hPort);
1238 
1239 BOOL
1240 WINAPI
1241 XcvOpenPort(
1242  _In_ LPCWSTR pszObject,
1244  _Out_ PHANDLE phXcv);
1245 
1246 DWORD
1247 WINAPI
1248 XcvDataPort(
1249  _In_ HANDLE hXcv,
1251  _In_reads_bytes_(cbInputData) PBYTE pInputData,
1253  _Out_writes_bytes_(cbOutputData) PBYTE pOutputData,
1256 
1257 BOOL
1258 WINAPI
1259 XcvClosePort(
1260  _In_ HANDLE hXcv);
1261 
1262 _Success_(return != 0)
1263 BOOL
1264 WINAPI
1265 AddPortUI(
1266  _In_opt_ PCWSTR pszServer,
1270 
1271 BOOL
1272 WINAPI
1274  _In_ PCWSTR pszServer,
1275  _In_ HWND hWnd,
1276  _In_ PCWSTR pszPortName);
1277 
1278 BOOL
1279 WINAPI
1280 DeletePortUI(
1281  _In_ PCWSTR pszServer,
1282  _In_ HWND hWnd,
1283  _In_ PCWSTR pszPortName);
1284 
1285 BOOL
1286 WINAPI
1289 
1290 BOOL
1291 WINAPI
1293  _In_ PCWSTR pName,
1294  _In_ BOOL bDeletePort);
1295 
1296 BOOL
1297 WINAPI
1299  _In_ LPWSTR pszPrinterName,
1300  _In_ LPWSTR pszKey,
1301  _In_ DWORD dwCopyFileEvent);
1302 
1303 DWORD
1304 WINAPI
1306  _In_ LPCWSTR pszPrinterName,
1307  _In_ LPCWSTR pszDirectory,
1308  _In_ LPBYTE pSplClientInfo,
1309  _In_ DWORD dwLevel,
1310  _Inout_updates_(*pcchSourceDirSize) LPWSTR pszSourceDir,
1311  _Inout_ LPDWORD pcchSourceDirSize,
1312  _Inout_updates_(*pcchTargetDirSize) LPWSTR pszTargetDir,
1313  _Inout_ LPDWORD pcchTargetDirSize,
1314  _In_ DWORD dwFlags);
1315 
1316 HANDLE
1317 WINAPI
1319  _In_ HANDLE hPrinter,
1321 
1322 BOOL
1323 WINAPI
1325  _In_ HANDLE hPrinterIC,
1327  _In_ DWORD cIn,
1329  _In_ DWORD cOut,
1330  _In_ DWORD ul);
1331 
1332 BOOL WINAPI DeletePrinterIC(_In_ HANDLE hPrinterIC);
1333 
1334 BOOL
1335 WINAPI
1337  _In_ HANDLE hPrinter,
1339  _Out_ DWORD *pResID);
1340 
1343 
1344 BOOL
1345 WINAPI
1347  _In_ HANDLE hNotify,
1351 
1352 BOOL
1353 WINAPI
1355  _In_ HANDLE hNotify,
1356  _In_ DWORD dwColor,
1360 
1361 BOOL
1362 WINAPI
1364  _In_ HANDLE hNotify,
1365  _In_opt_ PPRINTER_NOTIFY_INFO_DATA pInfoDataSrc);
1366 
1368 WINAPI
1370  _In_ DWORD cPrinterNotifyInfoData);
1371 
1373 
1374 BOOL
1375 WINAPI
1377  _In_ PPRINTER_NOTIFY_INFO pInfoDest,
1378  _In_opt_ PPRINTER_NOTIFY_INFO_DATA pInfoDataSrc,
1379  _In_ DWORD fdwFlags);
1380 
1381 DWORD
1382 WINAPI
1384  _In_ HANDLE hPrinter,
1387  _In_ HANDLE hNotify,
1389 
1390 BOOL
1391 WINAPI
1393  _In_ HANDLE hPrinter,
1396  _In_ HANDLE hNotify,
1397  _In_opt_ PVOID pvReserved0,
1398  _Out_opt_ PVOID pvReserved1);
1399 
1401 
1402 /* Spooler */
1404  DWORD fdwFlags,
1405  DWORD fdwOptions,
1406  PHANDLE phEvent,
1408  PVOID pvReserved);
1409 
1410 BOOL
1411 WINAPI
1413  _In_ HANDLE hPrinter,
1414  _Out_ LPDWORD pfdwChange,
1416  _Inout_opt_ LPVOID *ppPrinterNotifyInfo);
1417 
1420 
1421 /* Port monitor / Language monitor / Print monitor */
1422 
1423 LPMONITOR2
1424 WINAPI
1426  _In_ PMONITORINIT pMonitorInit,
1427  _Out_ PHANDLE phMonitor);
1428 
1431 
1432 BOOL
1433 WINAPI
1435  _In_ LPWSTR pRegistryRoot,
1436  _Out_ LPMONITOR pMonitor);
1437 
1438 #if (NTDDI_VERSION >= NTDDI_WINXP)
1439 
1441 WINAPI
1443  _In_ DWORD Count);
1444 
1445 PVOID WINAPI RouterAllocBidiMem(_In_ size_t NumBytes);
1446 
1447 DWORD
1448 WINAPI
1451 
1452 VOID WINAPI RouterFreeBidiMem(_In_ PVOID pMemPointer);
1453 
1454 BOOL
1455 WINAPI
1457  _In_ HANDLE hPrinter,
1458  _In_ DWORD JobId,
1459  _In_ PSHOWUIPARAMS pUIParams,
1460  _Out_ DWORD *pResponse);
1461 
1462 DWORD
1463 WINAPI
1465  _In_ HANDLE hPrinter,
1466  _In_ DWORD JobId,
1467  _Out_ BOOL *pIsSessionZero);
1468 
1469 #endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
1470 
1471 #if (NTDDI_VERSION >= NTDDI_WS03)
1472 BOOL
1473 WINAPI
1476  _In_ LPDEVMODEW pDevmode,
1477  _Out_ PATTRIBUTE_INFO_3 pAttributeInfo);
1478 #endif
1479 
1480 #if (NTDDI_VERSION >= NTDDI_VISTA)
1481 
1482 #define FILL_WITH_DEFAULTS 0x1
1483 
1484 BOOL
1485 WINAPI
1488  _In_ LPDEVMODEW pDevmode,
1489  _In_ DWORD dwLevel,
1490  _Out_writes_bytes_(nSize) LPBYTE pAttributeInfo,
1491  _In_ DWORD nSize,
1492  _In_ DWORD dwFlags);
1493 
1494 BOOL
1495 WINAPI
1497  _In_ HANDLE hPrinter,
1498  _In_ DWORD dwColor,
1499  _In_ PPRINTER_NOTIFY_OPTIONS pOptions,
1501 
1502 #endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
1503 
1504 /* FIXME : The following declarations are not present in the official header */
1505 
1510 
1511 #ifdef __cplusplus
1512 }
1513 #endif
1514 
1515 #endif /* _WINSPLP_ */
_In_ LPCWSTR pAction
Definition: winsplp.h:639
DWORD dwColorOptimization
Definition: winsplp.h:1073
BOOL WINAPI SetPrinterToken(HANDLE hToken)
_In_ DWORD _Out_ LPDWORD pNoBytesRead
Definition: winsplp.h:265
struct _PRINTPROCESSOROPENDATA * LPPRINTPROCESSOROPENDATA
static PHANDLE phXcv
Definition: localmon.c:57
_In_ DWORD cPorts
Definition: winsplp.h:1003
DWORD dwNupDirection
Definition: winsplp.h:1139
_In_ DWORD _Inout_updates_to_ pcbValue LPWSTR _Inout_ PDWORD _Out_opt_ PDWORD pType
Definition: winsplp.h:727
DWORD dwOptions
Definition: solitaire.cpp:23
static ABORTPRINTER fpAbortPrinter
Definition: printdrv.c:42
const uint16_t * PCWSTR
Definition: typedefs.h:55
LPMONITOR2 WINAPI InitializePrintMonitor2(_In_ PMONITORINIT pMonitorInit, _Out_ PHANDLE phMonitor)
_In_ DWORD _In_opt_ PVOID _In_ PVOID pPrinterNotifyInfo
Definition: winsplp.h:451
BOOL WINAPI ControlPrintProcessor(_In_ HANDLE hPrintProcessor, _In_ DWORD Command)
BOOL WINAPI SplDeleteSpoolerPortEnd(_In_ PCWSTR pName, _In_ BOOL bDeletePort)
_In_ DWORD _Inout_updates_to_ pcbValue LPWSTR _Inout_ PDWORD _Out_opt_ PDWORD _Out_writes_bytes_to_opt_ pcbData PBYTE pData
Definition: winsplp.h:730
short dmYResolution
Definition: winsplp.h:1075
_In_ LPWSTR pValueName
Definition: winsplp.h:283
_In_ DWORD Error
Definition: winsplp.h:396
_In_ DWORD cbBuffer
Definition: winsplp.h:914
DWORD dwJobNumberOfCopies
Definition: winsplp.h:1133
Type
Definition: Type.h:6
#define _Out_writes_bytes_to_(size, count)
Definition: no_sal2.h:374
_In_ DWORD _Out_ LPDWORD pcbWritten
Definition: winsplp.h:907
_In_reads_bytes_(cbBuf) LPVOID pBuf
_In_ DWORD ControlID
Definition: winsplp.h:828
DWORD cbSize
Definition: winsplp.h:658
_In_ LARGE_INTEGER _Out_ PLARGE_INTEGER _In_ DWORD dwMoveMethod
Definition: winsplp.h:557
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
_In_ DWORD cIn
Definition: winsplp.h:382
struct _NOTIFICATION_CONFIG_1 NOTIFICATION_CONFIG_1
_In_ LPCWSTR pszDataName
Definition: winsplp.h:593
_Out_opt_ PDWORD _Out_opt_ PDWORD _Out_opt_ PDWORD _Out_opt_ PDWORD _Out_opt_ PDWORD _Out_opt_ PDWORD _Out_opt_ PFILETIME pftLastWriteTime
Definition: winsplp.h:699
_In_ HANDLE _In_ LPWSTR _In_ LPWSTR pPrinterName
Definition: winsplp.h:889
struct _SPLCLIENT_INFO_1 * LPSPLCLIENT_INFO_1
BOOL WINAPI DevQueryPrint(_In_ HANDLE hPrinter, _In_ LPDEVMODEW pDevMode, _Out_ DWORD *pResID)
_In_ LPCWSTR pPrinterName
Definition: winsplp.h:573
MESSAGEBOX_PARAMS MessageBoxParams
Definition: winsplp.h:1057
_In_ DWORD _In_ DWORD ClientInfoLevel
Definition: winsplp.h:469
_In_ DWORD _Out_ LPDWORD pcbRead
Definition: winsplp.h:793
struct _SPLCLIENT_INFO_2_V1 SPLCLIENT_INFO_2_W2K
_In_ LPWSTR _In_ DWORD _In_ DWORD Level
Definition: winsplp.h:777
PBIDI_RESPONSE_CONTAINER WINAPI RouterAllocBidiResponseContainer(_In_ DWORD Count)
uint16_t * PWSTR
Definition: typedefs.h:54
_In_ LPCWSTR _Out_opt_ PDWORD pType
Definition: winsplp.h:737
HKEYMONITOR hckRegistryRoot
Definition: winsplp.h:748
short dmPrintQuality
Definition: winsplp.h:1074
_In_ DWORD _Out_ LPDWORD pcbWritten
Definition: winsplp.h:786
_In_ DWORD _In_ HWND _In_ LPWSTR pText
Definition: winsplp.h:396
_In_ LPCWSTR _In_ DWORD _In_ DWORD _In_ HANDLE hSpooler
Definition: winsplp.h:714
BOOL WINAPI ReadPort(_In_ HANDLE hPort, _Out_writes_bytes_(cbBuffer) LPBYTE pBuffer, _In_ DWORD cbBuffer, _Out_ LPDWORD pcbRead)
#define CALLBACK
Definition: compat.h:27
_In_ LPCWSTR _In_ DWORD _In_ DWORD cbOutputData
Definition: winsplp.h:597
LPMONITOREX WINAPI InitializePrintMonitor(_In_ LPWSTR pRegistryRoot)
#define _Outptr_
Definition: no_sal2.h:396
struct _MONITORINIT * PMONITORINIT
_In_opt_ LPWSTR pName
Definition: winsplp.h:873
PPRINTER_NOTIFY_INFO WINAPI RouterAllocPrinterNotifyInfo(_In_ DWORD cPrinterNotifyInfoData)
_In_ DWORD _In_ LPWSTR _In_ DWORD cbInBuffer
Definition: winsplp.h:831
_Outptr_result_maybenull_ LPWSTR _Out_ LPHANDLE _In_ HANDLE hSpoolerProcess
Definition: winsplp.h:619
BOOL WINAPI RouterFreePrinterNotifyInfo(_In_opt_ PPRINTER_NOTIFY_INFO pInfo)
struct _MONITOR2 MONITOR2
struct _ATTRIBUTE_INFO_4 * PATTRIBUTE_INFO_4
_In_ DWORD _In_ DWORD _Out_writes_bytes_to_opt_(cbBuf, *pcbNeeded) LPBYTE pJob
_Inout_ __drv_aliasesMem PSLIST_ENTRY _Inout_ PSLIST_ENTRY _In_ ULONG Count
Definition: exfuncs.h:1015
DWORD cbSize
Definition: winsplp.h:868
BOOL WINAPI SpoolerCopyFileEvent(_In_ LPWSTR pszPrinterName, _In_ LPWSTR pszKey, _In_ DWORD dwCopyFileEvent)
_In_ DWORD dwIndex
Definition: winsplp.h:481
_In_ HWND hWnd
Definition: winsplp.h:358
HANDLE hSpooler
Definition: winsplp.h:747
_In_ DWORD _In_ DWORD _Out_ LPDWORD pcbValueName
Definition: winsplp.h:483
DWORD dwDrvNumberOfPagesPerSide
Definition: winsplp.h:1067
BOOL WINAPI ClosePort(_In_ HANDLE hPort)
BOOL WINAPI SpoolerRefreshPrinterChangeNotification(_In_ HANDLE hPrinter, _In_ DWORD dwColor, _In_ PPRINTER_NOTIFY_OPTIONS pOptions, _Inout_opt_ PPRINTER_NOTIFY_INFO *ppInfo)
LPCWSTR pszServerName
Definition: winsplp.h:751
Definition: shell.h:41
_NOTIFICATION_CALLBACK_COMMANDS
Definition: winsplp.h:1091
_In_ HWND _In_ PCWSTR _Out_opt_ PWSTR * ppszPortNameOut
Definition: winsplp.h:1267
_In_ HANDLE hSpooler
Definition: winsplp.h:679
DWORD WINAPI SplIsSessionZero(_In_ HANDLE hPrinter, _In_ DWORD JobId, _Out_ BOOL *pIsSessionZero)
BOOL WINAPI AppendPrinterNotifyInfoData(_In_ PPRINTER_NOTIFY_INFO pInfoDest, _In_opt_ PPRINTER_NOTIFY_INFO_DATA pInfoDataSrc, _In_ DWORD fdwFlags)
DWORD dwMinorVersion
Definition: winsplp.h:1119
DWORD(WINAPI *fpStartDocPrinter)(_In_ HANDLE hPrinter
_In_opt_ LPWSTR _In_ LPWSTR pDriverName
Definition: winsplp.h:197
_In_ DWORD _In_ LPWSTR _In_ DWORD cbInBuffer
Definition: winsplp.h:956
CHAR * LPTSTR
Definition: xmlstorage.h:192
DWORD dwAttributes
Definition: vdmdbg.h:34
_In_ LPCWSTR pKeyName
Definition: winsplp.h:510
#define _In_opt_
Definition: no_sal2.h:213
PMONITORUI WINAPI InitializePrintMonitorUI(VOID)
Definition: localui.c:663
_Out_ HANDLE _In_opt_ PPRINTER_DEFAULTSW pDefault
Definition: winsplp.h:96
_In_ DWORD _In_ DWORD _In_reads_opt_(_Inexpressible_(0)) LPBYTE pJob
#define _Inout_updates_to_(size, count)
Definition: no_sal2.h:295
DWORD WINAPI CallRouterFindFirstPrinterChangeNotification(_In_ HANDLE hPrinter, _In_ DWORD fdwFlags, _In_ DWORD fdwOptions, _In_ HANDLE hNotify, _In_ PPRINTER_NOTIFY_OPTIONS pPrinterNotifyOptions)
DWORD dwDrvNumberOfCopies
Definition: winsplp.h:1072
uint32_t ULONG_PTR
Definition: typedefs.h:63
_In_ DWORD _Out_writes_bytes_(cOut) LPBYTE pOut
BOOL WINAPI OpenPrinterToken(PHANDLE phToken)
DWORD WINAPI GenerateCopyFilePaths(_In_ LPCWSTR pszPrinterName, _In_ LPCWSTR pszDirectory, _In_ LPBYTE pSplClientInfo, _In_ DWORD dwLevel, _Inout_updates_(*pcchSourceDirSize) LPWSTR pszSourceDir, _Inout_ LPDWORD pcchSourceDirSize, _Inout_updates_(*pcchTargetDirSize) LPWSTR pszTargetDir, _Inout_ LPDWORD pcchTargetDirSize, _In_ DWORD dwFlags)
_In_opt_ LPWSTR lpszName
Definition: winsplp.h:153
_In_ LPCWSTR _In_ LPCWSTR _In_ LPCWSTR pProvider
Definition: winsplp.h:573
_In_opt_ LPWSTR _In_ DWORD _In_ DWORD _Out_ LPDWORD _Out_ LPDWORD lpdwReturned
Definition: winsplp.h:156
_In_ DWORD _In_ DWORD _Out_ LPDWORD _Out_ LPDWORD pcReturned
Definition: winsplp.h:761
_In_ LPCWSTR _In_ DWORD _In_ REGSAM samDesired
Definition: winsplp.h:663
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
BOOL WINAPI ReplyPrinterChangeNotification(_In_ HANDLE hNotify, _In_ DWORD fdwFlags, _Out_opt_ PDWORD pdwResult, _In_opt_ PVOID pPrinterNotifyInfo)
BOOL WINAPI SpoolerFindNextPrinterChangeNotification(_In_ HANDLE hPrinter, _Out_ LPDWORD pfdwChange, _In_opt_ LPVOID pPrinterNotifyOptions, _Inout_opt_ LPVOID *ppPrinterNotifyInfo)
unsigned char * LPBYTE
Definition: typedefs.h:52
VOID WINAPI SpoolerFreePrinterNotifyInfo(_In_ PPRINTER_NOTIFY_INFO pInfo)
_In_ LPCWSTR _In_ LPBIDI_REQUEST_CONTAINER pReqData
Definition: winsplp.h:639
_In_ DWORD _In_ DWORD NoJobs
Definition: winsplp.h:119
_In_ DWORD _Out_ LPDWORD pcbRead
Definition: winsplp.h:914
BOOL WINAPI ProvidorFindClosePrinterChangeNotification(_In_ HANDLE hPrinter)
UI_TYPE
Definition: winsplp.h:1042
struct _SPLCLIENT_INFO_2_V3 SPLCLIENT_INFO_2_LONGHORN
struct SHOWUIPARAMS * PSHOWUIPARAMS
enum _NOTIFICATION_CALLBACK_COMMANDS NOTIFICATION_CALLBACK_COMMANDS
unsigned int BOOL
Definition: ntddk_ex.h:94
_Out_ PHANDLE pHandle
Definition: winsplp.h:765
BOOL WINAPI ClosePrinterToken(HANDLE hToken)
long LONG
Definition: pedump.c:60
DWORD dwJobNumberOfPagesPerSide
Definition: winsplp.h:1128
static SEEKPRINTER fpSeekPrinter
Definition: printdrv.c:61
DWORD32 hSplPrinter
Definition: winsplp.h:83
_In_ DWORD _In_opt_ PVOID pvReserved
Definition: winsplp.h:451
SPLCLIENT_INFO_2_W2K * PSPLCLIENT_INFO_2
Definition: winsplp.h:1161
_In_opt_ LPDEVMODEW pDevMode
Definition: winsplp.h:376
DWORD dwMajorVersion
Definition: winsplp.h:70
_In_ LPCWSTR _In_ LPCWSTR pPrintServer
Definition: winsplp.h:573
DWORD dwJobNumberOfPagesPerSide
Definition: winsplp.h:1066
_In_ LPCWSTR _In_ DWORD cbEnumValues
Definition: winsplp.h:531
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
Definition: db.cpp:173
r reserved
Definition: btrfs.c:2655
VOID WINAPI RouterFreeBidiMem(_In_ PVOID pMemPointer)
DWORD dwDrvNumberOfPagesPerSide
Definition: winsplp.h:1129
PMONITORREG pMonitorReg
Definition: winsplp.h:749
_In_ LPCWSTR _Out_ PHANDLE _In_ LPCWSTR pszName
Definition: winsplp.h:498
DWORD dwBookletFlags
Definition: winsplp.h:1140
DWORD dwNupBorderFlags
Definition: winsplp.h:1130
DWORD dwMinorVersion
Definition: winsplp.h:71
BOOL WINAPI ConfigurePortUI(_In_ PCWSTR pszServer, _In_ HWND hWnd, _In_ PCWSTR pszPortName)
struct _SPLCLIENT_INFO_3 * PSPLCLIENT_INFO_3
PVOID pBuffer
struct _MONITORREG MONITORREG
#define _Out_
Definition: no_sal2.h:323
_Outptr_result_maybenull_ LPWSTR _Out_ LPHANDLE _In_ HANDLE _In_ HANDLE hAppProcess
Definition: winsplp.h:619
#define _At_(target, annos)
Definition: no_sal2.h:11
_In_ LPWSTR pPrinterName
Definition: winsplp.h:898
#define HKEYMONITOR
Definition: winsplp.h:33
_In_ LPWSTR _Out_opt_ LPDWORD pType
Definition: winsplp.h:283
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
_In_ LPCWSTR pszResource
Definition: winsplp.h:498
BOOL WINAPI ProvidorFindFirstPrinterChangeNotification(_In_ HANDLE hPrinter, _In_ DWORD fdwFlags, _In_ DWORD fdwOptions, _In_ HANDLE hNotify, _In_opt_ PVOID pvReserved0, _Out_opt_ PVOID pvReserved1)
_In_ LPCWSTR _Out_ PHANDLE _In_ LPCWSTR _In_ LPCWSTR pszAddress
Definition: winsplp.h:498
BOOL WINAPI PlayGdiScriptOnPrinterIC(_In_ HANDLE hPrinterIC, _In_reads_bytes_(cIn) LPBYTE pIn, _In_ DWORD cIn, _Out_writes_bytes_(cOut) LPBYTE pOut, _In_ DWORD cOut, _In_ DWORD ul)
struct _SPLCLIENT_INFO_1 * PSPLCLIENT_INFO_1
DWORD dwJobNumberOfCopies
Definition: winsplp.h:1071
HANDLE WINAPI RevertToPrinterSelf(VOID)
Definition: context.c:64
PWSTR pMachineName
Definition: winsplp.h:1115
DWORD WINAPI RouterFreeBidiResponseContainer(_In_ PBIDI_RESPONSE_CONTAINER pData)
BOOL WINAPI GetJobAttributesEx(_In_ LPWSTR pPrinterName, _In_ LPDEVMODEW pDevmode, _In_ DWORD dwLevel, _Out_writes_bytes_(nSize) LPBYTE pAttributeInfo, _In_ DWORD nSize, _In_ DWORD dwFlags)
_In_ DWORD _In_ DWORD _In_ DWORD _In_ DWORD _Out_ LPDWORD _Out_ LPDWORD pcReturned
Definition: winsplp.h:123
struct _MONITORINIT MONITORINIT
_In_ DWORD _In_ LPWSTR _In_ DWORD _In_ DWORD cbOutBuffer
Definition: winsplp.h:958
_In_ DWORD JobID
Definition: winsplp.h:102
_In_opt_ LPWSTR pEnvironment
Definition: winsplp.h:169
_In_ LPCWSTR _In_ LPBIDI_REQUEST_CONTAINER _Outptr_ LPBIDI_RESPONSE_CONTAINER * ppResData
Definition: winsplp.h:639
#define _Out_opt_
Definition: no_sal2.h:339
_In_ DWORD _In_ LPCWSTR _In_ PBIDI_REQUEST_CONTAINER pReqData
Definition: winsplp.h:992
WORD wProcessorArchitecture
Definition: winsplp.h:72
BOOL WINAPI PrintDocumentOnPrintProcessor(_In_ HANDLE hPrintProcessor, _In_ LPWSTR pDocumentName)
static LPSTR pName
Definition: security.c:75
static SPLREADPRINTER fpSplReadPrinter
Definition: printdrv.c:63
_In_ LPWSTR _In_ DWORD JobId
Definition: winsplp.h:898
_In_ DWORD _In_ DWORD cbValueName
Definition: winsplp.h:483
_In_ LPCWSTR _In_ HANDLE hSpooler
Definition: winsplp.h:684
_In_opt_ LPWSTR _In_ DWORD _In_ DWORD _Out_ LPDWORD _Out_ LPDWORD pcbReturned
Definition: winsplp.h:172
struct _ATTRIBUTE_INFO_3 * PATTRIBUTE_INFO_3
struct _PRINTER_NOTIFY_INIT * PPRINTER_NOTIFY_INIT
DWORD dwScalingPercentY
Definition: winsplp.h:1142
BOOL WINAPI ClosePrintProcessor(_Inout_ HANDLE hPrintProcessor)
struct _SPLCLIENT_INFO_2_V2 SPLCLIENT_INFO_2_WINXP
LPWSTR pUserName
Definition: winsplp.h:68
struct _ATTRIBUTE_INFO_3 ATTRIBUTE_INFO_3
DWORD dwScalingPercentX
Definition: winsplp.h:1141
_In_opt_ LPWSTR _In_ DWORD _In_ DWORD _Out_ LPDWORD _Out_ LPDWORD pcReturned
Definition: winsplp.h:876
HANDLE WINAPI CreatePrinterIC(_In_ HANDLE hPrinter, _In_opt_ LPDEVMODEW pDevMode)
_In_ LPCWSTR _In_ DWORD _In_ DWORD _Out_ PDWORD _Out_ PDWORD pdwStatus
Definition: winsplp.h:597
HANDLE WINAPI OpenPrintProcessor(_In_ LPWSTR pPrinterName, _In_ PPRINTPROCESSOROPENDATA pPrintProcessorOpenData)
_In_ LPCOMMTIMEOUTS lpCTO
Definition: winsplp.h:964
_In_ LPCWSTR pszObject
Definition: winsplp.h:970
#define WINAPI
Definition: msvc.h:8
_In_opt_ LPWSTR _In_ LPWSTR pPathName
Definition: winsplp.h:203
struct MESSAGEBOX_PARAMS * PMESSAGEBOX_PARAMS
_In_opt_ LPWSTR _In_ DWORD dwLevel
Definition: winsplp.h:153
DWORD WINAPI XcvDataPort(_In_ HANDLE hXcv, _In_ LPCWSTR pszDataName, _In_reads_bytes_(cbInputData) PBYTE pInputData, _In_ DWORD cbInputData, _Out_writes_bytes_(cbOutputData) PBYTE pOutputData, _In_ DWORD cbOutputData, _Out_ PDWORD pcbOutputNeeded)
DWORD dwColorOptimization
Definition: winsplp.h:1135
#define _Outptr_result_maybenull_
Definition: no_sal2.h:426
unsigned short WORD
Definition: ntddk_ex.h:93
_In_opt_ LPSTR _In_opt_ LPSTR _In_ DWORD _In_ DWORD _Out_opt_ PHANDLE phToken
Definition: winbase.h:2651
_In_ DWORD _In_ DWORD _In_ DWORD _Out_ LPDWORD pcbNeeded
Definition: winsplp.h:113
struct _PRINTPROCESSOROPENDATA * PPRINTPROCESSOROPENDATA
unsigned long DWORD
Definition: ntddk_ex.h:95
DWORD dwDrvPageOrderFlags
Definition: winsplp.h:1132
#define _Inout_
Definition: no_sal2.h:244
BOOL WINAPI InitializeMonitor(_In_ LPWSTR pRegistryRoot)
_Outptr_result_maybenull_ LPWSTR * pSpoolDir
Definition: winsplp.h:619
_In_ LPCWSTR _Out_opt_ PDWORD _Out_writes_bytes_to_opt_ pcbData PBYTE pData
Definition: winsplp.h:739
DWORD dwJobPageOrderFlags
Definition: winsplp.h:1069
_In_ DWORD _Out_ LPDWORD pcWritten
Definition: winsplp.h:254
_In_ LPCWSTR _In_ DWORD _Out_ LPDWORD pcbEnumValues
Definition: winsplp.h:531
struct _SPLCLIENT_INFO_3 SPLCLIENT_INFO_3
static ENDDOCPRINTER fpEndDocPrinter
Definition: printdrv.c:49
ULONG_PTR hSplPrinter
Definition: winsplp.h:76
BOOL WINAPI XcvOpenPort(_In_ LPCWSTR pszObject, _In_ ACCESS_MASK GrantedAccess, _Out_ PHANDLE phXcv)
_In_ LPWSTR pPrinterName
Definition: winsplp.h:770
BOOL(WINAPI *fpOpenPrinter)(_In_opt_ PWSTR lpPrinterName
_In_ DWORD _In_ DWORD _Out_ LPDWORD _Out_opt_ LPDWORD _In_ DWORD _Out_ LPDWORD pcbData
Definition: winsplp.h:487
BOOL WINAPI DeletePortUI(_In_ PCWSTR pszServer, _In_ HWND hWnd, _In_ PCWSTR pszPortName)
_In_ LPWSTR _Out_ PHANDLE _In_ struct _MONITOR * pMonitor
Definition: winsplp.h:772
_In_opt_ LPWSTR _In_ DWORD _In_ DWORD _Out_ LPDWORD _In_ DWORD _In_ DWORD _Out_ PDWORD pdwServerMajorVersion
Definition: winsplp.h:425
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
_In_ DWORD _In_ LPWSTR _In_ DWORD _In_ DWORD _Out_ LPDWORD lpcbReturned
Definition: winsplp.h:958
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:414
_In_ DWORD _In_ DWORD Level
Definition: winsplp.h:102
_In_ DWORD _In_ DWORD _In_ DWORD ul
Definition: winsplp.h:384
BOOL WINAPI SpoolerFindFirstPrinterChangeNotification(HANDLE hPrinter, DWORD fdwFlags, DWORD fdwOptions, PHANDLE phEvent, PVOID pPrinterNotifyOptions, PVOID pvReserved)
_In_ LPWSTR _Out_opt_ LPDWORD _In_ DWORD nSize
Definition: winsplp.h:286
struct _NOTIFICATION_CONFIG_1 * PNOTIFICATION_CONFIG_1
BOOL WINAPI DeletePrinterIC(_In_ HANDLE hPrinterIC)
unsigned char BYTE
Definition: mem.h:68
_NOTIFICATION_CONFIG_FLAGS
Definition: winsplp.h:1104
DWORD DWORD fdwOptions
Definition: winsplp.h:433
DWORD dwDrvPageOrderFlags
Definition: winsplp.h:1070
ROUTER_NOTIFY_CALLBACK pfnNotifyCallback
Definition: winsplp.h:1100
short dmYResolution
Definition: winsplp.h:1137
_In_opt_ LPWSTR _In_ DWORD _In_ DWORD _Out_ LPDWORD _In_ DWORD _In_ DWORD dwClientMinorVersion
Definition: winsplp.h:425
enum _NOTIFICATION_CONFIG_FLAGS NOTIFICATION_CONFIG_FLAGS
_In_ DWORD _In_ HWND _In_ LPWSTR _In_ LPWSTR _In_ DWORD dwType
Definition: winsplp.h:396
DWORD dwBuildNum
Definition: winsplp.h:69
BOOL WINAPI SpoolerFindClosePrinterChangeNotification(_In_ HANDLE hPrinter)
DWORD dwDrvNumberOfCopies
Definition: winsplp.h:1134
_In_ HWND _In_ LPWSTR pPortName
Definition: winsplp.h:364
_Outptr_result_maybenull_ LPWSTR _Out_ LPHANDLE phFile
Definition: winsplp.h:619
struct _MONITORREG * PMONITORREG
DWORD cbSize
Definition: winsplp.h:746
MONITOR Monitor
Definition: winsplp.h:864
DWORD dwDuplexFlags
Definition: winsplp.h:1138
#define _In_
Definition: no_sal2.h:204
DWORD WINAPI GetPrintProcessorCapabilities(_In_ LPTSTR pValueName, _In_ DWORD dwAttributes, _Out_writes_bytes_(nSize) LPBYTE pData, _In_ DWORD nSize, _Out_ LPDWORD pcbNeeded)
BOOL WINAPI GetJobAttributes(_In_ LPWSTR pPrinterName, _In_ LPDEVMODEW pDevmode, _Out_ PATTRIBUTE_INFO_3 pAttributeInfo)
_In_ DWORD Level
Definition: winsplp.h:759
UINT64 hSplPrinter
Definition: winsplp.h:1121
static COMMITSPOOLDATA fpCommitSpoolData
Definition: printdrv.c:45
uint64_t DWORD64
Definition: typedefs.h:65
_In_ UINT _In_ DWORD _Out_ DWORD * pdwResult
Definition: ntgdi.h:248
unsigned int DWORD32
Definition: basetsd.h:126
SPLCLIENT_INFO_2_W2K SPLCLIENT_INFO_2
Definition: winsplp.h:1161
_In_ DWORD _Out_ PDWORD pcbNeeded
Definition: winddi.h:3827
PVOID WINAPI RouterAllocBidiMem(_In_ size_t NumBytes)
UI_TYPE UIType
Definition: winsplp.h:1056
_In_ LPCWSTR _In_ DWORD _Out_ LPDWORD pcbSubkey
Definition: winsplp.h:540
_In_ LPCWSTR pszValue
Definition: winsplp.h:711
_In_ DWORD _In_ LPWSTR _In_ DWORD _In_ DWORD cbOutBuffer
Definition: winsplp.h:833
DWORD DWORD LPVOID pPrinterNotifyOptions
Definition: winsplp.h:433
BOOL WINAPI SplPromptUIInUsersSession(_In_ HANDLE hPrinter, _In_ DWORD JobId, _In_ PSHOWUIPARAMS pUIParams, _Out_ DWORD *pResponse)
_In_ DWORD _In_ LPWSTR _In_ DWORD _In_ DWORD _Out_ LPDWORD lpcbReturned
Definition: winsplp.h:833
ACCESS_MASK REGSAM
Definition: winreg.h:69
BOOL WINAPI WritePort(_In_ HANDLE hPort, _In_reads_bytes_(cbBuf) LPBYTE pBuffer, _In_ DWORD cbBuf, _Out_ LPDWORD pcbWritten)
_In_opt_ LPWSTR _In_ DWORD _In_ DWORD _Out_ LPDWORD lpdwNeeded
Definition: winsplp.h:156
DWORD dwMonitorUISize
Definition: winsplp.h:1017
_In_ LPCWSTR _In_ DWORD _In_ DWORD _Out_ PDWORD pcbOutputNeeded
Definition: winsplp.h:597
LPWSTR pMachineName
Definition: winsplp.h:67
unsigned int UINT
Definition: ndis.h:50
DWORD fdwFlags
Definition: winsplp.h:433
DWORD VOID DWORD dwCatalogCopyFlags
Definition: winsplp.h:643
_In_ LPCWSTR _In_ DWORD _Out_ LPDWORD _Out_ LPDWORD pnEnumValues
Definition: winsplp.h:531
DWORD * PDWORD
Definition: pedump.c:68
BOOL WINAPI ReplyPrinterChangeNotificationEx(_In_ HANDLE hNotify, _In_ DWORD dwColor, _In_ DWORD fdwFlags, _Out_ PDWORD pdwResult, _In_ PVOID pPrinterNotifyInfo)
BOOL WINAPI InstallPrintProcessor(HWND hWnd)
_In_ DWORD dwIndex
Definition: winsplp.h:690
_In_ ULONG _In_ ULONG _Inout_updates_(8 *8) ULONG *pul)
Definition: winddi.h:3522
BOOL WINAPI InitializePrintProvidor(_Out_writes_bytes_(cbPrintProvidor) LPPRINTPROVIDOR pPrintProvidor, _In_ DWORD cbPrintProvidor, _In_opt_ LPWSTR pFullRegistryPath)
_In_ LARGE_INTEGER _Out_ PLARGE_INTEGER pliNewPointer
Definition: winsplp.h:557
_In_ LPCWSTR _Out_ PHANDLE phSpooler
Definition: winsplp.h:498
static READPRINTER fpReadPrinter
Definition: printdrv.c:59
_In_ LARGE_INTEGER _Out_ PLARGE_INTEGER _In_ DWORD _In_ BOOL bWrite
Definition: winsplp.h:557
struct _PRINTER_NOTIFY_INIT PRINTER_NOTIFY_INIT
DWORD dwMonitorSize
Definition: winsplp.h:863
_In_ LPWSTR _In_ DWORD JobId
Definition: winsplp.h:777
_In_ LPCWSTR _In_ REGSAM samDesired
Definition: winsplp.h:674
WORD wProcessorArchitecture
Definition: winsplp.h:1120
_In_ DWORD _Out_ LPDWORD _In_ DWORD cSleep
Definition: winsplp.h:632
short dmPrintQuality
Definition: winsplp.h:1136
_In_ DWORD FirstJob
Definition: winsplp.h:119
SPLCLIENT_INFO_2_W2K * LPSPLCLIENT_INFO_2
Definition: winsplp.h:1161
struct _MONITOR2 * LPMONITOR2
struct _SPLCLIENT_INFO_3 * LPSPLCLIENT_INFO_3
_In_ LPCWSTR _In_ DWORD cbSubkey
Definition: winsplp.h:540
BOOL WINAPI InitializeMonitorEx(_In_ LPWSTR pRegistryRoot, _Out_ LPMONITOR pMonitor)
_In_ LARGE_INTEGER liDistanceToMove
Definition: winsplp.h:557
_In_opt_ LPWSTR _In_ LPWSTR _In_ LPWSTR pPrintProcessorName
Definition: winsplp.h:203
uint32_t * LPDWORD
Definition: typedefs.h:57
BOOL bLocal
Definition: winsplp.h:750
_Success_(return !=0) BOOL WINAPI AddPortUI(_In_opt_ PCWSTR pszServer
Definition: fsctrl.c:3139
_In_opt_ LPWSTR _In_ LPWSTR _In_ DWORD dwDeleteFlag
Definition: winsplp.h:565
_In_opt_ LPWSTR _In_ LPWSTR _In_ DWORD _In_ DWORD dwVersionNum
Definition: winsplp.h:565
_In_ HWND _In_ PCWSTR pszMonitorNameIn
Definition: winsplp.h:1267
struct _ATTRIBUTE_INFO_4 ATTRIBUTE_INFO_4
BOOL WINAPI ImpersonatePrinterClient(_In_ HANDLE hToken)
BOOL WINAPI OpenPort(_In_ LPWSTR pName, _Out_ PHANDLE pHandle)
struct _MONITOR2 * PMONITOR2
_In_ DWORD cbBuffer
Definition: winsplp.h:793
_In_opt_ LPWSTR _In_ DWORD _In_ DWORD _Out_ LPDWORD _In_ DWORD dwClientMajorVersion
Definition: winsplp.h:425
_In_ DWORD _Inout_updates_to_ pcchName LPWSTR pszName
Definition: winsplp.h:691
_In_ LPCOMMTIMEOUTS lpCTO
Definition: winsplp.h:839
BOOL WINAPI PartialReplyPrinterChangeNotification(_In_ HANDLE hNotify, _In_opt_ PPRINTER_NOTIFY_INFO_DATA pInfoDataSrc)
DWORD dwJobPageOrderFlags
Definition: winsplp.h:1131
_In_ DWORD _In_ DWORD _In_ DWORD cbBuf
Definition: winsplp.h:113
_In_ DWORD _In_ HWND _In_ LPWSTR _In_ LPWSTR pCaption
Definition: winsplp.h:396
_In_ HWND _In_ LPWSTR pMonitorName
Definition: winsplp.h:358
static HANDLE hXcv
Definition: localmon.c:61
struct _SPLCLIENT_INFO_1 SPLCLIENT_INFO_1
unsigned long long UINT64
WCHAR * LPWSTR
Definition: xmlstorage.h:184
DWORD VOID * pvDriverInfCatInfo
Definition: winsplp.h:643
_In_ LPCWSTR _In_ DWORD cbInputData
Definition: winsplp.h:595
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
Definition: twain.h:1827
_In_ DWORD _In_ LPWSTR lpMonitorName
Definition: winsplp.h:444
CLOSEPRINTER fpClosePrinter
Definition: printdrv.c:43
_In_ PSECURITY_SUBJECT_CONTEXT _In_ BOOLEAN _In_ ACCESS_MASK _In_ ACCESS_MASK _Outptr_opt_ PPRIVILEGE_SET _In_ PGENERIC_MAPPING _In_ KPROCESSOR_MODE _Out_ PACCESS_MASK GrantedAccess
Definition: sefuncs.h:13
_In_ LPWSTR _In_ DWORD _In_ DWORD cbData
Definition: winsplp.h:295
struct _PRINTER_NOTIFY_INIT * LPPRINTER_NOTIFY_INIT
DWORD dwMajorVersion
Definition: winsplp.h:1118
struct _MONITOREX * LPMONITOREX
_In_ DWORD dwAccessBit
Definition: winsplp.h:992
BOOL(CALLBACK * ROUTER_NOTIFY_CALLBACK)(_In_ DWORD dwCommand, _In_ PVOID pContext, _In_ DWORD dwColor, _In_ PPRINTER_NOTIFY_INFO pNofityInfo, _In_ DWORD fdwFlags, _Out_ PDWORD pdwResult)
Definition: winsplp.h:1083
_In_ DWORD ControlID
Definition: winsplp.h:953
_In_ DWORD _In_ DWORD cOut
Definition: winsplp.h:384
BOOL WINAPI XcvClosePort(_In_ HANDLE hXcv)
_In_ LPWSTR pFormName
Definition: winsplp.h:310
BYTE * PBYTE
Definition: pedump.c:66
UINT64 hSplPrinter
Definition: winsplp.h:88
ULONG ACCESS_MASK
Definition: nt_native.h:40
BOOL WINAPI SplDeleteSpoolerPortStart(_In_ PCWSTR pPortName)
static ENDPAGEPRINTER fpEndPagePrinter
Definition: printdrv.c:50
_Out_ HANDLE * phPrinter
Definition: winsplp.h:96
_In_ HANDLE _In_ LPWSTR _In_ LPWSTR _Out_ PHANDLE _In_ struct _MONITOR2 * pMonitor2
Definition: winsplp.h:893
_In_ DWORD cbCommit
Definition: winsplp.h:624
_In_ DWORD _In_reads_(_Inexpressible_(0)) LPBYTE pPrinter)
static STARTPAGEPRINTER fpStartPagePrinter
Definition: printdrv.c:66
#define _Inout_opt_
Definition: no_sal2.h:258
static CLOSESPOOLFILEHANDLE fpCloseSpoolFileHandle
Definition: printdrv.c:44
DWORD dwNupBorderFlags
Definition: winsplp.h:1068
_In_ DWORD _In_ DWORD dwFileCopyFlags
Definition: winsplp.h:606
struct _MONITOREX MONITOREX
struct _PRINTPROCESSOROPENDATA PRINTPROCESSOROPENDATA
_In_opt_ LPWSTR _In_ DWORD _In_ DWORD _Out_ LPDWORD _In_ DWORD _In_ DWORD _Out_ PDWORD _Out_ PDWORD pdwServerMinorVersion
Definition: winsplp.h:425