📄 winspool.h
字号:
#ifndef _WINSPOOL_H#define _WINSPOOL_H#if __GNUC__ >=3#pragma GCC system_header#endif#ifdef __cplusplusextern "C" {#endif#define DI_CHANNEL 1#define DI_CHANNEL_WRITE 2#define DI_READ_SPOOL_JOB 3#define FORM_BUILTIN 1#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_STATUS_PAUSED 1#define JOB_STATUS_ERROR 2#define JOB_STATUS_DELETING 4#define JOB_STATUS_SPOOLING 8#define JOB_STATUS_PRINTING 16#define JOB_STATUS_OFFLINE 32#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_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_INVOKEDtypedef 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 _DOC_INFO_1A { LPSTR pDocName; LPSTR pOutputFile; LPSTR pDatatype;} DOC_INFO_1A,*PDOC_INFO_1A,*LPDOC_INFO_1A;typedef struct _DOC_INFO_1W { LPWSTR pDocName; LPWSTR pOutputFile; LPWSTR pDatatype;} DOC_INFO_1W,*PDOC_INFO_1W,*LPDOC_INFO_1W;typedef struct _DOC_INFO_2A { LPSTR pDocName; LPSTR pOutputFile; LPSTR pDatatype; DWORD dwMode; DWORD JobId;} DOC_INFO_2A,*PDOC_INFO_2A,*LPDOC_INFO_2A;typedef struct _DOC_INFO_2W { LPWSTR pDocName; LPWSTR pOutputFile; LPWSTR pDatatype; DWORD dwMode; DWORD JobId;} DOC_INFO_2W,*PDOC_INFO_2W,*LPDOC_INFO_2W;typedef struct _DRIVER_INFO_1A {LPSTR pName;} DRIVER_INFO_1A,*PDRIVER_INFO_1A,*LPDRIVER_INFO_1A;typedef struct _DRIVER_INFO_1W {LPWSTR pName;} DRIVER_INFO_1W,*PDRIVER_INFO_1W,*LPDRIVER_INFO_1W;typedef struct _DRIVER_INFO_2A { DWORD cVersion; LPSTR pName; LPSTR pEnvironment; LPSTR pDriverPath; LPSTR pDataFile; LPSTR pConfigFile;} DRIVER_INFO_2A,*PDRIVER_INFO_2A,*LPDRIVER_INFO_2A;typedef struct _DRIVER_INFO_2W { DWORD cVersion; LPWSTR pName; LPWSTR pEnvironment; LPWSTR pDriverPath; LPWSTR pDataFile; LPWSTR pConfigFile;} DRIVER_INFO_2W,*PDRIVER_INFO_2W,*LPDRIVER_INFO_2W;typedef struct _DRIVER_INFO_3A { DWORD cVersion; LPSTR pName; LPSTR pEnvironment; LPSTR pDriverPath; LPSTR pDataFile; LPSTR pConfigFile; LPSTR pHelpFile; LPSTR pDependentFiles; LPSTR pMonitorName; LPSTR pDefaultDataType;} DRIVER_INFO_3A,*PDRIVER_INFO_3A,*LPDRIVER_INFO_3A;typedef struct _DRIVER_INFO_3W { DWORD cVersion; LPWSTR pName; LPWSTR pEnvironment; LPWSTR pDriverPath; LPWSTR pDataFile; LPWSTR pConfigFile; LPWSTR pHelpFile; LPWSTR pDependentFiles; LPWSTR pMonitorName; LPWSTR pDefaultDataType;} DRIVER_INFO_3W,*PDRIVER_INFO_3W,*LPDRIVER_INFO_3W;typedef struct _MONITOR_INFO_1A{LPSTR pName;} MONITOR_INFO_1A,*PMONITOR_INFO_1A,*LPMONITOR_INFO_1A;typedef struct _MONITOR_INFO_1W{LPWSTR pName;} MONITOR_INFO_1W,*PMONITOR_INFO_1W,*LPMONITOR_INFO_1W;typedef struct _PORT_INFO_1A {LPSTR pName;} PORT_INFO_1A,*PPORT_INFO_1A,*LPPORT_INFO_1A;typedef struct _PORT_INFO_1W {LPWSTR pName;} PORT_INFO_1W,*PPORT_INFO_1W,*LPPORT_INFO_1W;typedef struct _MONITOR_INFO_2A{ LPSTR pName; LPSTR pEnvironment; LPSTR pDLLName;} MONITOR_INFO_2A,*PMONITOR_INFO_2A,*LPMONITOR_INFO_2A;typedef struct _MONITOR_INFO_2W{ LPWSTR pName; LPWSTR pEnvironment; LPWSTR pDLLName;} MONITOR_INFO_2W,*PMONITOR_INFO_2W,*LPMONITOR_INFO_2W;typedef struct _PORT_INFO_2A { LPSTR pPortName; LPSTR pMonitorName; LPSTR pDescription; DWORD fPortType; DWORD Reserved;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -