📄 pmspl.mh
字号:
/*
* pmspl.h OS/2 Presentation Manager print support include file
* for 32-bit development.
*
:include crwatcnt.sp
*/
#ifndef PMSPL_INCLUDED
#define PMSPL_INCLUDED
#ifdef INCL_ERRORS
#define INCL_SPLERRORS
#endif
#ifdef INCL_SPLERRORS
#include <pmerr.h>
#endif
:include readonly.sp
:include cpluspro.sp
#define DosPrintDestControl SplControlDevice
#define DosPrintDestGetInfo SplQueryDevice
#define DosPrintDestEnum SplEnumDevice
#define DosPrintJobContinue SplReleaseJob
#define DosPrintJobPause SplHoldJob
#define DosPrintJobDel SplDeleteJob
#define DosPrintJobGetInfo SplQueryJob
#define DosPrintJobSetInfo SplSetJob
#define DosPrintJobEnum SplEnumJob
#define DosPrintQAdd SplCreateQueue
#define DosPrintQPause SplHoldQueue
#define DosPrintQContinue SplReleaseQueue
#define DosPrintQDel SplDeleteQueue
#define DosPrintQGetInfo SplQueryQueue
#define DosPrintQSetInfo SplSetQueue
#define DosPrintQEnum SplEnumQueue
#define DosPrintDestAdd SplCreateDevice
#define DosPrintDestSetInfo SplSetDevice
#define DosPrintDestDel SplDeleteDevice
#define DosPrintQPurge SplPurgeQueue
#define DosPrintDriverEnum SplEnumDriver
#define DosPrintQProcessorEnum SplEnumQueueProcessor
#define DosPrintPortEnum SplEnumPort
#define SPL_INI_SPOOLER "PM_SPOOLER"
#define SPL_INI_QUEUE "PM_SPOOLER_QUEUE"
#define SPL_INI_PRINTER "PM_SPOOLER_PRINTER"
#define SPL_INI_PRINTERDESCR "PM_SPOOLER_PRINTER_DESCR"
#define SPL_INI_QUEUEDESCR "PM_SPOOLER_QUEUE_DESCR"
#define SPL_INI_QUEUEDD "PM_SPOOLER_QUEUE_DD"
#define SPL_INI_QUEUEDDDATA "PM_SPOOLER_QUEUE_DDDATA"
#define SPL_ERROR 0
#define SPL_OK 1
#define SPLC_ABORT 1
#define SPLC_PAUSE 2
#define SPLC_CONTINUE 3
#define QP_RAWDATA_BYPASS 1
#define QP_PRINT_SEPARATOR_PAGE 2
#define SPLINFO_QPERROR 0x0001
#define SPLINFO_DDERROR 0x0002
#define SPLINFO_SPLERROR 0x0004
#define SPLINFO_OTHERERROR 0x0080
#define SPLINFO_INFORMATION 0x0100
#define SPLINFO_WARNING 0x0200
#define SPLINFO_ERROR 0x0400
#define SPLINFO_SEVERE 0x0800
#define SPLINFO_USERINTREQD 0x1000
#define SPLDATA_PRINTERJAM 0x0001
#define SPLDATA_FORMCHGREQD 0x0002
#define SPLDATA_CARTCHGREQD 0x0004
#define SPLDATA_PENCHGREQD 0x0008
#define SPLDATA_DATAERROR 0x0010
#define SPLDATA_UNEXPECTERROR 0x0020
#define SPLDATA_OTHER 0x8000
#define QPDAT_ADDRESS 0
#define QPDAT_DRIVER_NAME 1
#define QPDAT_DRIVER_DATA 2
#define QPDAT_DATA_TYPE 3
#define QPDAT_COMMENT 4
#define QPDAT_PROC_PARAMS 5
#define QPDAT_SPL_PARAMS 6
#define QPDAT_NET_PARAMS 7
#define QPDAT_DOC_NAME 8
#define QPDAT_QUEUE_NAME 9
#define QPDAT_TOKEN 10
#define QPDAT_JOBID 11
#define SSQL_ERROR (-1L)
typedef LHANDLE HSPL;
typedef LHANDLE HSTD, *PHSTD;
typedef LHANDLE HPROC;
typedef PSZ *PQMOPENDATA;
typedef PSZ *PQPOPENDATA;
typedef ULONG SPLERR;
typedef struct _SQPOPENDATA {
PSZ pszLogAddress;
PSZ pszDriverName;
PDRIVDATA pdriv;
PSZ pszDataType;
PSZ pszComment;
PSZ pszProcParams;
PSZ pszSpoolParams;
PSZ pszNetworkParams;
PSZ pszDocName;
PSZ pszQueueName;
PSZ pszToken;
USHORT idJobId;
} SQPOPENDATA, *PSQPOPENDATA;
BOOL APIENTRY SplQpClose(HPROC);
BOOL APIENTRY SplQpControl(HPROC,LONG);
BOOL APIENTRY SplQpInstall(HWND);
HPROC APIENTRY SplQpOpen(LONG,PQPOPENDATA);
BOOL APIENTRY SplQpPrint(HPROC,PSZ);
BOOL APIENTRY SplQpPrintSeparator(HPROC,PBYTE,ULONG,ULONG);
BOOL APIENTRY SplQpQueryDt(PLONG,PSZ*);
BOOL APIENTRY SplQpQueryFlags(PULONG);
#if defined(INCL_SPLDOSPRINT)
#define CNLEN 15
#define UNLEN 20
#define QNLEN 12
#define PDLEN 8
#define DTLEN 9
#define QP_DATATYPE_SIZE 15
#define DRIV_DEVICENAME_SIZE 31
#define DRIV_NAME_SIZE 8
#define PRINTERNAME_SIZE 32
#define FORMNAME_SIZE 31
#define MAXCOMMENTSZ 48
#define PRPORT_AUTODETECT 1
#define PRPORT_DISABLE_BIDI 2
#define PRPORT_ENABLE_BIDI 3
#define SPLPORT_VERSION_REGULAR 0
#define SPLPORT_VERSION_VIRTUAL 1
#define PRPO_PORT_DRIVER 1
#define PRPO_PROTOCOL_CNV 2
#define PRPO_MODE 3
#define PRPO_PRIORITY 4
#define PRQ_PRIORITY_PARMNUM 2
#define PRQ_STARTTIME_PARMNUM 3
#define PRQ_UNTILTIME_PARMNUM 4
#define PRQ_SEPARATOR_PARMNUM 5
#define PRQ_PROCESSOR_PARMNUM 6
#define PRQ_DESTINATIONS_PARMNUM 7
#define PRQ_PARMS_PARMNUM 8
#define PRQ_COMMENT_PARMNUM 9
#define PRQ_TYPE_PARMNUM 10
#define PRQ_PRINTERS_PARMNUM 12
#define PRQ_DRIVERNAME_PARMNUM 13
#define PRQ_DRIVERDATA_PARMNUM 14
#define PRQ_REMOTE_COMPUTER_PARMNUM 15
#define PRQ_REMOTE_QUEUE_PARMNUM 16
#define PRQ_MAXPARMNUM 16
#define PRQ_MAX_PRIORITY 1
#define PRQ_DEF_PRIORITY 5
#define PRQ_MIN_PRIORITY 9
#define PRQ_NO_PRIORITY 0
#define PRQ_STATUS_MASK 3
#define PRQ_ACTIVE 0
#define PRQ_PAUSED 1
#define PRQ_ERROR 2
#define PRQ_PENDING 3
#define PRQ3_PAUSED 0x1
#define PRQ3_PENDING 0x2
#define PRQ3_TYPE_RAW 0x0001
#define PRQ3_TYPE_BYPASS 0x0002
#define PRQ3_TYPE_APPDEFAULT 0x0004
#define PRJ_NOTIFYNAME_PARMNUM 3
#define PRJ_DATATYPE_PARMNUM 4
#define PRJ_PARMS_PARMNUM 5
#define PRJ_POSITION_PARMNUM 6
#define PRJ_JOBFILEINUSE_PARMNUM 7
#define PRJ_COMMENT_PARMNUM 11
#define PRJ_DOCUMENT_PARMNUM 12
#define PRJ_STATUSCOMMENT_PARMNUM 13
#define PRJ_PRIORITY_PARMNUM 14
#define PRJ_PROCPARMS_PARMNUM 16
#define PRJ_DRIVERDATA_PARMNUM 18
#define PRJ_SPOOLFILENAME_PARMNUM 19
#define PRJ_PAGESSPOOLED_PARMNUM 20
#define PRJ_PAGESSENT_PARMNUM 21
#define PRJ_PAGESPRINTED_PARMNUM 22
#define PRJ_TIMEPRINTED_PARMNUM 23
#define PRJ_EXTENDSTATUS_PARMNUM 24
#define PRJ_STARTPAGE_PARMNUM 25
#define PRJ_ENDPAGE_PARMNUM 26
#define PRJ_MAXPARMNUM 26
#define PRJ_QSTATUS 0x0003
#define PRJ_DEVSTATUS 0x0ffc
#define PRJ_COMPLETE 0x0004
#define PRJ_INTERV 0x0008
#define PRJ_ERROR 0x0010
#define PRJ_DESTOFFLINE 0x0020
#define PRJ_DESTPAUSED 0x0040
#define PRJ_NOTIFY 0x0080
#define PRJ_DESTNOPAPER 0x0100
#define PRJ_DESTFORMCHG 0x0200
#define PRJ_DESTCRTCHG 0x0400
#define PRJ_DESTPENCHG 0x0800
#define PRJ_JOBFILEINUSE 0x4000
#define PRJ_DELETED 0x8000
#define PRJ4_INPRINTER 0x00000001
#define PRJ4_STACKED 0x00000002
#define PRJ4_HELDINPRINTER 0x00000004
#define PRJ4_JOBSTARTED 0x00000008
#define PRJ_QS_QUEUED 0
#define PRJ_QS_PAUSED 1
#define PRJ_QS_SPOOLING 2
#define PRJ_QS_PRINTING 3
#define PRJ_MAX_PRIORITY 99
#define PRJ_MIN_PRIORITY 1
#define PRJ_NO_PRIORITY 0
#define PRD_STATUS_MASK 0x0003
#define PRD_DEVSTATUS 0x0ffc
#define PRD_ACTIVE 0
#define PRD_PAUSED 1
#define PRD_DELETE 0
#define PRD_PAUSE 1
#define PRD_CONT 2
#define PRD_RESTART 3
#define PRD_LOGADDR_PARMNUM 3
#define PRD_COMMENT_PARMNUM 7
#define PRD_DRIVERS_PARMNUM 8
#define PRD_TIMEOUT_PARMNUM 10
typedef struct _PRJINFO {
USHORT uJobId;
CHAR szUserName[UNLEN+1];
CHAR pad_1;
CHAR szNotifyName[CNLEN+1];
CHAR szDataType[DTLEN+1];
PSZ pszParms;
USHORT uPosition;
USHORT fsStatus;
PSZ pszStatus;
ULONG ulSubmitted;
ULONG ulSize;
PSZ pszComment;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -