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 + -
显示快捷键?