1 | UNIT PMSpl;
|
---|
2 |
|
---|
3 | (****************************** Module Header *****************************
|
---|
4 | * *
|
---|
5 | * Module Name: PMSPL.PAS *
|
---|
6 | * *
|
---|
7 | * OS/2 Presentation Manager Spooler constants, types and function *
|
---|
8 | * declarations *
|
---|
9 | * *
|
---|
10 | * *
|
---|
11 | ***************************************************************************)
|
---|
12 |
|
---|
13 |
|
---|
14 | INTERFACE
|
---|
15 |
|
---|
16 | USES OS2Def,BseDos;
|
---|
17 |
|
---|
18 | CONST
|
---|
19 | SPL_INI_SPOOLER = 'PM_SPOOLER';
|
---|
20 | SPL_INI_QUEUE = 'PM_SPOOLER_QUEUE';
|
---|
21 | SPL_INI_PRINTER = 'PM_SPOOLER_PRINTER';
|
---|
22 | SPL_INI_PRINTERDESCR = 'PM_SPOOLER_PRINTER_DESCR';
|
---|
23 | SPL_INI_QUEUEDESCR = 'PM_SPOOLER_QUEUE_DESCR';
|
---|
24 | SPL_INI_QUEUEDD = 'PM_SPOOLER_QUEUE_DD';
|
---|
25 | SPL_INI_QUEUEDDDATA = 'PM_SPOOLER_QUEUE_DDDATA';
|
---|
26 |
|
---|
27 | /*** General SPL return values ******************************************/
|
---|
28 | SPL_ERROR = 0;
|
---|
29 | SPL_OK = 1;
|
---|
30 |
|
---|
31 | /*** handle to a spool file *********************************************/
|
---|
32 | TYPE
|
---|
33 | HSPL=ULONG; /* hspl */
|
---|
34 |
|
---|
35 | /* Used in recording of PM_Q_STD data via SplStdxxx calls */
|
---|
36 | HSTD=ULONG; /* hstd */
|
---|
37 | PHSTD=^HSTD;
|
---|
38 |
|
---|
39 | /*** spooler manager open data ******************************************/
|
---|
40 | QMOPENDATA=CSTRING;
|
---|
41 | PQMOPENDATA=^CSTRING; /* pqmdop */
|
---|
42 |
|
---|
43 |
|
---|
44 | /*** Spooler Queue Processor interface **********************************/
|
---|
45 |
|
---|
46 | CONST
|
---|
47 | /* control codes for SplQpControl */
|
---|
48 | SPLC_ABORT = 1;
|
---|
49 | SPLC_PAUSE = 2;
|
---|
50 | SPLC_CONTINUE = 3;
|
---|
51 |
|
---|
52 | /* flag defines for optional SplQpQueryFlags */
|
---|
53 | /* set this to allow spooler to bypass Queue Processor */
|
---|
54 | /* for PM_Q_RAW jobs. This allows print while a job */
|
---|
55 | /* is still spooling. */
|
---|
56 | QP_RAWDATA_BYPASS = $00000001;
|
---|
57 |
|
---|
58 | /*** handle to a spooler queue processor ********************************/
|
---|
59 | TYPE
|
---|
60 | HPROC=ULONG; /* hproc */
|
---|
61 |
|
---|
62 |
|
---|
63 | /*** spooler processor open data ****************************************/
|
---|
64 | PQPOPENDATA=^CSTRING; /* pqpdop */
|
---|
65 |
|
---|
66 |
|
---|
67 | /*** Definition for elements within the PQPOPENDATA block ***************/
|
---|
68 | CONST
|
---|
69 | QPDAT_ADDRESS =0;
|
---|
70 | QPDAT_DRIVER_NAME =1;
|
---|
71 | QPDAT_DRIVER_DATA =2;
|
---|
72 | QPDAT_DATA_TYPE =3;
|
---|
73 | QPDAT_COMMENT =4;
|
---|
74 | QPDAT_PROC_PARAMS =5;
|
---|
75 | QPDAT_SPL_PARAMS =6; /* SplQmOpen Spooler params ** */
|
---|
76 | QPDAT_NET_PARAMS =7; /* SplQmOpen Network params ** */
|
---|
77 | QPDAT_DOC_NAME =8; /* SplQmStartDoc name ** */
|
---|
78 | QPDAT_QUEUE_NAME =9; /* Queue name for job ** */
|
---|
79 | QPDAT_TOKEN =10; /* SplQmOpen token name ** */
|
---|
80 | QPDAT_JOBID =11; /* SQM job identity ** */
|
---|
81 |
|
---|
82 | TYPE
|
---|
83 | SQPOPENDATA=RECORD /* SplQpOpenData */
|
---|
84 | pszLogAddress:PChar; /* */
|
---|
85 | pszDriverName:PChar; /* */
|
---|
86 | pdriv:PDRIVDATA; /* */
|
---|
87 | pszDataType:PChar; /* */
|
---|
88 | pszComment:PChar; /* */
|
---|
89 | pszProcParams:PChar; /* */
|
---|
90 | pszSpoolParams:PChar; /* */
|
---|
91 | pszNetworkParams:PChar; /* */
|
---|
92 | pszDocName:PChar; /* */
|
---|
93 | pszQueueName:PChar; /* */
|
---|
94 | pszToken:PChar; /* */
|
---|
95 | idJobId:USHORT; /* */
|
---|
96 | END;
|
---|
97 | PSQPOPENDATA=^SQPOPENDATA; /* ptr to SQPOPENDATA */
|
---|
98 |
|
---|
99 |
|
---|
100 | /*************************************************************************
|
---|
101 | *** Error information and return codes
|
---|
102 | *************************************************************************/
|
---|
103 |
|
---|
104 | /* Error information for SplMessageBox */
|
---|
105 | CONST
|
---|
106 | SPLINFO_QPERROR = $0001;
|
---|
107 | SPLINFO_DDERROR = $0002;
|
---|
108 | SPLINFO_SPLERROR = $0004;
|
---|
109 | SPLINFO_OTHERERROR = $0080;
|
---|
110 | SPLINFO_INFORMATION = $0100;
|
---|
111 | SPLINFO_WARNING = $0200;
|
---|
112 | SPLINFO_ERROR = $0400;
|
---|
113 | SPLINFO_SEVERE = $0800;
|
---|
114 | SPLINFO_USERINTREQD = $1000;
|
---|
115 |
|
---|
116 | /* Error Data for SplMessageBox */
|
---|
117 | SPLDATA_PRINTERJAM = $0001;
|
---|
118 | SPLDATA_FORMCHGREQD = $0002;
|
---|
119 | SPLDATA_CARTCHGREQD = $0004;
|
---|
120 | SPLDATA_PENCHGREQD = $0008;
|
---|
121 | SPLDATA_DATAERROR = $0010;
|
---|
122 | SPLDATA_UNEXPECTERROR= $0020;
|
---|
123 | SPLDATA_OTHER = $8000;
|
---|
124 |
|
---|
125 | /* return code for fSplStdQueryLength */
|
---|
126 | SSQL_ERROR = -1;
|
---|
127 |
|
---|
128 | TYPE
|
---|
129 | SPLERR=ULONG;
|
---|
130 |
|
---|
131 | /* length for character arrays in structs (excluding zero terminator) */
|
---|
132 | CONST
|
---|
133 | CNLEN = 15; /* Computer name length */
|
---|
134 | UNLEN = 20; /* Maximum user name length */
|
---|
135 | QNLEN = 12; /* Queue name maximum length */
|
---|
136 | PDLEN = 8; /* Print destination length */
|
---|
137 | DTLEN = 9; /* Spool file data type */
|
---|
138 | /* e.g. PM_Q_STD,PM_Q_RAW */
|
---|
139 | QP_DATATYPE_SIZE = 15; /* returned by SplQpQueryDt */
|
---|
140 | DRIV_DEVICENAME_SIZE = 31; /* see DRIVDATA struc */
|
---|
141 | DRIV_NAME_SIZE = 8; /* name of device driver */
|
---|
142 | PRINTERNAME_SIZE = 32; /* max printer name length */
|
---|
143 | FORMNAME_SIZE = 31; /* max form name length */
|
---|
144 | MAXCOMMENTSZ = 48; /* queue comment length */
|
---|
145 |
|
---|
146 | TYPE
|
---|
147 | DRIVPROPS=RECORD /* dprop */
|
---|
148 | pszKeyName:PChar;
|
---|
149 | cbBuf:ULONG;
|
---|
150 | pBuf:POINTER;
|
---|
151 | END;
|
---|
152 | PDRIVPROPS=^DRIVPROPS;
|
---|
153 | NPDRIVPROPS=^DRIVPROPS;
|
---|
154 |
|
---|
155 | PRJINFO=RECORD /* prj1 */
|
---|
156 | uJobId:USHORT;
|
---|
157 | szUserName:CSTRING[UNLEN];
|
---|
158 | pad_1:CHAR;
|
---|
159 | szNotifyName:CSTRING[CNLEN];
|
---|
160 | szDataType:CSTRING[DTLEN];
|
---|
161 | pszParms:PChar;
|
---|
162 | uPosition:USHORT;
|
---|
163 | fsStatus:USHORT;
|
---|
164 | pszStatus:PChar;
|
---|
165 | ulSubmitted:ULONG;
|
---|
166 | ulSize:ULONG;
|
---|
167 | pszComment:PChar;
|
---|
168 | END;
|
---|
169 | PPRJINFO=^PRJINFO;
|
---|
170 | NPPRJINFO=^PRJINFO;
|
---|
171 |
|
---|
172 | PRJINFO2=RECORD /* prj2 */
|
---|
173 | uJobId:USHORT;
|
---|
174 | uPriority:USHORT;
|
---|
175 | pszUserName:PChar;
|
---|
176 | uPosition:USHORT;
|
---|
177 | fsStatus:USHORT;
|
---|
178 | ulSubmitted:ULONG;
|
---|
179 | ulSize:ULONG;
|
---|
180 | pszComment:PChar;
|
---|
181 | pszDocument:PChar;
|
---|
182 | END;
|
---|
183 | PPRJINFO2=^PRJINFO2;
|
---|
184 | NPPRJINFO2=^PRJINFO2;
|
---|
185 |
|
---|
186 | PRJINFO3=RECORD /* prj */
|
---|
187 | uJobId:USHORT;
|
---|
188 | uPriority:USHORT;
|
---|
189 | pszUserName:PChar;
|
---|
190 | uPosition:USHORT;
|
---|
191 | fsStatus:USHORT;
|
---|
192 | ulSubmitted:ULONG;
|
---|
193 | ulSize:ULONG;
|
---|
194 | pszComment:PChar;
|
---|
195 | pszDocument:PChar;
|
---|
196 | pszNotifyName:PChar;
|
---|
197 | pszDataType:PChar;
|
---|
198 | pszParms:PChar;
|
---|
199 | pszStatus:PChar;
|
---|
200 | pszQueue:PChar;
|
---|
201 | pszQProcName:PChar;
|
---|
202 | pszQProcParms:PChar;
|
---|
203 | pszDriverName:PChar;
|
---|
204 | pDriverData:PDRIVDATA;
|
---|
205 | pszPrinterName:PChar;
|
---|
206 | END;
|
---|
207 | PPRJINFO3=^PRJINFO3;
|
---|
208 | NPPRJINFO3=^PRJINFO3;
|
---|
209 |
|
---|
210 | PRDINFO=RECORD /* prd1 */
|
---|
211 | szName:CSTRING[PDLEN];
|
---|
212 | szUserName:CSTRING[UNLEN];
|
---|
213 | uJobId:USHORT;
|
---|
214 | fsStatus:USHORT;
|
---|
215 | pszStatus:PChar;
|
---|
216 | time:USHORT;
|
---|
217 | END;
|
---|
218 | PPRDINFO=^PRDINFO;
|
---|
219 | NPPRDINFO=^PRDINFO;
|
---|
220 |
|
---|
221 | PRDINFO3=RECORD /* prd */
|
---|
222 | pszPrinterName:PChar;
|
---|
223 | pszUserName:PChar;
|
---|
224 | pszLogAddr:PChar;
|
---|
225 | uJobId:USHORT;
|
---|
226 | fsStatus:USHORT;
|
---|
227 | pszStatus:PChar;
|
---|
228 | pszComment:PChar;
|
---|
229 | pszDrivers:PChar;
|
---|
230 | time:USHORT;
|
---|
231 | usTimeOut:USHORT;
|
---|
232 | END;
|
---|
233 | PPRDINFO3=^PRDINFO3;
|
---|
234 | NPPRDINFO3=^PRDINFO3;
|
---|
235 |
|
---|
236 | PRQINFO=RECORD /* prq1 */
|
---|
237 | szName:CSTRING[QNLEN];
|
---|
238 | pad_1:CHAR;
|
---|
239 | uPriority:USHORT;
|
---|
240 | uStartTime:USHORT;
|
---|
241 | uUntilTime:USHORT;
|
---|
242 | pszSepFile:PChar;
|
---|
243 | pszPrProc:PChar;
|
---|
244 | pszDestinations:PChar;
|
---|
245 | pszParms:PChar;
|
---|
246 | pszComment:PChar;
|
---|
247 | fsStatus:USHORT;
|
---|
248 | cJobs:USHORT;
|
---|
249 | END;
|
---|
250 | PPRQINFO=^PRQINFO;
|
---|
251 | NPPRQINFO=^PRQINFO;
|
---|
252 |
|
---|
253 | PRQINFO3=RECORD /* prq */
|
---|
254 | pszName:PChar;
|
---|
255 | uPriority:USHORT;
|
---|
256 | uStartTime:USHORT;
|
---|
257 | uUntilTime:USHORT;
|
---|
258 | fsType:USHORT;
|
---|
259 | pszSepFile:PChar;
|
---|
260 | pszPrProc:PChar;
|
---|
261 | pszParms:PChar;
|
---|
262 | pszComment:PChar;
|
---|
263 | fsStatus:USHORT;
|
---|
264 | cJobs:USHORT;
|
---|
265 | pszPrinters:PChar;
|
---|
266 | pszDriverName:PChar;
|
---|
267 | pDriverData:PDRIVDATA;
|
---|
268 | END;
|
---|
269 | PPRQINFO3=^PRQINFO3;
|
---|
270 | NPPRQINFO3=^PRQINFO3;
|
---|
271 |
|
---|
272 | PRQINFO6=RECORD /* prq6 */
|
---|
273 | pszName:PChar;
|
---|
274 | uPriority:USHORT;
|
---|
275 | uStartTime:USHORT;
|
---|
276 | uUntilTime:USHORT;
|
---|
277 | fsType:USHORT;
|
---|
278 | pszSepFile:PChar;
|
---|
279 | pszPrProc:PChar;
|
---|
280 | pszParms:PChar;
|
---|
281 | pszComment:PChar;
|
---|
282 | fsStatus:USHORT;
|
---|
283 | cJobs:USHORT;
|
---|
284 | pszPrinters:PChar;
|
---|
285 | pszDriverName:PChar;
|
---|
286 | pDriverData:PDRIVDATA;
|
---|
287 | pszRemoteComputerName:PChar;
|
---|
288 | pszRemoteQueueName:PChar;
|
---|
289 | END;
|
---|
290 | PPRQINFO6=^PRQINFO6;
|
---|
291 | NPPRQINFO6=^PRQINFO6;
|
---|
292 |
|
---|
293 | /*
|
---|
294 | * structure for DosPrintJobGetId
|
---|
295 | */
|
---|
296 | PRIDINFO=RECORD /* prjid */
|
---|
297 | uJobId:USHORT;
|
---|
298 | szComputerName:CSTRING[CNLEN];
|
---|
299 | szQueueName:CSTRING[QNLEN];
|
---|
300 | pad_1:CHAR;
|
---|
301 | END;
|
---|
302 | PPRIDINFO=^PRIDINFO;
|
---|
303 | NPPRIDINFO=^PRIDINFO;
|
---|
304 |
|
---|
305 | /*
|
---|
306 | * structure for DosPrintDriverEnum
|
---|
307 | */
|
---|
308 | PRDRIVINFO=RECORD /* prdid */
|
---|
309 | szDrivName:CSTRING[DRIV_NAME_SIZE+1+DRIV_DEVICENAME_SIZE];
|
---|
310 | END;
|
---|
311 | PPRDRIVINFO=^PRDRIVINFO;
|
---|
312 | NPPRDRIVINFO=^PRDRIVINFO;
|
---|
313 |
|
---|
314 | /*
|
---|
315 | * structure for DosPrintQProcessorEnum
|
---|
316 | */
|
---|
317 | PRQPROCINFO=RECORD /* prqp */
|
---|
318 | szQProcName:CSTRING[QNLEN];
|
---|
319 | END;
|
---|
320 | PPRQPROCINFO=^PRQPROCINFO;
|
---|
321 | NPPRQPROCINFO=^PRQPROCINFO;
|
---|
322 |
|
---|
323 | /*
|
---|
324 | * structure for DosPrintPortEnum Level 0
|
---|
325 | */
|
---|
326 | PRPORTINFO=RECORD /* prpo */
|
---|
327 | szPortName:CSTRING[PDLEN];
|
---|
328 | END;
|
---|
329 | PPRPORTINFO=^PRPORTINFO;
|
---|
330 | NPPRPORTINFO=^PRPORTINFO;
|
---|
331 |
|
---|
332 | /*
|
---|
333 | * structure for DosPrintPortEnum Level 1
|
---|
334 | */
|
---|
335 | PRPORTINFO1=RECORD /* prpo1 */
|
---|
336 | pszPortName :PChar;
|
---|
337 | pszPortDriverName :PChar;
|
---|
338 | pszPortDriverPathName :PChar;
|
---|
339 | END;
|
---|
340 | PPRPORTINFO1=^PRPORTINFO1;
|
---|
341 | NPPRPORTINFO1=^PRPORTINFO1;
|
---|
342 |
|
---|
343 |
|
---|
344 | /*** Values for parmnum in DosPrintQSetInfo/SplSetQueue *************/
|
---|
345 | CONST
|
---|
346 | PRQ_PRIORITY_PARMNUM = 2;
|
---|
347 | PRQ_STARTTIME_PARMNUM = 3;
|
---|
348 | PRQ_UNTILTIME_PARMNUM = 4;
|
---|
349 | PRQ_SEPARATOR_PARMNUM = 5;
|
---|
350 | PRQ_PROCESSOR_PARMNUM = 6;
|
---|
351 | PRQ_DESTINATIONS_PARMNUM = 7;
|
---|
352 | PRQ_PARMS_PARMNUM = 8;
|
---|
353 | PRQ_COMMENT_PARMNUM = 9;
|
---|
354 | PRQ_TYPE_PARMNUM = 10;
|
---|
355 | PRQ_PRINTERS_PARMNUM = 12;
|
---|
356 | PRQ_DRIVERNAME_PARMNUM = 13;
|
---|
357 | PRQ_DRIVERDATA_PARMNUM = 14;
|
---|
358 | PRQ_REMOTE_COMPUTER_PARMNUM = 15;
|
---|
359 | PRQ_REMOTE_QUEUE_PARMNUM = 16;
|
---|
360 | PRQ_MAXPARMNUM = 16;
|
---|
361 |
|
---|
362 | /*** Print Queue Priority ********************************************/
|
---|
363 | PRQ_MAX_PRIORITY = 1; /* highest priority */
|
---|
364 | PRQ_DEF_PRIORITY = 5;
|
---|
365 | PRQ_MIN_PRIORITY = 9; /* lowest priority */
|
---|
366 | PRQ_NO_PRIORITY = 0;
|
---|
367 |
|
---|
368 | /*** Print queue status bitmask and values for level 1 ***************/
|
---|
369 | PRQ_STATUS_MASK = 3;
|
---|
370 | PRQ_ACTIVE = 0;
|
---|
371 | PRQ_PAUSED = 1; /* queue is held */
|
---|
372 | PRQ_ERROR = 2;
|
---|
373 | PRQ_PENDING = 3; /* pending deletion */
|
---|
374 |
|
---|
375 | /*** Print queue status bits for level 3 *****************************/
|
---|
376 | PRQ3_PAUSED = $1; /* queue is held */
|
---|
377 | PRQ3_PENDING = $2; /* pending deletion */
|
---|
378 |
|
---|
379 | /*** Print queue type bits for level 3 *******************************/
|
---|
380 | PRQ3_TYPE_RAW = $0001; /* spools printer-specific data */
|
---|
381 | PRQ3_TYPE_BYPASS = $0002; /* allow print while spooling */
|
---|
382 | PRQ3_TYPE_APPDEFAULT= $0004; /* set for Application default Q*/
|
---|
383 |
|
---|
384 | /*** Values for parmnum in DosPrintJobSetInfo/SplSetJob **************/
|
---|
385 | PRJ_NOTIFYNAME_PARMNUM = 3;
|
---|
386 | PRJ_DATATYPE_PARMNUM = 4;
|
---|
387 | PRJ_PARMS_PARMNUM = 5;
|
---|
388 | PRJ_POSITION_PARMNUM = 6;
|
---|
389 | PRJ_JOBFILEINUSE_PARMNUM = 7;
|
---|
390 | PRJ_COMMENT_PARMNUM = 11;
|
---|
391 | PRJ_DOCUMENT_PARMNUM = 12;
|
---|
392 | PRJ_STATUSCOMMENT_PARMNUM = 13;
|
---|
393 | PRJ_PRIORITY_PARMNUM = 14;
|
---|
394 | PRJ_PROCPARMS_PARMNUM = 16;
|
---|
395 | PRJ_DRIVERDATA_PARMNUM = 18;
|
---|
396 | PRJ_MAXPARMNUM = 18;
|
---|
397 |
|
---|
398 | /*** Bitmap masks for status field of PRJINFO. ***********************/
|
---|
399 | /* 2-7 bits also used in device status */
|
---|
400 | PRJ_QSTATUS = $0003; /* Bits 0,1 */
|
---|
401 | PRJ_DEVSTATUS = $0ffc; /* 2-11 bits */
|
---|
402 | PRJ_COMPLETE = $0004; /* Bit 2 */
|
---|
403 | PRJ_INTERV = $0008; /* Bit 3 */
|
---|
404 | PRJ_ERROR = $0010; /* Bit 4 */
|
---|
405 | PRJ_DESTOFFLINE = $0020; /* Bit 5 */
|
---|
406 | PRJ_DESTPAUSED = $0040; /* Bit 6 */
|
---|
407 | PRJ_NOTIFY = $0080; /* Bit 7 */
|
---|
408 | PRJ_DESTNOPAPER = $0100; /* Bit 8 */
|
---|
409 | PRJ_DESTFORMCHG = $0200; /* BIT 9 */
|
---|
410 | PRJ_DESTCRTCHG = $0400; /* BIT 10 */
|
---|
411 | PRJ_DESTPENCHG = $0800; /* BIT 11 */
|
---|
412 | PRJ_JOBFILEINUSE= $4000; /* Bit 14 */
|
---|
413 | PRJ_DELETED = $8000; /* Bit 15 */
|
---|
414 |
|
---|
415 | /*** Values of PRJ_QSTATUS bits in fsStatus field of PRJINFO. ********/
|
---|
416 | PRJ_QS_QUEUED = 0;
|
---|
417 | PRJ_QS_PAUSED = 1;
|
---|
418 | PRJ_QS_SPOOLING = 2;
|
---|
419 | PRJ_QS_PRINTING = 3;
|
---|
420 |
|
---|
421 | /*** Print Job Priority **********************************************/
|
---|
422 | PRJ_MAX_PRIORITY = 99; /* lowest priority */
|
---|
423 | PRJ_MIN_PRIORITY = 1; /* highest priority */
|
---|
424 | PRJ_NO_PRIORITY = 0;
|
---|
425 |
|
---|
426 |
|
---|
427 | /*** Bitmap masks for status field of PRDINFO. ***********************/
|
---|
428 | PRD_STATUS_MASK = $0003; /* Bits 0,1 */
|
---|
429 | PRD_DEVSTATUS = $0ffc; /* 2-11 bits */
|
---|
430 |
|
---|
431 | /*** Values of PRD_STATUS_MASK bits in fsStatus field of PRDINFO. ****/
|
---|
432 | PRD_ACTIVE = 0;
|
---|
433 | PRD_PAUSED = 1;
|
---|
434 |
|
---|
435 | /*** Control codes used in DosPrintDestControl/SplControlDevice ******/
|
---|
436 | PRD_DELETE = 0;
|
---|
437 | PRD_PAUSE = 1;
|
---|
438 | PRD_CONT = 2;
|
---|
439 | PRD_RESTART = 3;
|
---|
440 |
|
---|
441 | /*** Values for parmnum in DosPrintDestSetInfo/SplSetDevice **********/
|
---|
442 | PRD_LOGADDR_PARMNUM = 3;
|
---|
443 | PRD_COMMENT_PARMNUM = 7;
|
---|
444 | PRD_DRIVERS_PARMNUM = 8;
|
---|
445 | PRD_TIMEOUT_PARMNUM = 10;
|
---|
446 |
|
---|
447 | /*** structure for SplEnumPrinter ************************************/
|
---|
448 | TYPE
|
---|
449 | PRINTERINFO=RECORD /* prtin */
|
---|
450 | flType:ULONG;
|
---|
451 | pszComputerName:PChar;
|
---|
452 | pszPrintDestinationName:PChar;
|
---|
453 | pszDescription:PChar;
|
---|
454 | pszLocalName:PChar;
|
---|
455 | END;
|
---|
456 | PPRINTERINFO=^PRINTERINFO;
|
---|
457 |
|
---|
458 | /*** Flags for flType in PRINTERINFO and SplEnumPrinter *************/
|
---|
459 | CONST
|
---|
460 | SPL_PR_QUEUE = $00000001; /* include queues */
|
---|
461 | SPL_PR_DIRECT_DEVICE = $00000002; /* unattached devices */
|
---|
462 | SPL_PR_QUEUED_DEVICE = $00000004; /* queued devices */
|
---|
463 | SPL_PR_LOCAL_ONLY = $00000100; /* exclude remote queues */
|
---|
464 |
|
---|
465 |
|
---|
466 | IMPORTS
|
---|
467 |
|
---|
468 | FUNCTION SplQueryDevice(CONST pszComputerName,pszPrintDeviceName:CSTRING;
|
---|
469 | ulLevel:ULONG;VAR pBuf;cbBuf:ULONG;
|
---|
470 | VAR pcbNeeded:ULONG):LONG;
|
---|
471 | APIENTRY; 'PMSPL' index 381;
|
---|
472 | FUNCTION SplQueryQueue(CONST pszComputerName,pszQueueName:CSTRING;
|
---|
473 | ulLevel:ULONG;VAR pBuf;cbBuf:ULONG;
|
---|
474 | VAR pcbNeeded:ULONG):LONG;
|
---|
475 | APIENTRY; 'PMSPL' index 397;
|
---|
476 | FUNCTION SplEnumQueue(CONST pszComputerName:CSTRING;ulLevel:ULONG;VAR pBuf;
|
---|
477 | cbBuf:ULONG;VAR pcReturned,pcTotal,pcbNeeded:ULONG;
|
---|
478 | VAR pReserved):LONG;
|
---|
479 | APIENTRY; 'PMSPL' index 399;
|
---|
480 | {FUNCTION SplQpOpen(cData:LONG;VAR pQPDataIn:QPOPENDATA):HPROC;
|
---|
481 | APIENTRY; 'PMSPL' index ******************** ;
|
---|
482 | FUNCTION SplQpPrint(ahproc:HPROC;CONST pszFileName:CSTRING):BOOL;
|
---|
483 | APIENTRY; 'PMSPL' index ******************* ;
|
---|
484 | FUNCTION SplQpClose(ahproc:HPROC):BOOL;
|
---|
485 | APIENTRY; 'PMSPL' index ******************* ;
|
---|
486 | FUNCTION SplQpControl(ahproc:HPROC;cmdCode:LONG):BOOL;
|
---|
487 | APIENTRY; 'PMSPL' index ***************** ;
|
---|
488 | FUNCTION SplQpQueryDt(VAR pcDataType:LONG;VAR paszDataTypes:CSTRING):BOOL;
|
---|
489 | APIENTRY; 'PMSPL' index ***************** ;
|
---|
490 | FUNCTION SplQpInstall(ahwnd:HWND):BOOL;
|
---|
491 | APIENTRY; 'PMSPL' index **************** ;
|
---|
492 | FUNCTION SplQpQueryFlags(VAR pulFlags:ULONG):BOOL;
|
---|
493 | APIENTRY; 'PMSPL' index **************** ;}
|
---|
494 | FUNCTION SplQmOpen(CONST pszToken:CSTRING;lCount:LONG;
|
---|
495 | VAR pqmdopData:QMOPENDATA):HSPL;
|
---|
496 | APIENTRY; 'PMSPL' index 301;
|
---|
497 | FUNCTION SplQmStartDoc(ahspl:HSPL;CONST pszDocName:CSTRING):BOOL;
|
---|
498 | APIENTRY; 'PMSPL' index 302;
|
---|
499 | FUNCTION SplQmWrite(ahspl:HSPL;lCount:LONG;VAR pData):BOOL;
|
---|
500 | APIENTRY; 'PMSPL' index 304;
|
---|
501 | FUNCTION SplQmEndDoc(ahspl:HSPL):BOOL;
|
---|
502 | APIENTRY; 'PMSPL' index 303;
|
---|
503 | FUNCTION SplQmClose(ahspl:HSPL):BOOL;
|
---|
504 | APIENTRY; 'PMSPL' index 306;
|
---|
505 | FUNCTION SplQmAbort(ahspl:HSPL):BOOL;
|
---|
506 | APIENTRY; 'PMSPL' index 305;
|
---|
507 | FUNCTION SplQmAbortDoc(ahspl:HSPL):BOOL;
|
---|
508 | APIENTRY; 'PMSPL' index 308;
|
---|
509 | FUNCTION SplMessageBox(CONST pszLogAddr:CSTRING;fErrInfo,fErrData:ULONG;
|
---|
510 | CONST pszText,pszCaption:CSTRING;
|
---|
511 | idWindow,fStyle:ULONG):ULONG;
|
---|
512 | APIENTRY; 'PMSPL' index 307;
|
---|
513 | FUNCTION PrtOpen(CONST pszDeviceName:CSTRING;VAR phDevice:HFILE;
|
---|
514 | VAR pActionTaken:ULONG;cbFileSize,uFileAttr:ULONG;
|
---|
515 | openFlag,openMode,reserved:ULONG):ULONG;
|
---|
516 | APIENTRY; 'PMSPL' index 370;
|
---|
517 | FUNCTION PrtClose(hDevice:HFILE):ULONG;
|
---|
518 | APIENTRY; 'PMSPL' index 373;
|
---|
519 | FUNCTION PrtWrite(hDevice:HFILE;VAR pchData;cbData:ULONG;
|
---|
520 | VAR pcbWritten:ULONG):ULONG;
|
---|
521 | APIENTRY; 'PMSPL' index 371;
|
---|
522 | FUNCTION PrtDevIOCtl(VAR pData;VAR pParms;uFunction,uCategory:ULONG;
|
---|
523 | hDevice:HFILE):ULONG;
|
---|
524 | APIENTRY; 'PMSPL' index 372;
|
---|
525 | PROCEDURE PrtAbort(hDevice:HFILE);
|
---|
526 | APIENTRY; 'PMSPL' index 375;
|
---|
527 | FUNCTION SplStdOpen(ahdc:HDC):BOOL;
|
---|
528 | APIENTRY; 'PMSPL' index 350;
|
---|
529 | FUNCTION SplStdClose(ahdc:HDC):BOOL;
|
---|
530 | APIENTRY; 'PMSPL' index 351;
|
---|
531 | FUNCTION SplStdStart(ahdc:HDC):BOOL;
|
---|
532 | APIENTRY; 'PMSPL' index 352;
|
---|
533 | FUNCTION SplStdStop(ahdc:HDC):HSTD;
|
---|
534 | APIENTRY; 'PMSPL' index 353;
|
---|
535 | FUNCTION SplStdDelete(hMetaFile:HSTD):BOOL;
|
---|
536 | APIENTRY; 'PMSPL' index 354;
|
---|
537 | FUNCTION SplStdGetBits(hMetaFile:HSTD;offData,cbData:LONG;VAR pchData):BOOL;
|
---|
538 | APIENTRY; 'PMSPL' index 355;
|
---|
539 | FUNCTION SplStdQueryLength(hMetaFile:HSTD):LONG;
|
---|
540 | APIENTRY; 'PMSPL' index 356;
|
---|
541 | FUNCTION SplCreateDevice(CONST pszComputerName:CSTRING;ulLevel:ULONG;
|
---|
542 | VAR pBuf;cbBuf:ULONG):SPLERR;
|
---|
543 | APIENTRY; 'PMSPL' index 401;
|
---|
544 | FUNCTION SplControlDevice(CONST pszComputerName,pszPortName:CSTRING;
|
---|
545 | ulControl:ULONG):SPLERR;
|
---|
546 | APIENTRY; 'PMSPL' index 380;
|
---|
547 | FUNCTION SplDeleteDevice(CONST pszComputerName,pszPrintDeviceName:CSTRING):SPLERR;
|
---|
548 | APIENTRY; 'PMSPL' index 403;
|
---|
549 | FUNCTION SplEnumDevice(CONST pszComputerName:CSTRING;ulLevel:ULONG;VAR pBuf;
|
---|
550 | cbBuf:ULONG;VAR pcReturned,pcTotal,pcbNeeded:ULONG;
|
---|
551 | VAR pReserved):SPLERR;
|
---|
552 | APIENTRY; 'PMSPL' index 382;
|
---|
553 | FUNCTION SplSetDevice(CONST pszComputerName,pszPrintDeviceName:CSTRING;
|
---|
554 | ulLevel:ULONG;VAR pBuf;cbBuf,ulParmNum:ULONG):SPLERR;
|
---|
555 | APIENTRY; 'PMSPL' index 402;
|
---|
556 | FUNCTION SplReleaseJob(CONST pszComputerName,pszQueueName:CSTRING;
|
---|
557 | ulJob:ULONG):SPLERR;
|
---|
558 | APIENTRY; 'PMSPL' index 384;
|
---|
559 | FUNCTION SplDeleteJob(CONST pszComputerName,pszQueueName:CSTRING;ulJob:ULONG):SPLERR;
|
---|
560 | APIENTRY; 'PMSPL' index 386;
|
---|
561 | FUNCTION SplEnumJob(CONST pszComputerName,pszQueueName:CSTRING;ulLevel:ULONG;
|
---|
562 | VAR pBuf;cbBuf:ULONG;
|
---|
563 | VAR pcReturned,pcTotal,pcbNeeded:ULONG;
|
---|
564 | VAR pReserved):SPLERR;
|
---|
565 | APIENTRY; 'PMSPL' index 392;
|
---|
566 | FUNCTION SplQueryJob(CONST pszComputerName,pszQueueName:CSTRING;
|
---|
567 | ulJob,ulLevel:ULONG;VAR pBuf;cbBuf:ULONG;
|
---|
568 | VAR pcbNeeded:ULONG):SPLERR;
|
---|
569 | APIENTRY; 'PMSPL' index 390;
|
---|
570 | FUNCTION SplHoldJob(CONST pszComputerName,pszQueueName:CSTRING;ulJob:ULONG):SPLERR;
|
---|
571 | APIENTRY; 'PMSPL' index 385;
|
---|
572 | FUNCTION SplSetJob(CONST pszComputerName,pszQueueName:CSTRING;ulJob,ulLevel:ULONG;
|
---|
573 | VAR pBuf;cbBuf,ulParmNum:ULONG):SPLERR;
|
---|
574 | APIENTRY; 'PMSPL' index 391;
|
---|
575 | FUNCTION SplCreateQueue(CONST pszComputerName:CSTRING;ulLevel:ULONG;VAR pBuf;
|
---|
576 | cbBuf:ULONG):SPLERR;
|
---|
577 | APIENTRY; 'PMSPL' index 393;
|
---|
578 | FUNCTION SplReleaseQueue(CONST pszComputerName,pszQueueName:CSTRING):SPLERR;
|
---|
579 | APIENTRY; 'PMSPL' index 395;
|
---|
580 | FUNCTION SplDeleteQueue(CONST pszComputerName,pszQueueName:CSTRING):SPLERR;
|
---|
581 | APIENTRY; 'PMSPL' index 396;
|
---|
582 | FUNCTION SplHoldQueue(CONST pszComputerName,pszQueueName:CSTRING):SPLERR;
|
---|
583 | APIENTRY; 'PMSPL' index 394;
|
---|
584 | FUNCTION SplPurgeQueue(CONST pszComputerName,pszQueueName:CSTRING):SPLERR;
|
---|
585 | APIENTRY; 'PMSPL' index 404;
|
---|
586 | FUNCTION SplSetQueue(CONST pszComputerName,pszQueueName:CSTRING;ulLevel:ULONG;
|
---|
587 | VAR pBuf;cbBuf,ulParmNum:ULONG):SPLERR;
|
---|
588 | APIENTRY; 'PMSPL' index 398;
|
---|
589 | FUNCTION SplEnumDriver(CONST pszComputerName:CSTRING;ulLevel:ULONG;VAR pBuf;
|
---|
590 | cbBuf:ULONG;VAR pcReturned,pcTotal,pcbNeeded:ULONG;
|
---|
591 | VAR pReserved):SPLERR;
|
---|
592 | APIENTRY; 'PMSPL' index 406;
|
---|
593 | FUNCTION SplEnumPort(CONST pszComputerName:CSTRING;ulLevel:ULONG;VAR pBuf;
|
---|
594 | cbBuf:ULONG;VAR pcReturned,pcTotal,pcbNeeded:ULONG;
|
---|
595 | VAR pReserved):SPLERR;
|
---|
596 | APIENTRY; 'PMSPL' index 408;
|
---|
597 | FUNCTION SplEnumQueueProcessor(CONST pszComputerName:CSTRING;ulLevel:ULONG;
|
---|
598 | VAR pBuf;cbBuf:ULONG;
|
---|
599 | VAR pcReturned,pcTotal,pcbNeeded:ULONG;
|
---|
600 | VAR pReserved):SPLERR;
|
---|
601 | APIENTRY; 'PMSPL' index 407;
|
---|
602 | FUNCTION SplEnumPrinter(CONST pszComputerName:CSTRING;uLevel,flType:ULONG;
|
---|
603 | VAR pBuf;cbbuf:ULONG;
|
---|
604 | VAR pcReturned,pcTotal,pcbNeeded:ULONG;
|
---|
605 | VAR pReserved):SPLERR;
|
---|
606 | APIENTRY; 'PMSPL' index 441;
|
---|
607 | FUNCTION SplCopyJob(CONST pszSrcComputerName,pszSrcQueueName:CSTRING;
|
---|
608 | ulSrcJob:ULONG;CONST pszTrgComputerName,
|
---|
609 | pszTrgQueueName:CSTRING;VAR pulTrgJob:ULONG):SPLERR;
|
---|
610 | APIENTRY; 'PMSPL' index 442;
|
---|
611 | END; {IMPORTS}
|
---|
612 |
|
---|
613 |
|
---|
614 |
|
---|
615 | IMPLEMENTATION
|
---|
616 |
|
---|
617 |
|
---|
618 | BEGIN
|
---|
619 | END.
|
---|