1 {****************************************************************************
2
3
4 This file is part of the Free Pascal run time library.
5 Copyright (c) 2002 by the Free Pascal development team.
6
7 OS/2 Presentation Manager spooler constants, types
8 and functions implemented in PMSPL.DLL.
9
10 See the file COPYING.FPC, included in this distribution,
11 for details about the copyright.
12
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16
17 ****************************************************************************}
18
19 unit PMSpl;
20
21 interface
22
23 {$MODE OBJFPC}
24
25 uses OS2Def;
26
27 const
28 SPL_INI_SPOOLER = 'PM_SPOOLER';
29 SPL_INI_QUEUE = 'PM_SPOOLER_QUEUE';
30 SPL_INI_PRINTER = 'PM_SPOOLER_PRINTER';
31 SPL_INI_PRINTERDESCR = 'PM_SPOOLER_PRINTER_DESCR';
32 SPL_INI_QUEUEDESCR = 'PM_SPOOLER_QUEUE_DESCR';
33 SPL_INI_QUEUEDD = 'PM_SPOOLER_QUEUE_DD';
34 SPL_INI_QUEUEDDDATA = 'PM_SPOOLER_QUEUE_DDDATA';
35
36 { General SPL return values }
37 SPL_ERROR = 0;
38 SPL_OK = 1;
39
40 type
41 { Handle to a spool file }
42 HSpl = cardinal;
43
44 { Used in recording of PM_Q_STD data via SplStdxxx calls }
45 HStd = cardinal;
46 PHStd = ^HStd;
47
48 { Spooler manager open data }
49 QMOpenData = PChar;
50 PQMOpenData = ^PChar;
51
52 { Spooler Queue Processor interface }
53
54 const
55 { Control codes for SplQpControl }
56 SPLC_ABORT = 1;
57 SPLC_PAUSE = 2;
58 SPLC_CONTINUE = 3;
59
60 { Flag defines for optional SplQpQueryFlags }
61 { Set this to allow spooler to bypass Queue Processor for PM_Q_Raw
62 jobs. This allows print while a job is still spooling. }
63 QP_RawData_Bypass = $00000001;
64
65 type
66 { Handle to a spooler queue processor }
67 HProc = cardinal;
68
69 PQPOpenData = ^PChar;
70
71 const
72 { Definition for elements within the PQPOpenData block }
73 QPDAT_ADDRESS = 0;
74 QPDAT_DRIVER_NAME = 1;
75 QPDAT_DRIVER_DATA = 2;
76 QPDAT_DATA_TYPE = 3;
77 QPDAT_COMMENT = 4;
78 QPDAT_PROC_PARAMS = 5;
79 QPDAT_SPL_PARAMS = 6; { SplQmOpen Spooler params }
80 QPDAT_NET_PARAMS = 7; { SplQmOpen Network params }
81 QPDAT_DOC_NAME = 8; { SplQmStartDoc name }
82 QPDAT_QUEUE_NAME = 9; { Queue name for job }
83 QPDAT_TOKEN = 10; { SplQmOpen token name }
84 QPDAT_JOBID = 11; { SQM job identity }
85
86 type
87 TSQPOpenData = record
88 pszLogAddress: PChar;
89 pszDriverName: PChar;
90 pdriv: PDrivData;
91 pszDataType: PChar;
92 pszComment: PChar;
93 pszProcParams: PChar;
94 pszSpoolParams: PChar;
95 pszNetworkParams: PChar;
96 pszDocName: PChar;
97 pszQueueName: PChar;
98 pszToken: PChar;
99 idJobId: word;
100 end;
101 PSQPOpenData = ^TSQPOpenData;
102 SQPOpenData = TSQPOpenData;
103
104 { Error information and return codes }
105 const
106 { Error information for SplMessageBox }
107 SPLINFO_QPERROR = $0001;
108 SPLINFO_DDERROR = $0002;
109 SPLINFO_SPLERROR = $0004;
110 SPLINFO_OTHERERROR = $0080;
111 SPLINFO_INFORMATION = $0100;
112 SPLINFO_WARNING = $0200;
113 SPLINFO_ERROR = $0400;
114 SPLINFO_SEVERE = $0800;
115 SPLINFO_USERINTREQD = $1000;
116
117 { Error Data for SplMessageBox }
118 SPLDATA_PRINTERJAM = $0001;
119 SPLDATA_FORMCHGREQD = $0002;
120 SPLDATA_CARTCHGREQD = $0004;
121 SPLDATA_PENCHGREQD = $0008;
122 SPLDATA_DATAERROR = $0010;
123 SPLDATA_UNEXPECTERROR= $0020;
124 SPLDATA_OTHER = $8000;
125
126 { Return code for fSplStdQueryLength }
127 SSQL_ERROR = -1;
128
129 type
130 SPLERR = cardinal;
131
132 const
133 { length for character arrays in structs (excluding zero terminator) }
134 CNLEN = 15; { Computer name length }
135 UNLEN = 20; { Maximum user name length }
136 QNLEN = 12; { Queue name maximum length }
137 PDLEN = 8; { Print destination length }
138 DTLEN = 9; { Spool file data type }
139 { e.g. PM_Q_STD,PM_Q_RAW }
140 QP_DATATYPE_SIZE = 15; { returned by SplQpQueryDt }
141 DRIV_DEVICENAME_SIZE = 31; { see DRIVDATA struc }
142 DRIV_NAME_SIZE = 8; { name of device driver }
143 PRINTERNAME_SIZE = 32; { max printer name length }
144 FORMNAME_SIZE = 31; { max form name length }
145 MAXCOMMENTSZ = 48; { queue comment length }
146
147 type
148 TDrivProps = record
149 pszKeyName: PChar;
150 cbBuf: cardinal;
151 pBuf: pointer;
152 end;
153 PDrivProps =^TDrivProps;
154 DrivProps = TDrivProps;
155 NPDrivProps = ^DrivProps;
156
157 TPrJInfo = record
158 uJobId: word;
159 szUserName: array [0..UNLen] of char;
160 pad_1: char;
161 szNotifyName: array [0..CNLen] of char;
162 szDataType: array [0..DTLen] of char;
163 pszParms: PChar;
164 uPosition: word;
165 fsStatus: word;
166 pszStatus: PChar;
167 ulSubmitted: cardinal;
168 ulSize: cardinal;
169 pszComment: PChar;
170 end;
171 PPrJInfo = ^TPrJInfo;
172 PrJInfo = TPrJInfo;
173 NPPrJInfo = ^TPrJInfo;
174
175 TPrJInfo2 = record
176 uJobId: word;
177 uPriority: word;
178 pszUserName: PChar;
179 uPosition: word;
180 fsStatus: word;
181 ulSubmitted: cardinal;
182 ulSize: cardinal;
183 pszComment: PChar;
184 pszDocument: PChar;
185 end;
186 PPrJInfo2 = ^TPrJInfo2;
187 PrJInfo2 = TPrJInfo2;
188 NPPrJInfo2 = ^TPrJInfo2;
189
190 TPrJInfo3 = record
191 uJobId: word;
192 uPriority: word;
193 pszUserName: PChar;
194 uPosition: word;
195 fsStatus: word;
196 ulSubmitted: cardinal;
197 ulSize: cardinal;
198 pszComment: PChar;
199 pszDocument: PChar;
200 pszNotifyName: PChar;
201 pszDataType: PChar;
202 pszParms: PChar;
203 pszStatus: PChar;
204 pszQueue: PChar;
205 pszQProcName: PChar;
206 pszQProcParms: PChar;
207 pszDriverName: PChar;
208 pDriverData: PDrivData;
209 pszPrinterName: PChar;
210 end;
211 PPrJInfo3 = ^TPrJInfo3;
212 PrJInfo3 = TPrJInfo3;
213 NPPrJInfo3 = ^TPrJInfo3;
214
215 TPrDInfo = record
216 szName: array [0..PDLen] of char;
217 szUserName: array [0..UNLen] of char;
218 uJobId: word;
219 fsStatus: word;
220 pszStatus: PChar;
221 time: word;
222 end;
223 PPrDInfo = ^TPrDInfo;
224 PrDInfo = TPrDInfo;
225 NPPrDInfo = ^TPrDInfo;
226
227 TPrDInfo3 = record
228 pszPrinterName: PChar;
229 pszUserName: PChar;
230 pszLogAddr: PChar;
231 uJobId: word;
232 fsStatus: word;
233 pszStatus: PChar;
234 pszComment: PChar;
235 pszDrivers: PChar;
236 time: word;
237 usTimeOut: word;
238 end;
239 PPrDInfo3 = ^TPrDInfo3;
240 PrDInfo3 = TPrDInfo3;
241 NPPrDInfo3 = ^TPrDInfo3;
242
243 TPrQInfo = record
244 szName: array [0..QNLen] of char;
245 pad_1: char;
246 uPriority: word;
247 uStartTime: word;
248 uUntilTime: word;
249 pszSepFile: PChar;
250 pszPrProc: PChar;
251 pszDestinations: PChar;
252 pszParms: PChar;
253 pszComment: PChar;
254 fsStatus: word;
255 cJobs: word;
256 end;
257 PPrQInfo = ^TPrQInfo;
258 PrQInfo = TPrQInfo;
259 NPPrQInfo = ^TPrQInfo;
260
261 TPrQInfo3 = record
262 pszName: PChar;
263 uPriority: word;
264 uStartTime: word;
265 uUntilTime: word;
266 fsType: word;
267 pszSepFile: PChar;
268 pszPrProc: PChar;
269 pszParms: PChar;
270 pszComment: PChar;
271 fsStatus: word;
272 cJobs: word;
273 pszPrinters: PChar;
274 pszDriverName: PChar;
275 pDriverData: PDrivData;
276 end;
277 PPrQInfo3 = ^TPrQInfo3;
278 PrQInfo3 = TPrQInfo3;
279 NPPrQInfo3 = ^TPrQInfo3;
280
281 TPrQInfo6 = record
282 pszName: PChar;
283 uPriority: word;
284 uStartTime: word;
285 uUntilTime: word;
286 fsType: word;
287 pszSepFile: PChar;
288 pszPrProc: PChar;
289 pszParms: PChar;
290 pszComment: PChar;
291 fsStatus: word;
292 cJobs: word;
293 pszPrinters: PChar;
294 pszDriverName: PChar;
295 pDriverData: PDrivData;
296 pszRemoteComputerName: PChar;
297 pszRemoteQueueName: PChar;
298 end;
299 PPrQInfo6 = ^TPrQInfo6;
300 PrQInfo6 = TPrQInfo6;
301 NPPrQInfo6 = ^TPrQInfo6;
302
303 { Structure for DosPrintJobGetId }
304 TPrIDInfo = record
305 uJobId: word;
306 szComputerName: array [0..CNLen] of char;
307 szQueueName: array [0..QNLen] of char;
308 pad_1: char;
309 end;
310 PPrIDInfo = ^TPrIDInfo;
311 PrIDInfo = TPrIDInfo;
312 NPPrIDInfo = ^TPrIDInfo;
313
314 { Structure for DosPrintDriverEnum }
315 TPrDrivInfo = record
316 szDrivName: array [0..Driv_Name_Size+1+Driv_DeviceName_Size] of char;
317 end;
318 PPrDrivInfo = ^TPrDrivInfo;
319 PrDrivInfo = TPrDrivInfo;
320 NPPrDrivInfo = ^TPrDrivInfo;
321
322 { Structure for DosPrintQProcessorEnum }
323 TPrQProcInfo = record
324 szQProcName: array [0..QNLen] of char;
325 end;
326 PPrQProcInfo = ^TPrQProcInfo;
327 PrQProcInfo = TPrQProcInfo;
328 NPPrQProcInfo = ^TPrQProcInfo;
329
330 { Structure for DosPrintPortEnum Level 0 }
331 TPrPortInfo = record
332 szPortName: array [0..PDLen] of char;
333 end;
334 PPrPortInfo = ^TPrPortInfo;
335 PrPortInfo = TPrPortInfo;
336 NPPrPortInfo = ^TPrPortInfo;
337
338 { Structure for DosPrintPortEnum Level 1 }
339 TPrPortInfo1 = record
340 pszPortName : PChar;
341 pszPortDriverName : PChar;
342 pszPortDriverPathName : PChar;
343 end;
344 PPrPortInfo1 = ^TPrPortInfo1;
345 PrPortInfo1 = TPrPortInfo1;
346 NPPrPortInfo1 = ^TPrPortInfo1;
347
348
349 const
350 { Values for parmnum in DosPrintQSetInfo/SplSetQueue }
351 PRQ_PRIORITY_PARMNUM = 2;
352 PRQ_STARTTIME_PARMNUM = 3;
353 PRQ_UNTILTIME_PARMNUM = 4;
354 PRQ_SEPARATOR_PARMNUM = 5;
355 PRQ_PROCESSOR_PARMNUM = 6;
356 PRQ_DESTINATIONS_PARMNUM = 7;
357 PRQ_PARMS_PARMNUM = 8;
358 PRQ_COMMENT_PARMNUM = 9;
359 PRQ_TYPE_PARMNUM = 10;
360 PRQ_PRINTERS_PARMNUM = 12;
361 PRQ_DRIVERNAME_PARMNUM = 13;
362 PRQ_DRIVERDATA_PARMNUM = 14;
363 PRQ_REMOTE_COMPUTER_PARMNUM = 15;
364 PRQ_REMOTE_QUEUE_PARMNUM = 16;
365 PRQ_MAXPARMNUM = 16;
366
367 { Print queue priority }
368 PRQ_MAX_PRIORITY = 1; { highest priority }
369 PRQ_DEF_PRIORITY = 5; { default priority }
370 PRQ_MIN_PRIORITY = 9; { lowest priority }
371 PRQ_NO_PRIORITY = 0;
372
373 { Print queue status bitmask and values for level 1 }
374 PRQ_STATUS_MASK = 3;
375 PRQ_ACTIVE = 0;
376 PRQ_PAUSED = 1; { queue is held }
377 PRQ_ERROR = 2;
378 PRQ_PENDING = 3; { pending deletion }
379
380 { Print queue status bits for level 3 }
381 PRQ3_PAUSED = 1; { queue is held }
382 PRQ3_PENDING = 2; { pending deletion }
383
384 { Print queue type bits for level 3 }
385 PRQ3_TYPE_RAW = 1; { spools printer-specific data }
386 PRQ3_TYPE_BYPASS = 2; { allow print while spooling }
387 PRQ3_TYPE_APPDEFAULT = 4; { set for application }
388 { default queue }
389
390 { Values for parmnum in DosPrintJobSetInfo/SplSetJob }
391 PRJ_NOTIFYNAME_PARMNUM = 3;
392 PRJ_DATATYPE_PARMNUM = 4;
393 PRJ_PARMS_PARMNUM = 5;
394 PRJ_POSITION_PARMNUM = 6;
395 PRJ_JOBFILEINUSE_PARMNUM = 7;
396 PRJ_COMMENT_PARMNUM = 11;
397 PRJ_DOCUMENT_PARMNUM = 12;
398 PRJ_STATUSCOMMENT_PARMNUM = 13;
399 PRJ_PRIORITY_PARMNUM = 14;
400 PRJ_PROCPARMS_PARMNUM = 16;
401 PRJ_DRIVERDATA_PARMNUM = 18;
402 PRJ_MAXPARMNUM = 18;
403
404 { Bitmap masks for status field of TPrJInfo }
405 { Bits 2-7 also used in device status }
406 PRJ_QSTATUS = $0003; { bits 0,1 }
407 PRJ_DEVSTATUS = $0ffc; { bits 2-11 }
408 PRJ_COMPLETE = $0004; { bit 2 }
409 PRJ_INTERV = $0008; { bit 3 }
410 PRJ_ERROR = $0010; { bit 4 }
411 PRJ_DESTOFFLINE = $0020; { bit 5 }
412 PRJ_DESTPAUSED = $0040; { bit 6 }
413 PRJ_NOTIFY = $0080; { bit 7 }
414 PRJ_DESTNOPAPER = $0100; { bit 8 }
415 PRJ_DESTFORMCHG = $0200; { bit 9 }
416 PRJ_DESTCRTCHG = $0400; { bit 10 }
417 PRJ_DESTPENCHG = $0800; { bit 11 }
418 PRJ_JOBFILEINUSE = $4000; { bit 14 }
419 PRJ_DELETED = $8000; { bit 15 }
420
421 { Values of PRJ_QSTATUS bits in fsStatus field of TPrJInfo }
422 PRJ_QS_QUEUED = 0;
423 PRJ_QS_PAUSED = 1;
424 PRJ_QS_SPOOLING = 2;
425 PRJ_QS_PRINTING = 3;
426
427 { Print Job Priority }
428 PRJ_MAX_PRIORITY = 99; { lowest priority }
429 PRJ_MIN_PRIORITY = 1; { highest priority }
430 PRJ_NO_PRIORITY = 0;
431
432 { Bitmap masks for status field of TPrDInfo }
433 PRD_STATUS_MASK = $0003; { bits 0,1 }
434 PRD_DEVSTATUS = $0ffc; { bits 2-11 }
435
436 { Values of PRD_STATUS_MASK bits in fsStatus field of TPrDInfo }
437 PRD_ACTIVE = 0;
438 PRD_PAUSED = 1;
439
440 { Control codes used in DosPrintDestControl/SplControlDevice }
441 PRD_DELETE = 0;
442 PRD_PAUSE = 1;
443 PRD_CONT = 2;
444 PRD_RESTART = 3;
445
446 { Values for parmnum in DosPrintDestSetInfo/SplSetDevice }
447 PRD_LOGADDR_PARMNUM = 3;
448 PRD_COMMENT_PARMNUM = 7;
449 PRD_DRIVERS_PARMNUM = 8;
450 PRD_TIMEOUT_PARMNUM = 10;
451
452 type
453 { Structure for SplEnumPrinter }
454 TPrinterInfo = record
455 fltype: cardinal;
456 pszComputerName: PChar;
457 pszPrintDestinationName: PChar;
458 pszDescription: PChar;
459 pszLocalName: PChar;
460 end;
461 PrinterInfo = TPrinterInfo;
462 PPrinterInfo = ^TPrinterInfo;
463
464 const
465 { Flags for fltype in PRINTERINFO and SplEnumPrinter }
466 SPL_PR_QUEUE = $00000001; { include queues }
467 SPL_PR_DIRECT_DEVICE = $00000002; { unattached devices }
468 SPL_PR_QUEUED_DEVICE = $00000004; { queued devices }
469 SPL_PR_LOCAL_ONLY = $00000100; { exclude remote queues }
470
471
SplQueryDevicenull472 function SplQueryDevice (const pszComputerName, pszPrintDeviceName: PChar;
473 ulLevel: cardinal; var pBuf; cbBuf: cardinal;
474 var pcbNeeded: cardinal): longint; cdecl;
475
SplQueryQueuenull476 function SplQueryQueue (const pszComputerName, pszQueueName: PChar;
477 ulLevel: cardinal; var pBuf; cbBuf: cardinal;
478 var pcbNeeded: cardinal): longint; cdecl;
479
SplEnumQueuenull480 function SplEnumQueue (const pszComputerName: PChar; ulLevel: cardinal;
481 var pBuf; cbBuf: cardinal; var pcReturned, pcTotal, pcbNeeded: cardinal;
482 var pReserved): longint; cdecl;
483
SplQmOpennull484 function SplQmOpen (const pszToken: PChar; lCount: longint;
485 var pqmdopData: PChar): cardinal; cdecl;
486
SplQmStartDocnull487 function SplQmStartDoc (ahspl: cardinal; const pszDocName: PChar): longbool;
488 cdecl;
489
SplQmWritenull490 function SplQmWrite (ahspl: cardinal; lCount: longint; var pData): longbool;
491 cdecl;
492
SplQmEndDocnull493 function SplQmEndDoc (ahspl: cardinal): longbool; cdecl;
494
SplQmClosenull495 function SplQmClose(ahspl: cardinal): longbool; cdecl;
496
SplQmAbortnull497 function SplQmAbort(ahspl: cardinal): longbool; cdecl;
498
SplQmAbortDocnull499 function SplQmAbortDoc (ahspl: cardinal): longbool; cdecl;
500
SplMessageBoxnull501 function SplMessageBox (const pszLogAddr: PChar; fErrInfo, fErrData: cardinal;
502 const pszText, pszCaption: PChar;
503 idWindow, fStyle: cardinal): cardinal; cdecl;
504
PrtOpennull505 function PrtOpen (const pszDeviceName: PChar; var phDevice: cardinal;
506 var pActionTaken: cardinal;cbFileSize,uFileAttr: cardinal;
507 openFlag,openMode,reserved: cardinal): cardinal;
508 cdecl;
509
PrtClosenull510 function PrtClose (hDevice: cardinal): cardinal; cdecl;
511
PrtWritenull512 function PrtWrite (hDevice: cardinal; var pchData; cbData: cardinal;
513 var pcbWritten: cardinal): cardinal; cdecl;
514
PrtDevIOCtlnull515 function PrtDevIOCtl (var pData; var pParms; ufunction, uCategory: cardinal;
516 hDevice: cardinal): cardinal; cdecl;
517
518 procedure PrtAbort (hDevice: cardinal); cdecl;
519
SplStdOpennull520 function SplStdOpen (ahdc: cardinal): longbool; cdecl;
521
SplStdClosenull522 function SplStdClose (ahdc: cardinal): longbool; cdecl;
523
SplStdStartnull524 function SplStdStart(ahdc: cardinal): longbool; cdecl;
525
SplStdStopnull526 function SplStdStop (ahdc: cardinal): cardinal; cdecl;
527
SplStdDeletenull528 function SplStdDelete (hMetaFile: cardinal): longbool; cdecl;
529
SplStdGetBitsnull530 function SplStdGetBits (hMetaFile: cardinal; offData, cbData: longint;
531 var pchData): longbool; cdecl;
532
SplStdQueryLengthnull533 function SplStdQueryLength (hMetaFile: cardinal): longint; cdecl;
534
SplCreateDevicenull535 function SplCreateDevice (const pszComputerName: PChar;ulLevel: cardinal;
536 var pBuf; cbBuf: cardinal): cardinal; cdecl;
537
SplControlDevicenull538 function SplControlDevice (const pszComputerName, pszPortName: PChar;
539 ulControl: cardinal): cardinal; cdecl;
540
SplDeleteDevicenull541 function SplDeleteDevice (const pszComputerName,
542 pszPrintDeviceName: PChar): cardinal; cdecl;
543
SplEnumDevicenull544 function SplEnumDevice (const pszComputerName: PChar; ulLevel: cardinal;
545 var pBuf; cbBuf: cardinal; var pcReturned, pcTotal, pcbNeeded: cardinal;
546 var pReserved): cardinal; cdecl;
547
SplSetDevicenull548 function SplSetDevice (const pszComputerName, pszPrintDeviceName: PChar;
549 ulLevel: cardinal; var pBuf; cbBuf, ulParmNum: cardinal): cardinal; cdecl;
550
SplReleaseJobnull551 function SplReleaseJob (const pszComputerName, pszQueueName: PChar;
552 ulJob: cardinal): cardinal; cdecl;
553
SplDeleteJobnull554 function SplDeleteJob (const pszComputerName, pszQueueName: PChar;
555 ulJob: cardinal): cardinal; cdecl;
556
SplEnumJobnull557 function SplEnumJob (const pszComputerName, pszQueueName: PChar;
558 ulLevel: cardinal; var pBuf;cbBuf: cardinal;
559 var pcReturned, pcTotal, pcbNeeded: cardinal;
560 var pReserved): cardinal; cdecl;
561
SplQueryJobnull562 function SplQueryJob (const pszComputerName, pszQueueName: PChar;
563 ulJob, ulLevel: cardinal; var pBuf; cbBuf: cardinal;
564 var pcbNeeded: cardinal): cardinal; cdecl;
565
SplHoldJobnull566 function SplHoldJob (const pszComputerName, pszQueueName: PChar;
567 ulJob: cardinal): cardinal; cdecl;
568
SplSetJobnull569 function SplSetJob (const pszComputerName, pszQueueName: PChar;
570 ulJob, ulLevel: cardinal; var pBuf;
571 cbBuf, ulParmNum: cardinal): cardinal; cdecl;
572
SplCreateQueuenull573 function SplCreateQueue (const pszComputerName: PChar; ulLevel: cardinal;
574 var pBuf; cbBuf: cardinal): cardinal; cdecl;
575
SplReleaseQueuenull576 function SplReleaseQueue (const pszComputerName,
577 pszQueueName: PChar): cardinal; cdecl;
578
SplDeleteQueuenull579 function SplDeleteQueue (const pszComputerName, pszQueueName: PChar): cardinal;
580 cdecl;
581
SplHoldQueuenull582 function SplHoldQueue (const pszComputerName, pszQueueName: PChar): cardinal;
583 cdecl;
584
SplPurgeQueuenull585 function SplPurgeQueue (const pszComputerName, pszQueueName: PChar): cardinal;
586 cdecl;
587
SplSetQueuenull588 function SplSetQueue (const pszComputerName, pszQueueName: PChar;
589 ulLevel: cardinal; var pBuf;cbBuf,ulParmNum: cardinal): cardinal; cdecl;
590
SplEnumDrivernull591 function SplEnumDriver (const pszComputerName: PChar; ulLevel: cardinal;
592 var pBuf; cbBuf: cardinal; var pcReturned,pcTotal,pcbNeeded: cardinal;
593 var pReserved): cardinal; cdecl;
594
SplEnumPortnull595 function SplEnumPort (const pszComputerName: PChar; ulLevel: cardinal;
596 var pBuf; cbBuf: cardinal; var pcReturned, pcTotal, pcbNeeded: cardinal;
597 var pReserved): cardinal; cdecl;
598
SplEnumQueueProcessornull599 function SplEnumQueueProcessor (const pszComputerName: PChar;
600 ulLevel: cardinal; var pBuf; cbBuf: cardinal; var pcReturned, pcTotal,
601 pcbNeeded: cardinal; var pReserved): cardinal; cdecl;
602
SplEnumPrinternull603 function SplEnumPrinter (const pszComputerName: PChar;
604 uLevel, fltype: cardinal; var pBuf; cbbuf: cardinal; var pcReturned,
605 pcTotal, pcbNeeded: cardinal; var pReserved): cardinal; cdecl;
606
SplCopyJobnull607 function SplCopyJob (const pszSrcComputerName, pszSrcQueueName: PChar;
608 ulSrcJob: cardinal; const pszTrgComputerName, pszTrgQueueName: PChar;
609 var pulTrgJob: cardinal): cardinal; cdecl;
610
611
612 implementation
613
SplQueryDevicenull614 function SplQueryDevice (const pszComputerName, pszPrintDeviceName: PChar;
615 ulLevel: cardinal; var pBuf; cbBuf: cardinal;
616 var pcbNeeded: cardinal): longint;
617 cdecl; external 'PMSPL' index 381;
618
SplQueryQueuenull619 function SplQueryQueue (const pszComputerName, pszQueueName: PChar;
620 ulLevel: cardinal; var pBuf; cbBuf: cardinal;
621 var pcbNeeded: cardinal): longint;
622 cdecl; external 'PMSPL' index 397;
623
SplEnumQueuenull624 function SplEnumQueue (const pszComputerName: PChar; ulLevel: cardinal;
625 var pBuf; cbBuf: cardinal; var pcReturned, pcTotal, pcbNeeded: cardinal;
626 var pReserved): longint; cdecl; external 'PMSPL' index 399;
627
SplQmOpennull628 function SplQmOpen (const pszToken: PChar; lCount: longint;
629 var pqmdopData: PChar): cardinal; cdecl; external 'PMSPL' index 301;
630
SplQmStartDocnull631 function SplQmStartDoc (ahspl: cardinal; const pszDocName: PChar): longbool;
632 cdecl; external 'PMSPL' index 302;
633
SplQmWritenull634 function SplQmWrite (ahspl: cardinal; lCount: longint; var pData): longbool;
635 cdecl; external 'PMSPL' index 304;
636
SplQmEndDocnull637 function SplQmEndDoc (ahspl: cardinal): longbool;
638 cdecl; external 'PMSPL' index 303;
639
SplQmClosenull640 function SplQmClose (ahspl: cardinal): longbool;
641 cdecl; external 'PMSPL' index 306;
642
SplQmAbortnull643 function SplQmAbort (ahspl: cardinal): longbool;
644 cdecl; external 'PMSPL' index 305;
645
SplQmAbortDocnull646 function SplQmAbortDoc (ahspl: cardinal): longbool;
647 cdecl; external 'PMSPL' index 308;
648
SplMessageBoxnull649 function SplMessageBox (const pszLogAddr: PChar; fErrInfo, fErrData: cardinal;
650 const pszText, pszCaption: PChar; idWindow, fStyle: cardinal): cardinal;
651 cdecl; external 'PMSPL' index 307;
652
PrtOpennull653 function PrtOpen (const pszDeviceName: PChar; var phDevice: cardinal;
654 var pActionTaken: cardinal; cbFileSize, uFileAttr: cardinal;
655 openFlag, openMode, reserved: cardinal): cardinal;
656 cdecl; external 'PMSPL' index 370;
657
PrtClosenull658 function PrtClose (hDevice: cardinal): cardinal;
659 cdecl; external 'PMSPL' index 373;
660
PrtWritenull661 function PrtWrite (hDevice: cardinal; var pchData; cbData: cardinal;
662 var pcbWritten: cardinal): cardinal; cdecl; external 'PMSPL' index 371;
663
PrtDevIOCtlnull664 function PrtDevIOCtl (var pData; var pParms; ufunction, uCategory: cardinal;
665 hDevice: cardinal): cardinal; cdecl; external 'PMSPL' index 372;
666
667 procedure PrtAbort (hDevice: cardinal); cdecl; external 'PMSPL' index 375;
668
SplStdOpennull669 function SplStdOpen (ahdc: cardinal): longbool;
670 cdecl; external 'PMSPL' index 350;
671
SplStdClosenull672 function SplStdClose (ahdc: cardinal): longbool;
673 cdecl; external 'PMSPL' index 351;
674
SplStdStartnull675 function SplStdStart (ahdc: cardinal): longbool;
676 cdecl; external 'PMSPL' index 352;
677
SplStdStopnull678 function SplStdStop (ahdc: cardinal): cardinal;
679 cdecl; external 'PMSPL' index 353;
680
SplStdDeletenull681 function SplStdDelete (hMetaFile: cardinal): longbool;
682 cdecl; external 'PMSPL' index 354;
683
SplStdGetBitsnull684 function SplStdGetBits (hMetaFile: cardinal; offData, cbData: longint;
685 var pchData): longbool; cdecl; external 'PMSPL' index 355;
686
SplStdQueryLengthnull687 function SplStdQueryLength (hMetaFile: cardinal): longint;
688 cdecl; external 'PMSPL' index 356;
689
SplCreateDevicenull690 function SplCreateDevice (const pszComputerName: PChar; ulLevel: cardinal;
691 var pBuf; cbBuf: cardinal): cardinal; cdecl; external 'PMSPL' index 401;
692
SplControlDevicenull693 function SplControlDevice (const pszComputerName, pszPortName: PChar;
694 ulControl: cardinal): cardinal; cdecl; external 'PMSPL' index 380;
695
SplDeleteDevicenull696 function SplDeleteDevice (const pszComputerName,
697 pszPrintDeviceName: PChar): cardinal; cdecl; external 'PMSPL' index 403;
698
SplEnumDevicenull699 function SplEnumDevice (const pszComputerName: PChar; ulLevel: cardinal;
700 var pBuf; cbBuf: cardinal; var pcReturned,pcTotal,pcbNeeded: cardinal;
701 var pReserved): cardinal; cdecl; external 'PMSPL' index 382;
702
SplSetDevicenull703 function SplSetDevice (const pszComputerName, pszPrintDeviceName: PChar;
704 ulLevel: cardinal; var pBuf; cbBuf, ulParmNum: cardinal): cardinal;
705 cdecl; external 'PMSPL' index 402;
706
SplReleaseJobnull707 function SplReleaseJob (const pszComputerName, pszQueueName: PChar;
708 ulJob: cardinal): cardinal; cdecl; external 'PMSPL' index 384;
709
SplDeleteJobnull710 function SplDeleteJob (const pszComputerName, pszQueueName: PChar;
711 ulJob: cardinal): cardinal; cdecl; external 'PMSPL' index 386;
712
SplEnumJobnull713 function SplEnumJob (const pszComputerName, pszQueueName: PChar;
714 ulLevel: cardinal; var pBuf; cbBuf: cardinal;
715 var pcReturned, pcTotal, pcbNeeded: cardinal;
716 var pReserved): cardinal; cdecl; external 'PMSPL' index 392;
717
SplQueryJobnull718 function SplQueryJob (const pszComputerName, pszQueueName: PChar;
719 ulJob, ulLevel: cardinal; var pBuf; cbBuf: cardinal;
720 var pcbNeeded: cardinal): cardinal; cdecl; external 'PMSPL' index 390;
721
SplHoldJobnull722 function SplHoldJob (const pszComputerName, pszQueueName: PChar;
723 ulJob: cardinal): cardinal; cdecl; external 'PMSPL' index 385;
724
SplSetJobnull725 function SplSetJob (const pszComputerName, pszQueueName: PChar;
726 ulJob, ulLevel: cardinal; var pBuf;cbBuf,ulParmNum: cardinal): cardinal;
727 cdecl; external 'PMSPL' index 391;
728
SplCreateQueuenull729 function SplCreateQueue (const pszComputerName: PChar; ulLevel: cardinal;
730 var pBuf; cbBuf: cardinal): cardinal; cdecl; external 'PMSPL' index 393;
731
SplReleaseQueuenull732 function SplReleaseQueue (const pszComputerName,
733 pszQueueName: PChar): cardinal; cdecl; external 'PMSPL' index 395;
734
SplDeleteQueuenull735 function SplDeleteQueue (const pszComputerName, pszQueueName: PChar): cardinal;
736 cdecl; external 'PMSPL' index 396;
737
SplHoldQueuenull738 function SplHoldQueue (const pszComputerName, pszQueueName: PChar): cardinal;
739 cdecl; external 'PMSPL' index 394;
740
SplPurgeQueuenull741 function SplPurgeQueue (const pszComputerName, pszQueueName: PChar): cardinal;
742 cdecl; external 'PMSPL' index 404;
743
SplSetQueuenull744 function SplSetQueue (const pszComputerName, pszQueueName: PChar;
745 ulLevel: cardinal; var pBuf;cbBuf,ulParmNum: cardinal): cardinal;
746 cdecl; external 'PMSPL' index 398;
747
SplEnumDrivernull748 function SplEnumDriver (const pszComputerName: PChar; ulLevel: cardinal;
749 var pBuf; cbBuf: cardinal; var pcReturned, pcTotal, pcbNeeded: cardinal;
750 var pReserved): cardinal; cdecl; external 'PMSPL' index 406;
751
SplEnumPortnull752 function SplEnumPort (const pszComputerName: PChar; ulLevel: cardinal;
753 var pBuf; cbBuf: cardinal; var pcReturned,pcTotal,pcbNeeded: cardinal;
754 var pReserved): cardinal; cdecl; external 'PMSPL' index 408;
755
SplEnumQueueProcessornull756 function SplEnumQueueProcessor (const pszComputerName: PChar;ulLevel: cardinal;
757 var pBuf; cbBuf: cardinal; var pcReturned, pcTotal, pcbNeeded: cardinal;
758 var pReserved): cardinal; cdecl; external 'PMSPL' index 407;
759
SplEnumPrinternull760 function SplEnumPrinter (const pszComputerName: PChar;uLevel, fltype: cardinal;
761 var pBuf; cbbuf: cardinal; var pcReturned, pcTotal, pcbNeeded: cardinal;
762 var pReserved): cardinal; cdecl; external 'PMSPL' index 441;
763
SplCopyJobnull764 function SplCopyJob (const pszSrcComputerName, pszSrcQueueName: PChar;
765 ulSrcJob: cardinal; const pszTrgComputerName, pszTrgQueueName: PChar;
766 var pulTrgJob: cardinal): cardinal; cdecl; external 'PMSPL' index 442;
767
768
769 end.
770