|
|
1.1 root 1: /*++
2:
3: Copyright (c) 1990 Microsoft Corporation
4:
5: Module Name:
6:
7: WinSpool.h
8:
9: Abstract:
10:
11: Header file for Print APIs
12:
13: Author:
14:
15: Dave Snipp (DaveSn) 15-Mar-1991
16:
17: Revision History:
18:
19: --*/
20:
21: #ifndef _WINSPOOL_
22: #define _WINSPOOL_
23:
24: typedef struct _PRINTERSERVER {
25: HANDLE hProvidor;
26: LPSTR lpName;
27: LPSTR lpDescription;
28: LPSTR lpLocation;
29: DWORD cbData;
30: } PRINTERSERVER, *LPPRINTERSERVER;
31:
32: typedef struct _PRINTER {
33: DWORD Reserved;
34: LPPRINTERSERVER lpPrinterServer;
35: LPSTR lpPrinterName;
36: LPSTR lpPortName;
37: LPSTR lpDriverName;
38: LPSTR lpComment;
39: LPSTR lpLocation;
40: LPDEVMODE lpDevMode;
41: LPSTR lpSepFile;
42: LPSTR lpPrintProcessor;
43: LPSTR lpDatatype;
44: LPSTR lpParameters;
45: LPSTR lpVendorData;
46: DWORD Attributes;
47: DWORD Priority;
48: DWORD DefaultPriority;
49: DWORD StartTime;
50: DWORD UntilTime;
51: DWORD Status;
52: DWORD cJobs;
53: DWORD AveragePPM;
54: } PRINTER, *LPPRINTER;
55:
56: #define PRINTER_CONTROL_PAUSE 1
57: #define PRINTER_CONTROL_RESUME 2
58: #define PRINTER_CONTROL_PURGE 3
59:
60: #define PRINTER_STATUS_PAUSED 0x00000001
61: #define PRINTER_STATUS_ERROR 0x00000002
62: #define PRINTER_STATUS_PENDING_DELETION 0x00000004
63:
64: #define PRINTER_ATTRIBUTE_QUEUED 0x00000001
65: #define PRINTER_ATTRIBUTE_DIRECT 0x00000002
66: #define PRINTER_ATTRIBUTE_DEFAULT 0x00000004
67:
68: #define NO_PRIORITY 0
69: #define MAX_PRIORITY 99
70: #define MIN_PRIORITY 1
71: #define DEF_PRIORITY 1
72:
73: typedef struct _JOB {
74: DWORD cVersion;
75: DWORD JobId;
76: LPPRINTERSERVER lpPrinterServer;
77: LPSTR lpPrinterName;
78: LPSTR lpUserName;
79: LPSTR lpDocument;
80: LPSTR lpNotifyName;
81: LPSTR lpDatatype;
82: LPSTR lpPrintProcessor;
83: LPSTR lpParameters;
84: LPSTR lpDriverName;
85: LPDEVMODE lpDevMode;
86: LPSTR lpStatus;
87: DWORD Status;
88: DWORD Priority;
89: DWORD Position;
90: DWORD StartTime;
91: DWORD UntilTime;
92: DWORD TotalPages;
93: DWORD Size;
94: DWORD Submitted;
95: SYSTEMTIME Time;
96: } JOB, *LPJOB;
97:
98: #define JOB_CONTROL_PAUSE 1
99: #define JOB_CONTROL_RESUME 2
100: #define JOB_CONTROL_CANCEL 3
101: #define JOB_CONTROL_RESTART 4
102:
103: #define JOB_STATUS_SPOOLING 0x00000001
104: #define JOB_STATUS_PRINTING 0x00000002
105: #define JOB_STATUS_PAUSED 0x00000004
106: #define JOB_STATUS_ERROR 0x00000008
107: #define JOB_STATUS_OFFLINE 0x00000010
108: #define JOB_STATUS_PAPEROUT 0x00000020
109: #define JOB_STATUS_DELETING 0x00000040
110:
111: typedef struct _DRIVERINFO {
112: DWORD cVersion;
113: LPSTR lpDriverName; // PSCRIPT.QMS 810
114: LPSTR lpEnvironment; // Win32.x86
115: LPSTR lpDriverPath; // c:\drivers\pscript.dll
116: LPSTR lpDeviceName; // QMS 810
117: LPSTR lpDataFile; // QMS810.PPD
118: LPSTR lpConfigFile; // PSCRIPT.EXE
119: } DRIVERINFO, *LPDRIVERINFO;
120:
121: BOOL
122: SetJob(
123: IN LPJOB lpJob,
124: IN DWORD Command
125: );
126:
127: BOOL
128: GetJob(
129: LPPRINTER lpPrinter,
130: DWORD JobId,
131: LPJOB lpJob,
132: DWORD cbBuf,
133: LPDWORD pcbNeeded
134: );
135:
136: BOOL
137: EnumJobs(
138: LPPRINTER lpPrinter,
139: DWORD FirstJob,
140: DWORD NoJobs,
141: LPJOB lpJob,
142: DWORD cbBuf,
143: LPDWORD lpcbNeeded,
144: LPDWORD lpcReturned
145: );
146:
147: BOOL
148: AddPrinter(
149: LPPRINTER lpPrinter
150: );
151:
152: BOOL
153: DeletePrinter(
154: LPPRINTER lpPrinter
155: );
156:
157: BOOL
158: SetPrinter(
159: LPPRINTER lpPrinter,
160: DWORD Command
161: );
162:
163: BOOL
164: GetPrinter(
165: LPSTR lpName,
166: LPPRINTER lpPrinter,
167: DWORD cbBuf,
168: LPDWORD pcbNeeded
169: );
170:
171: BOOL
172: EnumPrinters(
173: DWORD Type,
174: LPPRINTER lpPrinter,
175: DWORD cbBuf,
176: LPDWORD pcbNeeded,
177: LPDWORD lpcReturned
178: );
179:
180: BOOL
181: GetJobFromHandle(
182: HANDLE hFile,
183: LPJOB lpJob,
184: DWORD cbBuf,
185: LPDWORD pcbNeeded
186: );
187:
188: BOOL
189: AddPrinterDriver(
190: LPPRINTERSERVER lpPrinterServer,
191: LPDRIVERINFO lpDriverInfo
192: );
193:
194: BOOL
195: EnumPrinterDrivers(
196: LPPRINTERSERVER lpPrinterServer,
197: LPSTR lpEnvironment,
198: LPDRIVERINFO lpDriverInfo,
199: DWORD cbBuf,
200: LPDWORD pcbNeeded,
201: LPDWORD lpcReturned
202: );
203:
204: BOOL
205: GetPrinterDriver(
206: LPPRINTER lpPrinter,
207: LPSTR lpEnvironment,
208: LPDRIVERINFO lpDriverInfo,
209: DWORD cbBuf,
210: LPDWORD lpcbNeeded
211: );
212:
213: BOOL
214: AddPrintProcessor(
215: LPPRINTERSERVER lpPrinterServer,
216: LPSTR lpEnvironment,
217: LPSTR lpPathName,
218: LPSTR lpName
219: );
220:
221: HANDLE
222: OpenSpooler(
223: LPPRINTER lpPrinter
224: );
225:
226: BOOL
227: StartDocSpooler(
228: HANDLE hSpooler
229: );
230:
231: BOOL
232: StartFrameSpooler(
233: HANDLE hSpooler
234: );
235:
236: BOOL
237: WriteSpooler(
238: HANDLE hSpooler,
239: LPVOID pBuf,
240: DWORD cbBuf,
241: LPDWORD pcWritten
242: );
243:
244: BOOL
245: EndFrameSpooler(
246: HANDLE hSpooler
247: );
248:
249: BOOL
250: AbortSpooler(
251: HANDLE hSpooler
252: );
253:
254: BOOL
255: ReadSpooler(
256: HANDLE hSpooler,
257: LPVOID pBuf,
258: DWORD cbBuf,
259: LPDWORD lpNoBytesRead
260: );
261:
262: BOOL
263: EndDocSpooler(
264: HANDLE hSpooler
265: );
266:
267: BOOL
268: CloseSpooler(
269: HANDLE hSpooler
270: );
271:
272: BOOL
273: PrinterProperties(
274: HWND hWnd,
275: LPPRINTER lpPrinter
276: );
277:
278: #endif // _WINSPOOL_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.