mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-07 09:28:13 +02:00
770 lines
29 KiB
ObjectPascal
770 lines
29 KiB
ObjectPascal
{****************************************************************************
|
|
|
|
|
|
This file is part of the Free Pascal run time library.
|
|
Copyright (c) 2002 by the Free Pascal development team.
|
|
|
|
OS/2 Presentation Manager spooler constants, types
|
|
and functions implemented in PMSPL.DLL.
|
|
|
|
See the file COPYING.FPC, included in this distribution,
|
|
for details about the copyright.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
****************************************************************************}
|
|
|
|
unit PMSpl;
|
|
|
|
interface
|
|
|
|
{$MODE OBJFPC}
|
|
|
|
uses OS2Def;
|
|
|
|
const
|
|
SPL_INI_SPOOLER = 'PM_SPOOLER';
|
|
SPL_INI_QUEUE = 'PM_SPOOLER_QUEUE';
|
|
SPL_INI_PRINTER = 'PM_SPOOLER_PRINTER';
|
|
SPL_INI_PRINTERDESCR = 'PM_SPOOLER_PRINTER_DESCR';
|
|
SPL_INI_QUEUEDESCR = 'PM_SPOOLER_QUEUE_DESCR';
|
|
SPL_INI_QUEUEDD = 'PM_SPOOLER_QUEUE_DD';
|
|
SPL_INI_QUEUEDDDATA = 'PM_SPOOLER_QUEUE_DDDATA';
|
|
|
|
{ General SPL return values }
|
|
SPL_ERROR = 0;
|
|
SPL_OK = 1;
|
|
|
|
type
|
|
{ Handle to a spool file }
|
|
HSpl = cardinal;
|
|
|
|
{ Used in recording of PM_Q_STD data via SplStdxxx calls }
|
|
HStd = cardinal;
|
|
PHStd = ^HStd;
|
|
|
|
{ Spooler manager open data }
|
|
QMOpenData = PChar;
|
|
PQMOpenData = ^PChar;
|
|
|
|
{ Spooler Queue Processor interface }
|
|
|
|
const
|
|
{ Control codes for SplQpControl }
|
|
SPLC_ABORT = 1;
|
|
SPLC_PAUSE = 2;
|
|
SPLC_CONTINUE = 3;
|
|
|
|
{ Flag defines for optional SplQpQueryFlags }
|
|
{ Set this to allow spooler to bypass Queue Processor for PM_Q_Raw
|
|
jobs. This allows print while a job is still spooling. }
|
|
QP_RawData_Bypass = $00000001;
|
|
|
|
type
|
|
{ Handle to a spooler queue processor }
|
|
HProc = cardinal;
|
|
|
|
PQPOpenData = ^PChar;
|
|
|
|
const
|
|
{ Definition for elements within the PQPOpenData block }
|
|
QPDAT_ADDRESS = 0;
|
|
QPDAT_DRIVER_NAME = 1;
|
|
QPDAT_DRIVER_DATA = 2;
|
|
QPDAT_DATA_TYPE = 3;
|
|
QPDAT_COMMENT = 4;
|
|
QPDAT_PROC_PARAMS = 5;
|
|
QPDAT_SPL_PARAMS = 6; { SplQmOpen Spooler params }
|
|
QPDAT_NET_PARAMS = 7; { SplQmOpen Network params }
|
|
QPDAT_DOC_NAME = 8; { SplQmStartDoc name }
|
|
QPDAT_QUEUE_NAME = 9; { Queue name for job }
|
|
QPDAT_TOKEN = 10; { SplQmOpen token name }
|
|
QPDAT_JOBID = 11; { SQM job identity }
|
|
|
|
type
|
|
TSQPOpenData = record
|
|
pszLogAddress: PChar;
|
|
pszDriverName: PChar;
|
|
pdriv: PDrivData;
|
|
pszDataType: PChar;
|
|
pszComment: PChar;
|
|
pszProcParams: PChar;
|
|
pszSpoolParams: PChar;
|
|
pszNetworkParams: PChar;
|
|
pszDocName: PChar;
|
|
pszQueueName: PChar;
|
|
pszToken: PChar;
|
|
idJobId: word;
|
|
end;
|
|
PSQPOpenData = ^TSQPOpenData;
|
|
SQPOpenData = TSQPOpenData;
|
|
|
|
{ Error information and return codes }
|
|
const
|
|
{ Error information for SplMessageBox }
|
|
SPLINFO_QPERROR = $0001;
|
|
SPLINFO_DDERROR = $0002;
|
|
SPLINFO_SPLERROR = $0004;
|
|
SPLINFO_OTHERERROR = $0080;
|
|
SPLINFO_INFORMATION = $0100;
|
|
SPLINFO_WARNING = $0200;
|
|
SPLINFO_ERROR = $0400;
|
|
SPLINFO_SEVERE = $0800;
|
|
SPLINFO_USERINTREQD = $1000;
|
|
|
|
{ Error Data for SplMessageBox }
|
|
SPLDATA_PRINTERJAM = $0001;
|
|
SPLDATA_FORMCHGREQD = $0002;
|
|
SPLDATA_CARTCHGREQD = $0004;
|
|
SPLDATA_PENCHGREQD = $0008;
|
|
SPLDATA_DATAERROR = $0010;
|
|
SPLDATA_UNEXPECTERROR= $0020;
|
|
SPLDATA_OTHER = $8000;
|
|
|
|
{ Return code for fSplStdQueryLength }
|
|
SSQL_ERROR = -1;
|
|
|
|
type
|
|
SPLERR = cardinal;
|
|
|
|
const
|
|
{ length for character arrays in structs (excluding zero terminator) }
|
|
CNLEN = 15; { Computer name length }
|
|
UNLEN = 20; { Maximum user name length }
|
|
QNLEN = 12; { Queue name maximum length }
|
|
PDLEN = 8; { Print destination length }
|
|
DTLEN = 9; { Spool file data type }
|
|
{ e.g. PM_Q_STD,PM_Q_RAW }
|
|
QP_DATATYPE_SIZE = 15; { returned by SplQpQueryDt }
|
|
DRIV_DEVICENAME_SIZE = 31; { see DRIVDATA struc }
|
|
DRIV_NAME_SIZE = 8; { name of device driver }
|
|
PRINTERNAME_SIZE = 32; { max printer name length }
|
|
FORMNAME_SIZE = 31; { max form name length }
|
|
MAXCOMMENTSZ = 48; { queue comment length }
|
|
|
|
type
|
|
TDrivProps = record
|
|
pszKeyName: PChar;
|
|
cbBuf: cardinal;
|
|
pBuf: pointer;
|
|
end;
|
|
PDrivProps =^TDrivProps;
|
|
DrivProps = TDrivProps;
|
|
NPDrivProps = ^DrivProps;
|
|
|
|
TPrJInfo = record
|
|
uJobId: word;
|
|
szUserName: array [0..UNLen] of char;
|
|
pad_1: char;
|
|
szNotifyName: array [0..CNLen] of char;
|
|
szDataType: array [0..DTLen] of char;
|
|
pszParms: PChar;
|
|
uPosition: word;
|
|
fsStatus: word;
|
|
pszStatus: PChar;
|
|
ulSubmitted: cardinal;
|
|
ulSize: cardinal;
|
|
pszComment: PChar;
|
|
end;
|
|
PPrJInfo = ^TPrJInfo;
|
|
PrJInfo = TPrJInfo;
|
|
NPPrJInfo = ^TPrJInfo;
|
|
|
|
TPrJInfo2 = record
|
|
uJobId: word;
|
|
uPriority: word;
|
|
pszUserName: PChar;
|
|
uPosition: word;
|
|
fsStatus: word;
|
|
ulSubmitted: cardinal;
|
|
ulSize: cardinal;
|
|
pszComment: PChar;
|
|
pszDocument: PChar;
|
|
end;
|
|
PPrJInfo2 = ^TPrJInfo2;
|
|
PrJInfo2 = TPrJInfo2;
|
|
NPPrJInfo2 = ^TPrJInfo2;
|
|
|
|
TPrJInfo3 = record
|
|
uJobId: word;
|
|
uPriority: word;
|
|
pszUserName: PChar;
|
|
uPosition: word;
|
|
fsStatus: word;
|
|
ulSubmitted: cardinal;
|
|
ulSize: cardinal;
|
|
pszComment: PChar;
|
|
pszDocument: PChar;
|
|
pszNotifyName: PChar;
|
|
pszDataType: PChar;
|
|
pszParms: PChar;
|
|
pszStatus: PChar;
|
|
pszQueue: PChar;
|
|
pszQProcName: PChar;
|
|
pszQProcParms: PChar;
|
|
pszDriverName: PChar;
|
|
pDriverData: PDrivData;
|
|
pszPrinterName: PChar;
|
|
end;
|
|
PPrJInfo3 = ^TPrJInfo3;
|
|
PrJInfo3 = TPrJInfo3;
|
|
NPPrJInfo3 = ^TPrJInfo3;
|
|
|
|
TPrDInfo = record
|
|
szName: array [0..PDLen] of char;
|
|
szUserName: array [0..UNLen] of char;
|
|
uJobId: word;
|
|
fsStatus: word;
|
|
pszStatus: PChar;
|
|
time: word;
|
|
end;
|
|
PPrDInfo = ^TPrDInfo;
|
|
PrDInfo = TPrDInfo;
|
|
NPPrDInfo = ^TPrDInfo;
|
|
|
|
TPrDInfo3 = record
|
|
pszPrinterName: PChar;
|
|
pszUserName: PChar;
|
|
pszLogAddr: PChar;
|
|
uJobId: word;
|
|
fsStatus: word;
|
|
pszStatus: PChar;
|
|
pszComment: PChar;
|
|
pszDrivers: PChar;
|
|
time: word;
|
|
usTimeOut: word;
|
|
end;
|
|
PPrDInfo3 = ^TPrDInfo3;
|
|
PrDInfo3 = TPrDInfo3;
|
|
NPPrDInfo3 = ^TPrDInfo3;
|
|
|
|
TPrQInfo = record
|
|
szName: array [0..QNLen] of char;
|
|
pad_1: char;
|
|
uPriority: word;
|
|
uStartTime: word;
|
|
uUntilTime: word;
|
|
pszSepFile: PChar;
|
|
pszPrProc: PChar;
|
|
pszDestinations: PChar;
|
|
pszParms: PChar;
|
|
pszComment: PChar;
|
|
fsStatus: word;
|
|
cJobs: word;
|
|
end;
|
|
PPrQInfo = ^TPrQInfo;
|
|
PrQInfo = TPrQInfo;
|
|
NPPrQInfo = ^TPrQInfo;
|
|
|
|
TPrQInfo3 = record
|
|
pszName: PChar;
|
|
uPriority: word;
|
|
uStartTime: word;
|
|
uUntilTime: word;
|
|
fsType: word;
|
|
pszSepFile: PChar;
|
|
pszPrProc: PChar;
|
|
pszParms: PChar;
|
|
pszComment: PChar;
|
|
fsStatus: word;
|
|
cJobs: word;
|
|
pszPrinters: PChar;
|
|
pszDriverName: PChar;
|
|
pDriverData: PDrivData;
|
|
end;
|
|
PPrQInfo3 = ^TPrQInfo3;
|
|
PrQInfo3 = TPrQInfo3;
|
|
NPPrQInfo3 = ^TPrQInfo3;
|
|
|
|
TPrQInfo6 = record
|
|
pszName: PChar;
|
|
uPriority: word;
|
|
uStartTime: word;
|
|
uUntilTime: word;
|
|
fsType: word;
|
|
pszSepFile: PChar;
|
|
pszPrProc: PChar;
|
|
pszParms: PChar;
|
|
pszComment: PChar;
|
|
fsStatus: word;
|
|
cJobs: word;
|
|
pszPrinters: PChar;
|
|
pszDriverName: PChar;
|
|
pDriverData: PDrivData;
|
|
pszRemoteComputerName: PChar;
|
|
pszRemoteQueueName: PChar;
|
|
end;
|
|
PPrQInfo6 = ^TPrQInfo6;
|
|
PrQInfo6 = TPrQInfo6;
|
|
NPPrQInfo6 = ^TPrQInfo6;
|
|
|
|
{ Structure for DosPrintJobGetId }
|
|
TPrIDInfo = record
|
|
uJobId: word;
|
|
szComputerName: array [0..CNLen] of char;
|
|
szQueueName: array [0..QNLen] of char;
|
|
pad_1: char;
|
|
end;
|
|
PPrIDInfo = ^TPrIDInfo;
|
|
PrIDInfo = TPrIDInfo;
|
|
NPPrIDInfo = ^TPrIDInfo;
|
|
|
|
{ Structure for DosPrintDriverEnum }
|
|
TPrDrivInfo = record
|
|
szDrivName: array [0..Driv_Name_Size+1+Driv_DeviceName_Size] of char;
|
|
end;
|
|
PPrDrivInfo = ^TPrDrivInfo;
|
|
PrDrivInfo = TPrDrivInfo;
|
|
NPPrDrivInfo = ^TPrDrivInfo;
|
|
|
|
{ Structure for DosPrintQProcessorEnum }
|
|
TPrQProcInfo = record
|
|
szQProcName: array [0..QNLen] of char;
|
|
end;
|
|
PPrQProcInfo = ^TPrQProcInfo;
|
|
PrQProcInfo = TPrQProcInfo;
|
|
NPPrQProcInfo = ^TPrQProcInfo;
|
|
|
|
{ Structure for DosPrintPortEnum Level 0 }
|
|
TPrPortInfo = record
|
|
szPortName: array [0..PDLen] of char;
|
|
end;
|
|
PPrPortInfo = ^TPrPortInfo;
|
|
PrPortInfo = TPrPortInfo;
|
|
NPPrPortInfo = ^TPrPortInfo;
|
|
|
|
{ Structure for DosPrintPortEnum Level 1 }
|
|
TPrPortInfo1 = record
|
|
pszPortName : PChar;
|
|
pszPortDriverName : PChar;
|
|
pszPortDriverPathName : PChar;
|
|
end;
|
|
PPrPortInfo1 = ^TPrPortInfo1;
|
|
PrPortInfo1 = TPrPortInfo1;
|
|
NPPrPortInfo1 = ^TPrPortInfo1;
|
|
|
|
|
|
const
|
|
{ Values for parmnum in DosPrintQSetInfo/SplSetQueue }
|
|
PRQ_PRIORITY_PARMNUM = 2;
|
|
PRQ_STARTTIME_PARMNUM = 3;
|
|
PRQ_UNTILTIME_PARMNUM = 4;
|
|
PRQ_SEPARATOR_PARMNUM = 5;
|
|
PRQ_PROCESSOR_PARMNUM = 6;
|
|
PRQ_DESTINATIONS_PARMNUM = 7;
|
|
PRQ_PARMS_PARMNUM = 8;
|
|
PRQ_COMMENT_PARMNUM = 9;
|
|
PRQ_TYPE_PARMNUM = 10;
|
|
PRQ_PRINTERS_PARMNUM = 12;
|
|
PRQ_DRIVERNAME_PARMNUM = 13;
|
|
PRQ_DRIVERDATA_PARMNUM = 14;
|
|
PRQ_REMOTE_COMPUTER_PARMNUM = 15;
|
|
PRQ_REMOTE_QUEUE_PARMNUM = 16;
|
|
PRQ_MAXPARMNUM = 16;
|
|
|
|
{ Print queue priority }
|
|
PRQ_MAX_PRIORITY = 1; { highest priority }
|
|
PRQ_DEF_PRIORITY = 5; { default priority }
|
|
PRQ_MIN_PRIORITY = 9; { lowest priority }
|
|
PRQ_NO_PRIORITY = 0;
|
|
|
|
{ Print queue status bitmask and values for level 1 }
|
|
PRQ_STATUS_MASK = 3;
|
|
PRQ_ACTIVE = 0;
|
|
PRQ_PAUSED = 1; { queue is held }
|
|
PRQ_ERROR = 2;
|
|
PRQ_PENDING = 3; { pending deletion }
|
|
|
|
{ Print queue status bits for level 3 }
|
|
PRQ3_PAUSED = 1; { queue is held }
|
|
PRQ3_PENDING = 2; { pending deletion }
|
|
|
|
{ Print queue type bits for level 3 }
|
|
PRQ3_TYPE_RAW = 1; { spools printer-specific data }
|
|
PRQ3_TYPE_BYPASS = 2; { allow print while spooling }
|
|
PRQ3_TYPE_APPDEFAULT = 4; { set for application }
|
|
{ default queue }
|
|
|
|
{ Values for parmnum in DosPrintJobSetInfo/SplSetJob }
|
|
PRJ_NOTIFYNAME_PARMNUM = 3;
|
|
PRJ_DATATYPE_PARMNUM = 4;
|
|
PRJ_PARMS_PARMNUM = 5;
|
|
PRJ_POSITION_PARMNUM = 6;
|
|
PRJ_JOBFILEINUSE_PARMNUM = 7;
|
|
PRJ_COMMENT_PARMNUM = 11;
|
|
PRJ_DOCUMENT_PARMNUM = 12;
|
|
PRJ_STATUSCOMMENT_PARMNUM = 13;
|
|
PRJ_PRIORITY_PARMNUM = 14;
|
|
PRJ_PROCPARMS_PARMNUM = 16;
|
|
PRJ_DRIVERDATA_PARMNUM = 18;
|
|
PRJ_MAXPARMNUM = 18;
|
|
|
|
{ Bitmap masks for status field of TPrJInfo }
|
|
{ Bits 2-7 also used in device status }
|
|
PRJ_QSTATUS = $0003; { bits 0,1 }
|
|
PRJ_DEVSTATUS = $0ffc; { bits 2-11 }
|
|
PRJ_COMPLETE = $0004; { bit 2 }
|
|
PRJ_INTERV = $0008; { bit 3 }
|
|
PRJ_ERROR = $0010; { bit 4 }
|
|
PRJ_DESTOFFLINE = $0020; { bit 5 }
|
|
PRJ_DESTPAUSED = $0040; { bit 6 }
|
|
PRJ_NOTIFY = $0080; { bit 7 }
|
|
PRJ_DESTNOPAPER = $0100; { bit 8 }
|
|
PRJ_DESTFORMCHG = $0200; { bit 9 }
|
|
PRJ_DESTCRTCHG = $0400; { bit 10 }
|
|
PRJ_DESTPENCHG = $0800; { bit 11 }
|
|
PRJ_JOBFILEINUSE = $4000; { bit 14 }
|
|
PRJ_DELETED = $8000; { bit 15 }
|
|
|
|
{ Values of PRJ_QSTATUS bits in fsStatus field of TPrJInfo }
|
|
PRJ_QS_QUEUED = 0;
|
|
PRJ_QS_PAUSED = 1;
|
|
PRJ_QS_SPOOLING = 2;
|
|
PRJ_QS_PRINTING = 3;
|
|
|
|
{ Print Job Priority }
|
|
PRJ_MAX_PRIORITY = 99; { lowest priority }
|
|
PRJ_MIN_PRIORITY = 1; { highest priority }
|
|
PRJ_NO_PRIORITY = 0;
|
|
|
|
{ Bitmap masks for status field of TPrDInfo }
|
|
PRD_STATUS_MASK = $0003; { bits 0,1 }
|
|
PRD_DEVSTATUS = $0ffc; { bits 2-11 }
|
|
|
|
{ Values of PRD_STATUS_MASK bits in fsStatus field of TPrDInfo }
|
|
PRD_ACTIVE = 0;
|
|
PRD_PAUSED = 1;
|
|
|
|
{ Control codes used in DosPrintDestControl/SplControlDevice }
|
|
PRD_DELETE = 0;
|
|
PRD_PAUSE = 1;
|
|
PRD_CONT = 2;
|
|
PRD_RESTART = 3;
|
|
|
|
{ Values for parmnum in DosPrintDestSetInfo/SplSetDevice }
|
|
PRD_LOGADDR_PARMNUM = 3;
|
|
PRD_COMMENT_PARMNUM = 7;
|
|
PRD_DRIVERS_PARMNUM = 8;
|
|
PRD_TIMEOUT_PARMNUM = 10;
|
|
|
|
type
|
|
{ Structure for SplEnumPrinter }
|
|
TPrinterInfo = record
|
|
fltype: cardinal;
|
|
pszComputerName: PChar;
|
|
pszPrintDestinationName: PChar;
|
|
pszDescription: PChar;
|
|
pszLocalName: PChar;
|
|
end;
|
|
PrinterInfo = TPrinterInfo;
|
|
PPrinterInfo = ^TPrinterInfo;
|
|
|
|
const
|
|
{ Flags for fltype in PRINTERINFO and SplEnumPrinter }
|
|
SPL_PR_QUEUE = $00000001; { include queues }
|
|
SPL_PR_DIRECT_DEVICE = $00000002; { unattached devices }
|
|
SPL_PR_QUEUED_DEVICE = $00000004; { queued devices }
|
|
SPL_PR_LOCAL_ONLY = $00000100; { exclude remote queues }
|
|
|
|
|
|
function SplQueryDevice (const pszComputerName, pszPrintDeviceName: PChar;
|
|
ulLevel: cardinal; var pBuf; cbBuf: cardinal;
|
|
var pcbNeeded: cardinal): longint; cdecl;
|
|
|
|
function SplQueryQueue (const pszComputerName, pszQueueName: PChar;
|
|
ulLevel: cardinal; var pBuf; cbBuf: cardinal;
|
|
var pcbNeeded: cardinal): longint; cdecl;
|
|
|
|
function SplEnumQueue (const pszComputerName: PChar; ulLevel: cardinal;
|
|
var pBuf; cbBuf: cardinal; var pcReturned, pcTotal, pcbNeeded: cardinal;
|
|
var pReserved): longint; cdecl;
|
|
|
|
function SplQmOpen (const pszToken: PChar; lCount: longint;
|
|
var pqmdopData: PChar): cardinal; cdecl;
|
|
|
|
function SplQmStartDoc (ahspl: cardinal; const pszDocName: PChar): longbool;
|
|
cdecl;
|
|
|
|
function SplQmWrite (ahspl: cardinal; lCount: longint; var pData): longbool;
|
|
cdecl;
|
|
|
|
function SplQmEndDoc (ahspl: cardinal): longbool; cdecl;
|
|
|
|
function SplQmClose(ahspl: cardinal): longbool; cdecl;
|
|
|
|
function SplQmAbort(ahspl: cardinal): longbool; cdecl;
|
|
|
|
function SplQmAbortDoc (ahspl: cardinal): longbool; cdecl;
|
|
|
|
function SplMessageBox (const pszLogAddr: PChar; fErrInfo, fErrData: cardinal;
|
|
const pszText, pszCaption: PChar;
|
|
idWindow, fStyle: cardinal): cardinal; cdecl;
|
|
|
|
function PrtOpen (const pszDeviceName: PChar; var phDevice: cardinal;
|
|
var pActionTaken: cardinal;cbFileSize,uFileAttr: cardinal;
|
|
openFlag,openMode,reserved: cardinal): cardinal;
|
|
cdecl;
|
|
|
|
function PrtClose (hDevice: cardinal): cardinal; cdecl;
|
|
|
|
function PrtWrite (hDevice: cardinal; var pchData; cbData: cardinal;
|
|
var pcbWritten: cardinal): cardinal; cdecl;
|
|
|
|
function PrtDevIOCtl (var pData; var pParms; ufunction, uCategory: cardinal;
|
|
hDevice: cardinal): cardinal; cdecl;
|
|
|
|
procedure PrtAbort (hDevice: cardinal); cdecl;
|
|
|
|
function SplStdOpen (ahdc: cardinal): longbool; cdecl;
|
|
|
|
function SplStdClose (ahdc: cardinal): longbool; cdecl;
|
|
|
|
function SplStdStart(ahdc: cardinal): longbool; cdecl;
|
|
|
|
function SplStdStop (ahdc: cardinal): cardinal; cdecl;
|
|
|
|
function SplStdDelete (hMetaFile: cardinal): longbool; cdecl;
|
|
|
|
function SplStdGetBits (hMetaFile: cardinal; offData, cbData: longint;
|
|
var pchData): longbool; cdecl;
|
|
|
|
function SplStdQueryLength (hMetaFile: cardinal): longint; cdecl;
|
|
|
|
function SplCreateDevice (const pszComputerName: PChar;ulLevel: cardinal;
|
|
var pBuf; cbBuf: cardinal): cardinal; cdecl;
|
|
|
|
function SplControlDevice (const pszComputerName, pszPortName: PChar;
|
|
ulControl: cardinal): cardinal; cdecl;
|
|
|
|
function SplDeleteDevice (const pszComputerName,
|
|
pszPrintDeviceName: PChar): cardinal; cdecl;
|
|
|
|
function SplEnumDevice (const pszComputerName: PChar; ulLevel: cardinal;
|
|
var pBuf; cbBuf: cardinal; var pcReturned, pcTotal, pcbNeeded: cardinal;
|
|
var pReserved): cardinal; cdecl;
|
|
|
|
function SplSetDevice (const pszComputerName, pszPrintDeviceName: PChar;
|
|
ulLevel: cardinal; var pBuf; cbBuf, ulParmNum: cardinal): cardinal; cdecl;
|
|
|
|
function SplReleaseJob (const pszComputerName, pszQueueName: PChar;
|
|
ulJob: cardinal): cardinal; cdecl;
|
|
|
|
function SplDeleteJob (const pszComputerName, pszQueueName: PChar;
|
|
ulJob: cardinal): cardinal; cdecl;
|
|
|
|
function SplEnumJob (const pszComputerName, pszQueueName: PChar;
|
|
ulLevel: cardinal; var pBuf;cbBuf: cardinal;
|
|
var pcReturned, pcTotal, pcbNeeded: cardinal;
|
|
var pReserved): cardinal; cdecl;
|
|
|
|
function SplQueryJob (const pszComputerName, pszQueueName: PChar;
|
|
ulJob, ulLevel: cardinal; var pBuf; cbBuf: cardinal;
|
|
var pcbNeeded: cardinal): cardinal; cdecl;
|
|
|
|
function SplHoldJob (const pszComputerName, pszQueueName: PChar;
|
|
ulJob: cardinal): cardinal; cdecl;
|
|
|
|
function SplSetJob (const pszComputerName, pszQueueName: PChar;
|
|
ulJob, ulLevel: cardinal; var pBuf;
|
|
cbBuf, ulParmNum: cardinal): cardinal; cdecl;
|
|
|
|
function SplCreateQueue (const pszComputerName: PChar; ulLevel: cardinal;
|
|
var pBuf; cbBuf: cardinal): cardinal; cdecl;
|
|
|
|
function SplReleaseQueue (const pszComputerName,
|
|
pszQueueName: PChar): cardinal; cdecl;
|
|
|
|
function SplDeleteQueue (const pszComputerName, pszQueueName: PChar): cardinal;
|
|
cdecl;
|
|
|
|
function SplHoldQueue (const pszComputerName, pszQueueName: PChar): cardinal;
|
|
cdecl;
|
|
|
|
function SplPurgeQueue (const pszComputerName, pszQueueName: PChar): cardinal;
|
|
cdecl;
|
|
|
|
function SplSetQueue (const pszComputerName, pszQueueName: PChar;
|
|
ulLevel: cardinal; var pBuf;cbBuf,ulParmNum: cardinal): cardinal; cdecl;
|
|
|
|
function SplEnumDriver (const pszComputerName: PChar; ulLevel: cardinal;
|
|
var pBuf; cbBuf: cardinal; var pcReturned,pcTotal,pcbNeeded: cardinal;
|
|
var pReserved): cardinal; cdecl;
|
|
|
|
function SplEnumPort (const pszComputerName: PChar; ulLevel: cardinal;
|
|
var pBuf; cbBuf: cardinal; var pcReturned, pcTotal, pcbNeeded: cardinal;
|
|
var pReserved): cardinal; cdecl;
|
|
|
|
function SplEnumQueueProcessor (const pszComputerName: PChar;
|
|
ulLevel: cardinal; var pBuf; cbBuf: cardinal; var pcReturned, pcTotal,
|
|
pcbNeeded: cardinal; var pReserved): cardinal; cdecl;
|
|
|
|
function SplEnumPrinter (const pszComputerName: PChar;
|
|
uLevel, fltype: cardinal; var pBuf; cbbuf: cardinal; var pcReturned,
|
|
pcTotal, pcbNeeded: cardinal; var pReserved): cardinal; cdecl;
|
|
|
|
function SplCopyJob (const pszSrcComputerName, pszSrcQueueName: PChar;
|
|
ulSrcJob: cardinal; const pszTrgComputerName, pszTrgQueueName: PChar;
|
|
var pulTrgJob: cardinal): cardinal; cdecl;
|
|
|
|
|
|
implementation
|
|
|
|
function SplQueryDevice (const pszComputerName, pszPrintDeviceName: PChar;
|
|
ulLevel: cardinal; var pBuf; cbBuf: cardinal;
|
|
var pcbNeeded: cardinal): longint;
|
|
cdecl; external 'PMSPL' index 381;
|
|
|
|
function SplQueryQueue (const pszComputerName, pszQueueName: PChar;
|
|
ulLevel: cardinal; var pBuf; cbBuf: cardinal;
|
|
var pcbNeeded: cardinal): longint;
|
|
cdecl; external 'PMSPL' index 397;
|
|
|
|
function SplEnumQueue (const pszComputerName: PChar; ulLevel: cardinal;
|
|
var pBuf; cbBuf: cardinal; var pcReturned, pcTotal, pcbNeeded: cardinal;
|
|
var pReserved): longint; cdecl; external 'PMSPL' index 399;
|
|
|
|
function SplQmOpen (const pszToken: PChar; lCount: longint;
|
|
var pqmdopData: PChar): cardinal; cdecl; external 'PMSPL' index 301;
|
|
|
|
function SplQmStartDoc (ahspl: cardinal; const pszDocName: PChar): longbool;
|
|
cdecl; external 'PMSPL' index 302;
|
|
|
|
function SplQmWrite (ahspl: cardinal; lCount: longint; var pData): longbool;
|
|
cdecl; external 'PMSPL' index 304;
|
|
|
|
function SplQmEndDoc (ahspl: cardinal): longbool;
|
|
cdecl; external 'PMSPL' index 303;
|
|
|
|
function SplQmClose (ahspl: cardinal): longbool;
|
|
cdecl; external 'PMSPL' index 306;
|
|
|
|
function SplQmAbort (ahspl: cardinal): longbool;
|
|
cdecl; external 'PMSPL' index 305;
|
|
|
|
function SplQmAbortDoc (ahspl: cardinal): longbool;
|
|
cdecl; external 'PMSPL' index 308;
|
|
|
|
function SplMessageBox (const pszLogAddr: PChar; fErrInfo, fErrData: cardinal;
|
|
const pszText, pszCaption: PChar; idWindow, fStyle: cardinal): cardinal;
|
|
cdecl; external 'PMSPL' index 307;
|
|
|
|
function PrtOpen (const pszDeviceName: PChar; var phDevice: cardinal;
|
|
var pActionTaken: cardinal; cbFileSize, uFileAttr: cardinal;
|
|
openFlag, openMode, reserved: cardinal): cardinal;
|
|
cdecl; external 'PMSPL' index 370;
|
|
|
|
function PrtClose (hDevice: cardinal): cardinal;
|
|
cdecl; external 'PMSPL' index 373;
|
|
|
|
function PrtWrite (hDevice: cardinal; var pchData; cbData: cardinal;
|
|
var pcbWritten: cardinal): cardinal; cdecl; external 'PMSPL' index 371;
|
|
|
|
function PrtDevIOCtl (var pData; var pParms; ufunction, uCategory: cardinal;
|
|
hDevice: cardinal): cardinal; cdecl; external 'PMSPL' index 372;
|
|
|
|
procedure PrtAbort (hDevice: cardinal); cdecl; external 'PMSPL' index 375;
|
|
|
|
function SplStdOpen (ahdc: cardinal): longbool;
|
|
cdecl; external 'PMSPL' index 350;
|
|
|
|
function SplStdClose (ahdc: cardinal): longbool;
|
|
cdecl; external 'PMSPL' index 351;
|
|
|
|
function SplStdStart (ahdc: cardinal): longbool;
|
|
cdecl; external 'PMSPL' index 352;
|
|
|
|
function SplStdStop (ahdc: cardinal): cardinal;
|
|
cdecl; external 'PMSPL' index 353;
|
|
|
|
function SplStdDelete (hMetaFile: cardinal): longbool;
|
|
cdecl; external 'PMSPL' index 354;
|
|
|
|
function SplStdGetBits (hMetaFile: cardinal; offData, cbData: longint;
|
|
var pchData): longbool; cdecl; external 'PMSPL' index 355;
|
|
|
|
function SplStdQueryLength (hMetaFile: cardinal): longint;
|
|
cdecl; external 'PMSPL' index 356;
|
|
|
|
function SplCreateDevice (const pszComputerName: PChar; ulLevel: cardinal;
|
|
var pBuf; cbBuf: cardinal): cardinal; cdecl; external 'PMSPL' index 401;
|
|
|
|
function SplControlDevice (const pszComputerName, pszPortName: PChar;
|
|
ulControl: cardinal): cardinal; cdecl; external 'PMSPL' index 380;
|
|
|
|
function SplDeleteDevice (const pszComputerName,
|
|
pszPrintDeviceName: PChar): cardinal; cdecl; external 'PMSPL' index 403;
|
|
|
|
function SplEnumDevice (const pszComputerName: PChar; ulLevel: cardinal;
|
|
var pBuf; cbBuf: cardinal; var pcReturned,pcTotal,pcbNeeded: cardinal;
|
|
var pReserved): cardinal; cdecl; external 'PMSPL' index 382;
|
|
|
|
function SplSetDevice (const pszComputerName, pszPrintDeviceName: PChar;
|
|
ulLevel: cardinal; var pBuf; cbBuf, ulParmNum: cardinal): cardinal;
|
|
cdecl; external 'PMSPL' index 402;
|
|
|
|
function SplReleaseJob (const pszComputerName, pszQueueName: PChar;
|
|
ulJob: cardinal): cardinal; cdecl; external 'PMSPL' index 384;
|
|
|
|
function SplDeleteJob (const pszComputerName, pszQueueName: PChar;
|
|
ulJob: cardinal): cardinal; cdecl; external 'PMSPL' index 386;
|
|
|
|
function SplEnumJob (const pszComputerName, pszQueueName: PChar;
|
|
ulLevel: cardinal; var pBuf; cbBuf: cardinal;
|
|
var pcReturned, pcTotal, pcbNeeded: cardinal;
|
|
var pReserved): cardinal; cdecl; external 'PMSPL' index 392;
|
|
|
|
function SplQueryJob (const pszComputerName, pszQueueName: PChar;
|
|
ulJob, ulLevel: cardinal; var pBuf; cbBuf: cardinal;
|
|
var pcbNeeded: cardinal): cardinal; cdecl; external 'PMSPL' index 390;
|
|
|
|
function SplHoldJob (const pszComputerName, pszQueueName: PChar;
|
|
ulJob: cardinal): cardinal; cdecl; external 'PMSPL' index 385;
|
|
|
|
function SplSetJob (const pszComputerName, pszQueueName: PChar;
|
|
ulJob, ulLevel: cardinal; var pBuf;cbBuf,ulParmNum: cardinal): cardinal;
|
|
cdecl; external 'PMSPL' index 391;
|
|
|
|
function SplCreateQueue (const pszComputerName: PChar; ulLevel: cardinal;
|
|
var pBuf; cbBuf: cardinal): cardinal; cdecl; external 'PMSPL' index 393;
|
|
|
|
function SplReleaseQueue (const pszComputerName,
|
|
pszQueueName: PChar): cardinal; cdecl; external 'PMSPL' index 395;
|
|
|
|
function SplDeleteQueue (const pszComputerName, pszQueueName: PChar): cardinal;
|
|
cdecl; external 'PMSPL' index 396;
|
|
|
|
function SplHoldQueue (const pszComputerName, pszQueueName: PChar): cardinal;
|
|
cdecl; external 'PMSPL' index 394;
|
|
|
|
function SplPurgeQueue (const pszComputerName, pszQueueName: PChar): cardinal;
|
|
cdecl; external 'PMSPL' index 404;
|
|
|
|
function SplSetQueue (const pszComputerName, pszQueueName: PChar;
|
|
ulLevel: cardinal; var pBuf;cbBuf,ulParmNum: cardinal): cardinal;
|
|
cdecl; external 'PMSPL' index 398;
|
|
|
|
function SplEnumDriver (const pszComputerName: PChar; ulLevel: cardinal;
|
|
var pBuf; cbBuf: cardinal; var pcReturned, pcTotal, pcbNeeded: cardinal;
|
|
var pReserved): cardinal; cdecl; external 'PMSPL' index 406;
|
|
|
|
function SplEnumPort (const pszComputerName: PChar; ulLevel: cardinal;
|
|
var pBuf; cbBuf: cardinal; var pcReturned,pcTotal,pcbNeeded: cardinal;
|
|
var pReserved): cardinal; cdecl; external 'PMSPL' index 408;
|
|
|
|
function SplEnumQueueProcessor (const pszComputerName: PChar;ulLevel: cardinal;
|
|
var pBuf; cbBuf: cardinal; var pcReturned, pcTotal, pcbNeeded: cardinal;
|
|
var pReserved): cardinal; cdecl; external 'PMSPL' index 407;
|
|
|
|
function SplEnumPrinter (const pszComputerName: PChar;uLevel, fltype: cardinal;
|
|
var pBuf; cbbuf: cardinal; var pcReturned, pcTotal, pcbNeeded: cardinal;
|
|
var pReserved): cardinal; cdecl; external 'PMSPL' index 441;
|
|
|
|
function SplCopyJob (const pszSrcComputerName, pszSrcQueueName: PChar;
|
|
ulSrcJob: cardinal; const pszTrgComputerName, pszTrgQueueName: PChar;
|
|
var pulTrgJob: cardinal): cardinal; cdecl; external 'PMSPL' index 442;
|
|
|
|
|
|
end.
|