788 lines
20 KiB
C
788 lines
20 KiB
C
/*++
|
|
|
|
Copyright (c) 1991-1993 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
RxPrint.h
|
|
|
|
Abstract:
|
|
|
|
This contains prototypes for the RxPrint routines.
|
|
|
|
Author:
|
|
|
|
Dave Snipp (DaveSn) 16-Apr-1991
|
|
|
|
Environment:
|
|
|
|
Notes:
|
|
|
|
All of the RxPrint APIs are wide-character APIs, regardless of
|
|
whether or not UNICODE is defined. This allows the net/dosprint/dosprint.c
|
|
code to use the winspool APIs (which are currently ANSI APIs, despite their
|
|
prototypes using LPTSTR in some places).
|
|
|
|
Revision History:
|
|
|
|
22-Apr-1991 JohnRo
|
|
Use constants from <lmcons.h>.
|
|
14-May-1991 JohnRo
|
|
Change WORD to DWORD in all parameter lists. Similarly, change
|
|
PWORD to LPDWORD and PUSHORT to LPDWORD.
|
|
18-May-1991 JohnRo
|
|
Changed SPLERR to be defined as NET_API_STATUS.
|
|
22-May-1991 CliffV
|
|
Added local definitions of PDLEN and DTLEN since they are no longer
|
|
in lmcons.h.
|
|
26-May-1991 JohnRo
|
|
Use IN, OUT, OPTIONAL, LPVOID, LPTSTR, etc.
|
|
18-Jun-1991 JohnRo
|
|
Deleted RxPrintJobGetId, as it will be an IOCTL rather than a remoted
|
|
API.
|
|
26-Jun-1991 CliffV
|
|
Used LM2.0 versions of CNLEN, UNLEN, and QNLEN.
|
|
16-Jul-1991 JohnRo
|
|
Estimate bytes needed for print APIs.
|
|
16-Jun-1992 JohnRo
|
|
RAID 10324: net print vs. UNICODE.
|
|
08-Feb-1993 JohnRo
|
|
RAID 10164: Data misalignment error during XsDosPrintQGetInfo().
|
|
07-Apr-1993 JohnRo
|
|
RAID 5670: "NET PRINT \\server\share" gives err 124 (bad level) on NT.
|
|
|
|
--*/
|
|
|
|
#ifndef _RXPRINT_
|
|
#define _RXPRINT_
|
|
|
|
#include <windef.h> // DWORD, LPVOID, LPTSTR, TCHAR, etc.
|
|
#include <lmcons.h> // LM20_CNLEN, IN, NET_API_STATUS, etc.
|
|
|
|
#define SPLENTRY pascal far
|
|
|
|
/* length for character arrays in structures (excluding zero terminator) */
|
|
#define PDLEN 8 /* Print destination length */
|
|
#define DTLEN 9 /* Spool file data type */
|
|
// /* e.g. PM_Q_STD,PM_Q_RAW */
|
|
#define QP_DATATYPE_SIZE 15 /* returned by SplQpQueryDt */
|
|
#define DRIV_DEVICENAME_SIZE 31 /* see DRIVDATA struc */
|
|
#define DRIV_NAME_SIZE 8 /* name of device driver */
|
|
#define PRINTERNAME_SIZE 32 /* max printer name length */
|
|
#define FORMNAME_SIZE 31 /* max form name length */
|
|
// #define MAXCOMMENTSZ 48 /* queue comment length */
|
|
|
|
/**INTERNAL_ONLY**/
|
|
/* IOctl for RxPrintJobGetId */
|
|
#define SPOOL_LMCAT 83
|
|
#define SPOOL_LMGetPrintId 0x60
|
|
|
|
// Used in remdef.h for structure definition to marshall data
|
|
#define MAX_DEPENDENT_FILES 64
|
|
/**END_INTERNAL**/
|
|
|
|
|
|
typedef NET_API_STATUS SPLERR; /* err */
|
|
|
|
|
|
typedef struct _PRJINFOA { /* prj1 */
|
|
WORD uJobId;
|
|
CHAR szUserName[LM20_UNLEN+1];
|
|
CHAR pad_1;
|
|
CHAR szNotifyName[LM20_CNLEN+1];
|
|
CHAR szDataType[DTLEN+1];
|
|
LPSTR pszParms;
|
|
WORD uPosition;
|
|
WORD fsStatus;
|
|
LPSTR pszStatus;
|
|
DWORD ulSubmitted;
|
|
DWORD ulSize;
|
|
LPSTR pszComment;
|
|
} PRJINFOA;
|
|
typedef struct _PRJINFOW { /* prj1 */
|
|
WORD uJobId;
|
|
WCHAR szUserName[LM20_UNLEN+1];
|
|
WCHAR pad_1;
|
|
WCHAR szNotifyName[LM20_CNLEN+1];
|
|
WCHAR szDataType[DTLEN+1];
|
|
LPWSTR pszParms;
|
|
WORD uPosition;
|
|
WORD fsStatus;
|
|
LPWSTR pszStatus;
|
|
DWORD ulSubmitted;
|
|
DWORD ulSize;
|
|
LPWSTR pszComment;
|
|
} PRJINFOW;
|
|
#ifdef UNICODE
|
|
typedef PRJINFOW PRJINFO;
|
|
#else
|
|
typedef PRJINFOA PRJINFO;
|
|
#endif // UNICODE
|
|
typedef PRJINFOA far *PPRJINFOA;
|
|
typedef PRJINFOW far *PPRJINFOW;
|
|
#ifdef UNICODE
|
|
typedef PPRJINFOW PPRJINFO;
|
|
#else
|
|
typedef PPRJINFOA PPRJINFO;
|
|
#endif // UNICODE
|
|
typedef PRJINFOA near *NPPRJINFOA;
|
|
typedef PRJINFOW near *NPPRJINFOW;
|
|
#ifdef UNICODE
|
|
typedef NPPRJINFOW NPPRJINFO;
|
|
#else
|
|
typedef NPPRJINFOA NPPRJINFO;
|
|
#endif // UNICODE
|
|
|
|
typedef struct _PRJINFO2A { /* prj2 */
|
|
WORD uJobId;
|
|
WORD uPriority;
|
|
LPSTR pszUserName;
|
|
WORD uPosition;
|
|
WORD fsStatus;
|
|
DWORD ulSubmitted;
|
|
DWORD ulSize;
|
|
LPSTR pszComment;
|
|
LPSTR pszDocument;
|
|
} PRJINFO2A;
|
|
typedef struct _PRJINFO2W { /* prj2 */
|
|
WORD uJobId;
|
|
WORD uPriority;
|
|
LPWSTR pszUserName;
|
|
WORD uPosition;
|
|
WORD fsStatus;
|
|
DWORD ulSubmitted;
|
|
DWORD ulSize;
|
|
LPWSTR pszComment;
|
|
LPWSTR pszDocument;
|
|
} PRJINFO2W;
|
|
#ifdef UNICODE
|
|
typedef PRJINFO2W PRJINFO2;
|
|
#else
|
|
typedef PRJINFO2A PRJINFO2;
|
|
#endif // UNICODE
|
|
typedef PRJINFO2A far *PPRJINFO2A;
|
|
typedef PRJINFO2W far *PPRJINFO2W;
|
|
#ifdef UNICODE
|
|
typedef PPRJINFO2W PPRJINFO2;
|
|
#else
|
|
typedef PPRJINFO2A PPRJINFO2;
|
|
#endif // UNICODE
|
|
typedef PRJINFO2A near *NPPRJINFO2A;
|
|
typedef PRJINFO2W near *NPPRJINFO2W;
|
|
#ifdef UNICODE
|
|
typedef NPPRJINFO2W NPPRJINFO2;
|
|
#else
|
|
typedef NPPRJINFO2A NPPRJINFO2;
|
|
#endif // UNICODE
|
|
|
|
typedef struct _PRJINFO3A { /* prj */
|
|
WORD uJobId;
|
|
WORD uPriority;
|
|
LPSTR pszUserName;
|
|
WORD uPosition;
|
|
WORD fsStatus;
|
|
DWORD ulSubmitted;
|
|
DWORD ulSize;
|
|
LPSTR pszComment;
|
|
LPSTR pszDocument;
|
|
LPSTR pszNotifyName;
|
|
LPSTR pszDataType;
|
|
LPSTR pszParms;
|
|
LPSTR pszStatus;
|
|
LPSTR pszQueue;
|
|
LPSTR pszQProcName;
|
|
LPSTR pszQProcParms;
|
|
LPSTR pszDriverName;
|
|
LPVOID pDriverData;
|
|
LPSTR pszPrinterName;
|
|
} PRJINFO3A;
|
|
typedef struct _PRJINFO3W { /* prj */
|
|
WORD uJobId;
|
|
WORD uPriority;
|
|
LPWSTR pszUserName;
|
|
WORD uPosition;
|
|
WORD fsStatus;
|
|
DWORD ulSubmitted;
|
|
DWORD ulSize;
|
|
LPWSTR pszComment;
|
|
LPWSTR pszDocument;
|
|
LPWSTR pszNotifyName;
|
|
LPWSTR pszDataType;
|
|
LPWSTR pszParms;
|
|
LPWSTR pszStatus;
|
|
LPWSTR pszQueue;
|
|
LPWSTR pszQProcName;
|
|
LPWSTR pszQProcParms;
|
|
LPWSTR pszDriverName;
|
|
LPVOID pDriverData;
|
|
LPWSTR pszPrinterName;
|
|
} PRJINFO3W;
|
|
#ifdef UNICODE
|
|
typedef PRJINFO3W PRJINFO3;
|
|
#else
|
|
typedef PRJINFO3A PRJINFO3;
|
|
#endif // UNICODE
|
|
typedef PRJINFO3A far *PPRJINFO3A;
|
|
typedef PRJINFO3W far *PPRJINFO3W;
|
|
#ifdef UNICODE
|
|
typedef PPRJINFO3W PPRJINFO3;
|
|
#else
|
|
typedef PPRJINFO3A PPRJINFO3;
|
|
#endif // UNICODE
|
|
typedef PRJINFO3A near *NPPRJINFO3A;
|
|
typedef PRJINFO3W near *NPPRJINFO3W;
|
|
#ifdef UNICODE
|
|
typedef NPPRJINFO3W NPPRJINFO3;
|
|
#else
|
|
typedef NPPRJINFO3A NPPRJINFO3;
|
|
#endif // UNICODE
|
|
|
|
|
|
typedef struct _PRDINFOA { /* prd1 */
|
|
CHAR szName[PDLEN+1];
|
|
CHAR szUserName[LM20_UNLEN+1];
|
|
WORD uJobId;
|
|
WORD fsStatus;
|
|
LPSTR pszStatus;
|
|
WORD time;
|
|
} PRDINFOA;
|
|
typedef struct _PRDINFOW { /* prd1 */
|
|
WCHAR szName[PDLEN+1];
|
|
WCHAR szUserName[LM20_UNLEN+1];
|
|
WORD uJobId;
|
|
WORD fsStatus;
|
|
LPWSTR pszStatus;
|
|
WORD time;
|
|
} PRDINFOW;
|
|
#ifdef UNICODE
|
|
typedef PRDINFOW PRDINFO;
|
|
#else
|
|
typedef PRDINFOA PRDINFO;
|
|
#endif // UNICODE
|
|
typedef PRDINFOA far *PPRDINFOA;
|
|
typedef PRDINFOW far *PPRDINFOW;
|
|
#ifdef UNICODE
|
|
typedef PPRDINFOW PPRDINFO;
|
|
#else
|
|
typedef PPRDINFOA PPRDINFO;
|
|
#endif // UNICODE
|
|
typedef PRDINFOA near *NPPRDINFOA;
|
|
typedef PRDINFOW near *NPPRDINFOW;
|
|
#ifdef UNICODE
|
|
typedef NPPRDINFOW NPPRDINFO;
|
|
#else
|
|
typedef NPPRDINFOA NPPRDINFO;
|
|
#endif // UNICODE
|
|
|
|
|
|
typedef struct _PRDINFO3A { /* prd */
|
|
LPSTR pszPrinterName;
|
|
LPSTR pszUserName;
|
|
LPSTR pszLogAddr;
|
|
WORD uJobId;
|
|
WORD fsStatus;
|
|
LPSTR pszStatus;
|
|
LPSTR pszComment;
|
|
LPSTR pszDrivers;
|
|
WORD time;
|
|
WORD pad1;
|
|
} PRDINFO3A;
|
|
typedef struct _PRDINFO3W { /* prd */
|
|
LPWSTR pszPrinterName;
|
|
LPWSTR pszUserName;
|
|
LPWSTR pszLogAddr;
|
|
WORD uJobId;
|
|
WORD fsStatus;
|
|
LPWSTR pszStatus;
|
|
LPWSTR pszComment;
|
|
LPWSTR pszDrivers;
|
|
WORD time;
|
|
WORD pad1;
|
|
} PRDINFO3W;
|
|
#ifdef UNICODE
|
|
typedef PRDINFO3W PRDINFO3;
|
|
#else
|
|
typedef PRDINFO3A PRDINFO3;
|
|
#endif // UNICODE
|
|
typedef PRDINFO3A far *PPRDINFO3A;
|
|
typedef PRDINFO3W far *PPRDINFO3W;
|
|
#ifdef UNICODE
|
|
typedef PPRDINFO3W PPRDINFO3;
|
|
#else
|
|
typedef PPRDINFO3A PPRDINFO3;
|
|
#endif // UNICODE
|
|
typedef PRDINFO3A near *NPPRDINFO3A;
|
|
typedef PRDINFO3W near *NPPRDINFO3W;
|
|
#ifdef UNICODE
|
|
typedef NPPRDINFO3W NPPRDINFO3;
|
|
#else
|
|
typedef NPPRDINFO3A NPPRDINFO3;
|
|
#endif // UNICODE
|
|
|
|
|
|
typedef struct _PRQINFOA { /* prq1 */
|
|
CHAR szName[LM20_QNLEN+1];
|
|
CHAR pad_1;
|
|
WORD uPriority;
|
|
WORD uStartTime;
|
|
WORD uUntilTime;
|
|
LPSTR pszSepFile;
|
|
LPSTR pszPrProc;
|
|
LPSTR pszDestinations;
|
|
LPSTR pszParms;
|
|
LPSTR pszComment;
|
|
WORD fsStatus;
|
|
WORD cJobs;
|
|
} PRQINFOA;
|
|
typedef struct _PRQINFOW { /* prq1 */
|
|
WCHAR szName[LM20_QNLEN+1];
|
|
WCHAR pad_1;
|
|
WORD uPriority;
|
|
WORD uStartTime;
|
|
WORD uUntilTime;
|
|
LPWSTR pszSepFile;
|
|
LPWSTR pszPrProc;
|
|
LPWSTR pszDestinations;
|
|
LPWSTR pszParms;
|
|
LPWSTR pszComment;
|
|
WORD fsStatus;
|
|
WORD cJobs;
|
|
} PRQINFOW;
|
|
#ifdef UNICODE
|
|
typedef PRQINFOW PRQINFO;
|
|
#else
|
|
typedef PRQINFOA PRQINFO;
|
|
#endif // UNICODE
|
|
typedef PRQINFOA far *PPRQINFOA;
|
|
typedef PRQINFOW far *PPRQINFOW;
|
|
#ifdef UNICODE
|
|
typedef PPRQINFOW PPRQINFO;
|
|
#else
|
|
typedef PPRQINFOA PPRQINFO;
|
|
#endif // UNICODE
|
|
typedef PRQINFOA near *NPPRQINFOA;
|
|
typedef PRQINFOW near *NPPRQINFOW;
|
|
#ifdef UNICODE
|
|
typedef NPPRQINFOW NPPRQINFO;
|
|
#else
|
|
typedef NPPRQINFOA NPPRQINFO;
|
|
#endif // UNICODE
|
|
|
|
|
|
typedef struct _PRQINFO3A { /* prq */
|
|
LPSTR pszName;
|
|
WORD uPriority;
|
|
WORD uStartTime;
|
|
WORD uUntilTime;
|
|
WORD pad1;
|
|
LPSTR pszSepFile;
|
|
LPSTR pszPrProc;
|
|
LPSTR pszParms;
|
|
LPSTR pszComment;
|
|
WORD fsStatus;
|
|
WORD cJobs;
|
|
LPSTR pszPrinters;
|
|
LPSTR pszDriverName;
|
|
LPVOID pDriverData;
|
|
} PRQINFO3A;
|
|
typedef struct _PRQINFO3W { /* prq */
|
|
LPWSTR pszName;
|
|
WORD uPriority;
|
|
WORD uStartTime;
|
|
WORD uUntilTime;
|
|
WORD pad1;
|
|
LPWSTR pszSepFile;
|
|
LPWSTR pszPrProc;
|
|
LPWSTR pszParms;
|
|
LPWSTR pszComment;
|
|
WORD fsStatus;
|
|
WORD cJobs;
|
|
LPWSTR pszPrinters;
|
|
LPWSTR pszDriverName;
|
|
LPVOID pDriverData;
|
|
} PRQINFO3W;
|
|
#ifdef UNICODE
|
|
typedef PRQINFO3W PRQINFO3;
|
|
#else
|
|
typedef PRQINFO3A PRQINFO3;
|
|
#endif // UNICODE
|
|
typedef PRQINFO3A far *PPRQINFO3A;
|
|
typedef PRQINFO3W far *PPRQINFO3W;
|
|
#ifdef UNICODE
|
|
typedef PPRQINFO3W PPRQINFO3;
|
|
#else
|
|
typedef PPRQINFO3A PPRQINFO3;
|
|
#endif // UNICODE
|
|
typedef PRQINFO3A near *NPPRQINFO3A;
|
|
typedef PRQINFO3W near *NPPRQINFO3W;
|
|
#ifdef UNICODE
|
|
typedef NPPRQINFO3W NPPRQINFO3;
|
|
#else
|
|
typedef NPPRQINFO3A NPPRQINFO3;
|
|
#endif // UNICODE
|
|
|
|
|
|
typedef struct _PRQINFO52A { /* prq */
|
|
WORD uVersion;
|
|
LPSTR pszModelName;
|
|
LPSTR pszDriverName;
|
|
LPSTR pszDataFileName;
|
|
LPSTR pszMonitorName;
|
|
LPSTR pszDriverPath;
|
|
LPSTR pszDefaultDataType;
|
|
LPSTR pszHelpFile;
|
|
LPSTR pszConfigFile;
|
|
WORD cDependentNames;
|
|
LPSTR pszDependentNames[MAX_DEPENDENT_FILES];
|
|
} PRQINFO52A;
|
|
typedef struct _PRQINFO52W { /* prq */
|
|
WORD uVersion;
|
|
LPWSTR pszModelName;
|
|
LPWSTR pszDriverName;
|
|
LPWSTR pszDataFileName;
|
|
LPWSTR pszMonitorName;
|
|
LPWSTR pszDriverPath;
|
|
LPWSTR pszDefaultDataType;
|
|
LPWSTR pszHelpFile;
|
|
LPWSTR pszConfigFile;
|
|
WORD cDependentNames;
|
|
LPWSTR pszDependentNames[MAX_DEPENDENT_FILES];
|
|
} PRQINFO52W;
|
|
#ifdef UNICODE
|
|
typedef PRQINFO52W PRQINFO52;
|
|
#else
|
|
typedef PRQINFO52A PRQINFO52;
|
|
#endif // UNICODE
|
|
typedef PRQINFO52A far *PPRQINFO52A;
|
|
typedef PRQINFO52W far *PPRQINFO52W;
|
|
#ifdef UNICODE
|
|
typedef PPRQINFO52W PPRQINFO52;
|
|
#else
|
|
typedef PPRQINFO52A PPRQINFO52;
|
|
#endif // UNICODE
|
|
typedef PRQINFO52A near *NPPRQINFO52A;
|
|
typedef PRQINFO52W near *NPPRQINFO52W;
|
|
#ifdef UNICODE
|
|
typedef NPPRQINFO52W NPPRQINFO52;
|
|
#else
|
|
typedef NPPRQINFO52A NPPRQINFO52;
|
|
#endif // UNICODE
|
|
|
|
|
|
/*
|
|
* structure for RxPrintJobGetId
|
|
*/
|
|
typedef struct _PRIDINFOA { /* prjid */
|
|
WORD uJobId;
|
|
CHAR szServer[LM20_CNLEN + 1];
|
|
CHAR szQName[LM20_QNLEN+1];
|
|
CHAR pad_1;
|
|
} PRIDINFOA;
|
|
/*
|
|
* structure for RxPrintJobGetId
|
|
*/
|
|
typedef struct _PRIDINFOW { /* prjid */
|
|
WORD uJobId;
|
|
WCHAR szServer[LM20_CNLEN + 1];
|
|
WCHAR szQName[LM20_QNLEN+1];
|
|
CHAR pad_1;
|
|
} PRIDINFOW;
|
|
#ifdef UNICODE
|
|
typedef PRIDINFOW PRIDINFO;
|
|
#else
|
|
typedef PRIDINFOA PRIDINFO;
|
|
#endif // UNICODE
|
|
typedef PRIDINFOA far *PPRIDINFOA;
|
|
typedef PRIDINFOW far *PPRIDINFOW;
|
|
#ifdef UNICODE
|
|
typedef PPRIDINFOW PPRIDINFO;
|
|
#else
|
|
typedef PPRIDINFOA PPRIDINFO;
|
|
#endif // UNICODE
|
|
typedef PRIDINFOA near *NPPRIDINFOA;
|
|
typedef PRIDINFOW near *NPPRIDINFOW;
|
|
#ifdef UNICODE
|
|
typedef NPPRIDINFOW NPPRIDINFO;
|
|
#else
|
|
typedef NPPRIDINFOA NPPRIDINFO;
|
|
#endif // UNICODE
|
|
|
|
|
|
/****************************************************************
|
|
* *
|
|
* Function prototypes *
|
|
* *
|
|
****************************************************************/
|
|
|
|
SPLERR SPLENTRY RxPrintDestEnum(
|
|
IN LPTSTR pszServer,
|
|
IN DWORD uLevel,
|
|
OUT LPBYTE pbBuf,
|
|
IN DWORD cbBuf,
|
|
IN LPDWORD pcReturned,
|
|
OUT LPDWORD pcTotal
|
|
);
|
|
|
|
SPLERR SPLENTRY RxPrintDestControl(
|
|
IN LPTSTR pszServer,
|
|
IN LPTSTR pszDevName,
|
|
IN DWORD uControl
|
|
);
|
|
|
|
SPLERR SPLENTRY RxPrintDestGetInfo(
|
|
IN LPTSTR pszServer,
|
|
IN LPTSTR pszName,
|
|
IN DWORD uLevel,
|
|
OUT LPBYTE pbBuf,
|
|
IN DWORD cbBuf,
|
|
OUT LPDWORD pcbNeeded // estimated (probably too large).
|
|
);
|
|
|
|
SPLERR SPLENTRY RxPrintDestAdd(
|
|
IN LPTSTR pszServer,
|
|
IN DWORD uLevel,
|
|
IN LPBYTE pbBuf,
|
|
IN DWORD cbBuf
|
|
);
|
|
|
|
SPLERR SPLENTRY RxPrintDestSetInfo(
|
|
IN LPTSTR pszServer,
|
|
IN LPTSTR pszName,
|
|
IN DWORD uLevel,
|
|
IN LPBYTE pbBuf,
|
|
IN DWORD cbBuf,
|
|
IN DWORD uParmNum
|
|
);
|
|
|
|
SPLERR SPLENTRY RxPrintDestDel(
|
|
IN LPTSTR pszServer,
|
|
IN LPTSTR pszPrinterName
|
|
);
|
|
|
|
SPLERR SPLENTRY RxPrintQEnum(
|
|
IN LPTSTR pszServer,
|
|
IN DWORD uLevel,
|
|
OUT LPBYTE pbBuf,
|
|
IN DWORD cbBuf,
|
|
OUT LPDWORD pcReturned,
|
|
OUT LPDWORD pcTotal
|
|
);
|
|
|
|
SPLERR SPLENTRY RxPrintQGetInfo(
|
|
IN LPTSTR pszServer,
|
|
IN LPTSTR pszQueueName,
|
|
IN DWORD uLevel,
|
|
OUT LPBYTE pbBuf,
|
|
IN DWORD cbBuf,
|
|
OUT LPDWORD pcbNeeded // estimated (probably too large).
|
|
);
|
|
|
|
SPLERR SPLENTRY RxPrintQSetInfo(
|
|
IN LPTSTR pszServer,
|
|
IN LPTSTR pszQueueName,
|
|
IN DWORD uLevel,
|
|
IN LPBYTE pbBuf,
|
|
IN DWORD cbBuf,
|
|
IN DWORD uParmNum
|
|
);
|
|
|
|
SPLERR SPLENTRY RxPrintQPause(
|
|
IN LPTSTR pszServer,
|
|
IN LPTSTR pszQueueName
|
|
);
|
|
|
|
SPLERR SPLENTRY RxPrintQContinue(
|
|
IN LPTSTR pszServer,
|
|
IN LPTSTR pszQueueName
|
|
);
|
|
|
|
SPLERR SPLENTRY RxPrintQPurge(
|
|
IN LPTSTR pszServer,
|
|
IN LPTSTR pszQueueName
|
|
);
|
|
|
|
SPLERR SPLENTRY RxPrintQAdd(
|
|
IN LPTSTR pszServer,
|
|
IN DWORD uLevel,
|
|
IN LPBYTE pbBuf,
|
|
IN DWORD cbBuf
|
|
);
|
|
|
|
SPLERR SPLENTRY RxPrintQDel(
|
|
IN LPTSTR pszServer,
|
|
IN LPTSTR pszQueueName
|
|
);
|
|
|
|
SPLERR SPLENTRY RxPrintJobGetInfo(
|
|
IN LPTSTR pszServer,
|
|
IN DWORD uJobId,
|
|
IN DWORD uLevel,
|
|
OUT LPBYTE pbBuf,
|
|
IN DWORD cbBuf,
|
|
OUT LPDWORD pcbNeeded // estimated (probably too large).
|
|
);
|
|
|
|
SPLERR SPLENTRY RxPrintJobSetInfo(
|
|
IN LPTSTR pszServer,
|
|
IN DWORD uJobId,
|
|
IN DWORD uLevel,
|
|
IN LPBYTE pbBuf,
|
|
IN DWORD cbBuf,
|
|
IN DWORD uParmNum
|
|
);
|
|
|
|
SPLERR SPLENTRY RxPrintJobPause(
|
|
IN LPTSTR pszServer,
|
|
IN DWORD uJobId
|
|
);
|
|
|
|
SPLERR SPLENTRY RxPrintJobContinue(
|
|
IN LPTSTR pszServer,
|
|
IN DWORD uJobId
|
|
);
|
|
|
|
SPLERR SPLENTRY RxPrintJobDel(
|
|
IN LPTSTR pszServer,
|
|
IN DWORD uJobId
|
|
);
|
|
|
|
SPLERR SPLENTRY RxPrintJobEnum(
|
|
IN LPTSTR pszServer,
|
|
IN LPTSTR pszQueueName,
|
|
IN DWORD uLevel,
|
|
OUT LPBYTE pbBuf,
|
|
IN DWORD cbBuf,
|
|
OUT LPDWORD pcReturned,
|
|
OUT LPDWORD pcTotal
|
|
);
|
|
|
|
|
|
/*
|
|
* Values for parmnum in RxPrintQSetInfo.
|
|
*/
|
|
|
|
#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_PRINTERS_PARMNUM 12
|
|
#define PRQ_DRIVERNAME_PARMNUM 13
|
|
#define PRQ_DRIVERDATA_PARMNUM 14
|
|
#define PRQ_MAXPARMNUM 14
|
|
|
|
/*
|
|
* Print Queue Priority
|
|
*/
|
|
|
|
#define PRQ_MAX_PRIORITY 1 /* highest priority */
|
|
#define PRQ_DEF_PRIORITY 5
|
|
#define PRQ_MIN_PRIORITY 9 /* lowest priority */
|
|
#define PRQ_NO_PRIORITY 0
|
|
|
|
/*
|
|
* Print queue status bitmask and values.
|
|
*/
|
|
|
|
#define PRQ_STATUS_MASK 3
|
|
#define PRQ_ACTIVE 0
|
|
#define PRQ_PAUSED 1
|
|
#define PRQ_ERROR 2
|
|
#define PRQ_PENDING 3
|
|
|
|
/*
|
|
* Print queue status bits for level 3
|
|
*/
|
|
|
|
#define PRQ3_PAUSED 0x1
|
|
#define PRQ3_PENDING 0x2
|
|
/*
|
|
* Values for parmnum in RxPrintJobSetInfo.
|
|
*/
|
|
|
|
#define PRJ_NOTIFYNAME_PARMNUM 3
|
|
#define PRJ_DATATYPE_PARMNUM 4
|
|
#define PRJ_PARMS_PARMNUM 5
|
|
#define PRJ_POSITION_PARMNUM 6
|
|
#define PRJ_COMMENT_PARMNUM 11
|
|
#define PRJ_DOCUMENT_PARMNUM 12
|
|
#define PRJ_PRIORITY_PARMNUM 14
|
|
#define PRJ_PROCPARMS_PARMNUM 16
|
|
#define PRJ_DRIVERDATA_PARMNUM 18
|
|
#define PRJ_MAXPARMNUM 18
|
|
|
|
/*
|
|
* Bitmap masks for status field of PRJINFO.
|
|
*/
|
|
|
|
/* 2-7 bits also used in device status */
|
|
|
|
#define PRJ_QSTATUS 0x0003 /* Bits 0,1 */
|
|
#define PRJ_DEVSTATUS 0x0ffc /* 2-11 bits */
|
|
#define PRJ_COMPLETE 0x0004 /* Bit 2 */
|
|
#define PRJ_INTERV 0x0008 /* Bit 3 */
|
|
#define PRJ_ERROR 0x0010 /* Bit 4 */
|
|
#define PRJ_DESTOFFLINE 0x0020 /* Bit 5 */
|
|
#define PRJ_DESTPAUSED 0x0040 /* Bit 6 */
|
|
#define PRJ_NOTIFY 0x0080 /* Bit 7 */
|
|
#define PRJ_DESTNOPAPER 0x0100 /* Bit 8 */
|
|
#define PRJ_DESTFORMCHG 0x0200 /* BIT 9 */
|
|
#define PRJ_DESTCRTCHG 0x0400 /* BIT 10 */
|
|
#define PRJ_DESTPENCHG 0x0800 /* BIT 11 */
|
|
#define PRJ_DELETED 0x8000 /* Bit 15 */
|
|
|
|
/*
|
|
* Values of PRJ_QSTATUS bits in fsStatus field of PRJINFO.
|
|
*/
|
|
|
|
#define PRJ_QS_QUEUED 0
|
|
#define PRJ_QS_PAUSED 1
|
|
#define PRJ_QS_SPOOLING 2
|
|
#define PRJ_QS_PRINTING 3
|
|
|
|
/*
|
|
* Print Job Priority
|
|
*/
|
|
|
|
#define PRJ_MAX_PRIORITY 99 /* lowest priority */
|
|
#define PRJ_MIN_PRIORITY 1 /* highest priority */
|
|
#define PRJ_NO_PRIORITY 0
|
|
|
|
|
|
/*
|
|
* Bitmap masks for status field of PRDINFO.
|
|
* see PRJ_... for bits 2-11
|
|
*/
|
|
|
|
#define PRD_STATUS_MASK 0x0003 /* Bits 0,1 */
|
|
#define PRD_DEVSTATUS 0x0ffc /* 2-11 bits */
|
|
|
|
/*
|
|
* Values of PRD_STATUS_MASK bits in fsStatus field of PRDINFO.
|
|
*/
|
|
|
|
#define PRD_ACTIVE 0
|
|
#define PRD_PAUSED 1
|
|
|
|
/*
|
|
* Control codes used in RxPrintDestControl.
|
|
*/
|
|
|
|
#define PRD_DELETE 0
|
|
#define PRD_PAUSE 1
|
|
#define PRD_CONT 2
|
|
#define PRD_RESTART 3
|
|
|
|
/*
|
|
* Values for parmnum in RxPrintDestSetInfo.
|
|
*/
|
|
|
|
#define PRD_LOGADDR_PARMNUM 3
|
|
#define PRD_COMMENT_PARMNUM 7
|
|
#define PRD_DRIVERS_PARMNUM 8
|
|
#endif // ndef _RXPRINT_
|
|
|