winspool.h

来自「开放源码的编译器open watcom 1.6.0版的源代码」· C头文件 代码 · 共 983 行 · 第 1/3 页

H
983
字号
#ifndef _WINSPOOL_H
#define _WINSPOOL_H
#if __GNUC__ >=3
#pragma GCC system_header
#endif

#ifdef __cplusplus
extern "C" {
#endif
#define DI_CHANNEL 1
#define DI_CHANNEL_WRITE 2
#define DI_READ_SPOOL_JOB 3
#define	DI_MEMORYMAP_WRITE	0x1
#define	FORM_USER	0x0
#define	FORM_BUILTIN	0x1
#define	FORM_PRINTER	0x2
#if (_WIN32_WINNT >= 0x0500)
#define DRIVER_KERNELMODE	0x00000001
#define DRIVER_USERMODE		0x00000002
#define	DSPRINT_PUBLISH		0x00000001
#define	DSPRINT_UPDATE		0x00000002
#define	DSPRINT_UNPUBLISH	0x00000004
#define	DSPRINT_REPUBLISH	0x00000008
#define	DSPRINT_PENDING		0x80000000
#endif
#define	JOB_CONTROL_PAUSE		1
#define	JOB_CONTROL_RESUME		2
#define	JOB_CONTROL_CANCEL		3
#define	JOB_CONTROL_RESTART		4
#define	JOB_CONTROL_DELETE		5
#define	JOB_CONTROL_SENT_TO_PRINTER	6
#define	JOB_CONTROL_LAST_PAGE_EJECTED	7
#define	JOB_STATUS_PAUSED		0x1
#define	JOB_STATUS_ERROR		0x2
#define	JOB_STATUS_DELETING		0x4
#define	JOB_STATUS_SPOOLING		0x8
#define	JOB_STATUS_PRINTING		0x10
#define	JOB_STATUS_OFFLINE		0x20
#define	JOB_STATUS_PAPEROUT		0x40
#define	JOB_STATUS_PRINTED		0x80
#define	JOB_STATUS_DELETED		0x100
#define	JOB_STATUS_BLOCKED_DEVQ		0x200
#define	JOB_STATUS_USER_INTERVENTION	0x400
#define	JOB_STATUS_RESTART		0x800
#define	JOB_STATUS_COMPLETE		0x1000
#define	JOB_POSITION_UNSPECIFIED	0
#define	JOB_NOTIFY_TYPE	1
#define	JOB_NOTIFY_FIELD_PRINTER_NAME	0
#define	JOB_NOTIFY_FIELD_MACHINE_NAME	1
#define	JOB_NOTIFY_FIELD_PORT_NAME	2
#define	JOB_NOTIFY_FIELD_USER_NAME	3
#define	JOB_NOTIFY_FIELD_NOTIFY_NAME	4
#define	JOB_NOTIFY_FIELD_DATATYPE	5
#define	JOB_NOTIFY_FIELD_PRINT_PROCESSOR	6
#define	JOB_NOTIFY_FIELD_PARAMETERS	7
#define	JOB_NOTIFY_FIELD_DRIVER_NAME	8
#define	JOB_NOTIFY_FIELD_DEVMODE	9
#define	JOB_NOTIFY_FIELD_STATUS	10
#define	JOB_NOTIFY_FIELD_STATUS_STRING	11
#define	JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR	12
#define	JOB_NOTIFY_FIELD_DOCUMENT	13
#define	JOB_NOTIFY_FIELD_PRIORITY	14
#define	JOB_NOTIFY_FIELD_POSITION	15
#define	JOB_NOTIFY_FIELD_SUBMITTED	16
#define	JOB_NOTIFY_FIELD_START_TIME	17
#define	JOB_NOTIFY_FIELD_UNTIL_TIME	18
#define	JOB_NOTIFY_FIELD_TIME	19
#define	JOB_NOTIFY_FIELD_TOTAL_PAGES	20
#define	JOB_NOTIFY_FIELD_PAGES_PRINTED	21
#define	JOB_NOTIFY_FIELD_TOTAL_BYTES	22
#define	JOB_NOTIFY_FIELD_BYTES_PRINTED	23
#define	JOB_ACCESS_ADMINISTER	16
#define	JOB_ALL_ACCESS	(STANDARD_RIGHTS_REQUIRED|JOB_ACCESS_ADMINISTER)
#define	JOB_READ	(STANDARD_RIGHTS_READ|	JOB_ACCESS_ADMINISTER)
#define	JOB_WRITE	(STANDARD_RIGHTS_WRITE|JOB_ACCESS_ADMINISTER)
#define	JOB_EXECUTE	(STANDARD_RIGHTS_EXECUTE|JOB_ACCESS_ADMINISTER)
#define	PRINTER_NOTIFY_OPTIONS_REFRESH	1
#define	PRINTER_ACCESS_ADMINISTER	4
#define	PRINTER_ACCESS_USE	8
#define	PRINTER_ERROR_INFORMATION	0x80000000
#define	PRINTER_ERROR_WARNING	0x40000000
#define	PRINTER_ERROR_SEVERE	0x20000000
#define	PRINTER_ERROR_OUTOFPAPER	1
#define	PRINTER_ERROR_JAM	2
#define	PRINTER_ERROR_OUTOFTONER	4
#define	PRINTER_CONTROL_PAUSE	1
#define	PRINTER_CONTROL_RESUME	2
#define	PRINTER_CONTROL_PURGE	3
#define	PRINTER_CONTROL_SET_STATUS	4
#define	PRINTER_STATUS_PAUSED	1
#define	PRINTER_STATUS_ERROR	2
#define	PRINTER_STATUS_PENDING_DELETION	4
#define	PRINTER_STATUS_PAPER_JAM	8
#define	PRINTER_STATUS_PAPER_OUT	0x10
#define	PRINTER_STATUS_MANUAL_FEED	0x20
#define	PRINTER_STATUS_PAPER_PROBLEM	0x40
#define	PRINTER_STATUS_OFFLINE	0x80
#define	PRINTER_STATUS_IO_ACTIVE	0x100
#define	PRINTER_STATUS_BUSY	0x200
#define	PRINTER_STATUS_PRINTING	0x400
#define	PRINTER_STATUS_OUTPUT_BIN_FULL	0x800
#define	PRINTER_STATUS_NOT_AVAILABLE	0x1000
#define	PRINTER_STATUS_WAITING	0x2000
#define	PRINTER_STATUS_PROCESSING	0x4000
#define	PRINTER_STATUS_INITIALIZING	0x8000
#define	PRINTER_STATUS_WARMING_UP	0x10000
#define	PRINTER_STATUS_TONER_LOW	0x20000
#define	PRINTER_STATUS_NO_TONER	0x40000
#define	PRINTER_STATUS_PAGE_PUNT	0x80000
#define	PRINTER_STATUS_USER_INTERVENTION	0x100000
#define	PRINTER_STATUS_OUT_OF_MEMORY	0x200000
#define	PRINTER_STATUS_DOOR_OPEN	0x400000
#define	PRINTER_STATUS_SERVER_UNKNOWN	0x800000
#define	PRINTER_STATUS_POWER_SAVE	0x1000000
#define	PRINTER_ATTRIBUTE_QUEUED	1
#define	PRINTER_ATTRIBUTE_DIRECT	2
#define	PRINTER_ATTRIBUTE_DEFAULT	4
#define	PRINTER_ATTRIBUTE_SHARED	8
#define	PRINTER_ATTRIBUTE_NETWORK	0x10
#define	PRINTER_ATTRIBUTE_HIDDEN	0x20
#define	PRINTER_ATTRIBUTE_LOCAL	0x40
#define	PRINTER_ATTRIBUTE_ENABLE_DEVQ	0x80
#define	PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS	0x100
#define	PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST	0x200
#define	PRINTER_ATTRIBUTE_WORK_OFFLINE	0x400
#define	PRINTER_ATTRIBUTE_ENABLE_BIDI	0x800
#define	PRINTER_ATTRIBUTE_RAW_ONLY	0x1000
#define	PRINTER_ATTRIBUTE_PUBLISHED	0x2000
#define	PRINTER_ENUM_DEFAULT	1
#define	PRINTER_ENUM_LOCAL	2
#define	PRINTER_ENUM_CONNECTIONS	4
#define	PRINTER_ENUM_FAVORITE	4
#define	PRINTER_ENUM_NAME	8
#define	PRINTER_ENUM_REMOTE	16
#define	PRINTER_ENUM_SHARED	32
#define	PRINTER_ENUM_NETWORK	0x40
#define	PRINTER_ENUM_EXPAND	0x4000
#define	PRINTER_ENUM_CONTAINER	0x8000
#define	PRINTER_ENUM_ICONMASK	0xff0000
#define	PRINTER_ENUM_ICON1	0x10000
#define	PRINTER_ENUM_ICON2	0x20000
#define	PRINTER_ENUM_ICON3	0x40000
#define	PRINTER_ENUM_ICON4	0x80000
#define	PRINTER_ENUM_ICON5	0x100000
#define	PRINTER_ENUM_ICON6	0x200000
#define	PRINTER_ENUM_ICON7	0x400000
#define	PRINTER_ENUM_ICON8	0x800000
#define PRINTER_NOTIFY_TYPE	0
#define PRINTER_NOTIFY_FIELD_SERVER_NAME	0
#define PRINTER_NOTIFY_FIELD_PRINTER_NAME	1
#define PRINTER_NOTIFY_FIELD_SHARE_NAME	2
#define PRINTER_NOTIFY_FIELD_PORT_NAME	3
#define PRINTER_NOTIFY_FIELD_DRIVER_NAME	4
#define PRINTER_NOTIFY_FIELD_COMMENT	5
#define PRINTER_NOTIFY_FIELD_LOCATION	6
#define PRINTER_NOTIFY_FIELD_DEVMODE	7
#define PRINTER_NOTIFY_FIELD_SEPFILE	8
#define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR	9
#define PRINTER_NOTIFY_FIELD_PARAMETERS	10
#define PRINTER_NOTIFY_FIELD_DATATYPE	11
#define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR	12
#define PRINTER_NOTIFY_FIELD_ATTRIBUTES	13
#define PRINTER_NOTIFY_FIELD_PRIORITY	14
#define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY	15
#define PRINTER_NOTIFY_FIELD_START_TIME	16
#define PRINTER_NOTIFY_FIELD_UNTIL_TIME	17
#define PRINTER_NOTIFY_FIELD_STATUS	18
#define PRINTER_NOTIFY_FIELD_STATUS_STRING	19
#define PRINTER_NOTIFY_FIELD_CJOBS	20
#define PRINTER_NOTIFY_FIELD_AVERAGE_PPM	21
#define PRINTER_NOTIFY_FIELD_TOTAL_PAGES	22
#define PRINTER_NOTIFY_FIELD_PAGES_PRINTED	23
#define PRINTER_NOTIFY_FIELD_TOTAL_BYTES	24
#define PRINTER_NOTIFY_FIELD_BYTES_PRINTED	25
#define PRINTER_CHANGE_ADD_PRINTER	1
#define PRINTER_CHANGE_SET_PRINTER	2
#define PRINTER_CHANGE_DELETE_PRINTER	4
#define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER	8
#define PRINTER_CHANGE_PRINTER	0xFF
#define PRINTER_CHANGE_ADD_JOB	0x100
#define PRINTER_CHANGE_SET_JOB	0x200
#define PRINTER_CHANGE_DELETE_JOB	0x400
#define PRINTER_CHANGE_WRITE_JOB	0x800
#define PRINTER_CHANGE_JOB	0xFF00
#define PRINTER_CHANGE_ADD_FORM	0x10000
#define PRINTER_CHANGE_SET_FORM	0x20000
#define PRINTER_CHANGE_DELETE_FORM	0x40000
#define PRINTER_CHANGE_FORM	0x70000
#define PRINTER_CHANGE_ADD_PORT	0x100000
#define PRINTER_CHANGE_CONFIGURE_PORT	0x200000
#define PRINTER_CHANGE_DELETE_PORT	0x400000
#define PRINTER_CHANGE_PORT	0x700000
#define PRINTER_CHANGE_ADD_PRINT_PROCESSOR	0x1000000
#define PRINTER_CHANGE_DELETE_PRINT_PROCESSOR	0x4000000
#define PRINTER_CHANGE_PRINT_PROCESSOR	0x7000000
#define PRINTER_CHANGE_ADD_PRINTER_DRIVER	0x10000000
#define PRINTER_CHANGE_SET_PRINTER_DRIVER	0x20000000
#define PRINTER_CHANGE_DELETE_PRINTER_DRIVER	0x40000000
#define PRINTER_CHANGE_PRINTER_DRIVER	0x70000000
#define PRINTER_CHANGE_TIMEOUT	0x80000000
#define PRINTER_CHANGE_ALL	0x7777FFFF
#define PRINTER_NOTIFY_INFO_DISCARDED	1
#define PRINTER_ALL_ACCESS	(STANDARD_RIGHTS_REQUIRED|PRINTER_ACCESS_ADMINISTER|PRINTER_ACCESS_USE)
#define PRINTER_READ	(STANDARD_RIGHTS_READ|PRINTER_ACCESS_USE)
#define PRINTER_WRITE	(STANDARD_RIGHTS_WRITE|PRINTER_ACCESS_USE)
#define PRINTER_EXECUTE	(STANDARD_RIGHTS_EXECUTE|PRINTER_ACCESS_USE)
#define NO_PRIORITY	0
#define MAX_PRIORITY	99
#define MIN_PRIORITY	1
#define DEF_PRIORITY	1
#define PORT_TYPE_WRITE	1
#define PORT_TYPE_READ	2
#define PORT_TYPE_REDIRECTED	4
#define PORT_TYPE_NET_ATTACHED	8
#define SERVER_ACCESS_ADMINISTER	1
#define SERVER_ACCESS_ENUMERATE	2
#define SERVER_ALL_ACCESS	(STANDARD_RIGHTS_REQUIRED|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE)
#define SERVER_READ	(STANDARD_RIGHTS_READ|SERVER_ACCESS_ENUMERATE)
#define SERVER_WRITE	(STANDARD_RIGHTS_WRITE|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE)
#define SERVER_EXECUTE	(STANDARD_RIGHTS_EXECUTE|SERVER_ACCESS_ENUMERATE)
#define PORT_STATUS_TYPE_ERROR	1
#define PORT_STATUS_TYPE_WARNING	2
#define PORT_STATUS_TYPE_INFO	3
#define PORT_STATUS_OFFLINE	1
#define PORT_STATUS_PAPER_JAM	2
#define PORT_STATUS_PAPER_OUT	3
#define PORT_STATUS_OUTPUT_BIN_FULL	4
#define PORT_STATUS_PAPER_PROBLEM	5
#define PORT_STATUS_NO_TONER	6
#define PORT_STATUS_DOOR_OPEN	7
#define PORT_STATUS_USER_INTERVENTION	8
#define PORT_STATUS_OUT_OF_MEMORY	9
#define PORT_STATUS_TONER_LOW	10
#define PORT_STATUS_WARMING_UP	11
#define PORT_STATUS_POWER_SAVE	12
#ifndef RC_INVOKED
typedef struct _ADDJOB_INFO_1A {
	LPSTR Path;
	DWORD JobId;
} ADDJOB_INFO_1A,*PADDJOB_INFO_1A,*LPADDJOB_INFO_1A;
typedef struct _ADDJOB_INFO_1W {
	LPWSTR Path;
	DWORD JobId;
} ADDJOB_INFO_1W,*PADDJOB_INFO_1W,*LPADDJOB_INFO_1W;
typedef struct _DATATYPES_INFO_1A{LPSTR pName;} DATATYPES_INFO_1A,*PDATATYPES_INFO_1A,*LPDATATYPES_INFO_1A;
typedef struct _DATATYPES_INFO_1W{LPWSTR pName;} DATATYPES_INFO_1W,*PDATATYPES_INFO_1W,*LPDATATYPES_INFO_1W;
typedef struct _JOB_INFO_1A {
	DWORD JobId;
	LPSTR pPrinterName;
	LPSTR pMachineName;
	LPSTR pUserName;
	LPSTR pDocument;
	LPSTR pDatatype;
	LPSTR pStatus;
	DWORD Status;
	DWORD Priority;
	DWORD Position;
	DWORD TotalPages;
	DWORD PagesPrinted;
	SYSTEMTIME Submitted;
} JOB_INFO_1A,*PJOB_INFO_1A,*LPJOB_INFO_1A;
typedef struct _JOB_INFO_1W {
	DWORD JobId;
	LPWSTR pPrinterName;
	LPWSTR pMachineName;
	LPWSTR pUserName;
	LPWSTR pDocument;
	LPWSTR pDatatype;
	LPWSTR pStatus;
	DWORD Status;
	DWORD Priority;
	DWORD Position;
	DWORD TotalPages;
	DWORD PagesPrinted;
	SYSTEMTIME Submitted;
} JOB_INFO_1W,*PJOB_INFO_1W,*LPJOB_INFO_1W;
typedef struct _JOB_INFO_2A {
	DWORD JobId;
	LPSTR pPrinterName;
	LPSTR pMachineName;
	LPSTR pUserName;
	LPSTR pDocument;
	LPSTR pNotifyName;
	LPSTR pDatatype;
	LPSTR pPrintProcessor;
	LPSTR pParameters;
	LPSTR pDriverName;
	LPDEVMODEA pDevMode;
	LPSTR pStatus;
	PSECURITY_DESCRIPTOR pSecurityDescriptor;
	DWORD Status;
	DWORD Priority;
	DWORD Position;
	DWORD StartTime;
	DWORD UntilTime;
	DWORD TotalPages;
	DWORD Size;
	SYSTEMTIME Submitted;
	DWORD Time;
	DWORD PagesPrinted;
} JOB_INFO_2A,*PJOB_INFO_2A,*LPJOB_INFO_2A;
typedef struct _JOB_INFO_2W {
	DWORD JobId;
	LPWSTR pPrinterName;
	LPWSTR pMachineName;
	LPWSTR pUserName;
	LPWSTR pDocument;
	LPWSTR pNotifyName;
	LPWSTR pDatatype;
	LPWSTR pPrintProcessor;
	LPWSTR pParameters;
	LPWSTR pDriverName;
	LPDEVMODEW pDevMode;
	LPWSTR pStatus;
	PSECURITY_DESCRIPTOR pSecurityDescriptor;
	DWORD Status;
	DWORD Priority;
	DWORD Position;
	DWORD StartTime;
	DWORD UntilTime;
	DWORD TotalPages;
	DWORD Size;
	SYSTEMTIME Submitted;
	DWORD Time;
	DWORD PagesPrinted;
} JOB_INFO_2W,*PJOB_INFO_2W,*LPJOB_INFO_2W;
typedef struct _JOB_INFO_3 { 
	DWORD JobId; 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?