📄 rpc_spoolss.h
字号:
uint32 sharename_ptr; uint32 portname_ptr; uint32 drivername_ptr; uint32 comment_ptr; uint32 location_ptr; uint32 devmode_ptr; uint32 sepfile_ptr; uint32 printprocessor_ptr; uint32 datatype_ptr; uint32 parameters_ptr; uint32 secdesc_ptr; uint32 attributes; uint32 priority; uint32 default_priority; uint32 starttime; uint32 untiltime; uint32 status; uint32 cjobs; uint32 averageppm; UNISTR2 servername; UNISTR2 printername; UNISTR2 sharename; UNISTR2 portname; UNISTR2 drivername; UNISTR2 comment; UNISTR2 location; UNISTR2 sepfile; UNISTR2 printprocessor; UNISTR2 datatype; UNISTR2 parameters;}SPOOL_PRINTER_INFO_LEVEL_2;typedef struct spool_printer_info_level_3{ uint32 secdesc_ptr;}SPOOL_PRINTER_INFO_LEVEL_3;typedef struct spool_printer_info_level_7{ uint32 guid_ptr; uint32 action; UNISTR2 guid;}SPOOL_PRINTER_INFO_LEVEL_7;typedef struct spool_printer_info_level{ uint32 level; uint32 info_ptr; SPOOL_PRINTER_INFO_LEVEL_1 *info_1; SPOOL_PRINTER_INFO_LEVEL_2 *info_2; SPOOL_PRINTER_INFO_LEVEL_3 *info_3; SPOOL_PRINTER_INFO_LEVEL_7 *info_7;}SPOOL_PRINTER_INFO_LEVEL;typedef struct spool_printer_driver_info_level_3{ uint32 cversion; uint32 name_ptr; uint32 environment_ptr; uint32 driverpath_ptr; uint32 datafile_ptr; uint32 configfile_ptr; uint32 helpfile_ptr; uint32 monitorname_ptr; uint32 defaultdatatype_ptr; uint32 dependentfilessize; uint32 dependentfiles_ptr; UNISTR2 name; UNISTR2 environment; UNISTR2 driverpath; UNISTR2 datafile; UNISTR2 configfile; UNISTR2 helpfile; UNISTR2 monitorname; UNISTR2 defaultdatatype; BUFFER5 dependentfiles;}SPOOL_PRINTER_DRIVER_INFO_LEVEL_3;/* SPOOL_PRINTER_DRIVER_INFO_LEVEL_6 structure */typedef struct { uint32 version; uint32 name_ptr; uint32 environment_ptr; uint32 driverpath_ptr; uint32 datafile_ptr; uint32 configfile_ptr; uint32 helpfile_ptr; uint32 monitorname_ptr; uint32 defaultdatatype_ptr; uint32 dependentfiles_len; uint32 dependentfiles_ptr; uint32 previousnames_len; uint32 previousnames_ptr; NTTIME driverdate; UINT64_S driverversion; uint32 dummy4; uint32 mfgname_ptr; uint32 oemurl_ptr; uint32 hardwareid_ptr; uint32 provider_ptr; UNISTR2 name; UNISTR2 environment; UNISTR2 driverpath; UNISTR2 datafile; UNISTR2 configfile; UNISTR2 helpfile; UNISTR2 monitorname; UNISTR2 defaultdatatype; BUFFER5 dependentfiles; BUFFER5 previousnames; UNISTR2 mfgname; UNISTR2 oemurl; UNISTR2 hardwareid; UNISTR2 provider;} SPOOL_PRINTER_DRIVER_INFO_LEVEL_6;typedef struct spool_printer_driver_info_level{ uint32 level; uint32 ptr; SPOOL_PRINTER_DRIVER_INFO_LEVEL_3 *info_3; SPOOL_PRINTER_DRIVER_INFO_LEVEL_6 *info_6;}SPOOL_PRINTER_DRIVER_INFO_LEVEL;typedef struct spool_q_setprinter{ POLICY_HND handle; uint32 level; SPOOL_PRINTER_INFO_LEVEL info; SEC_DESC_BUF *secdesc_ctr; DEVMODE_CTR devmode_ctr; uint32 command;}SPOOL_Q_SETPRINTER;typedef struct spool_r_setprinter{ WERROR status;}SPOOL_R_SETPRINTER;/********************************************/typedef struct { POLICY_HND handle;} SPOOL_Q_DELETEPRINTER;typedef struct { POLICY_HND handle; WERROR status;} SPOOL_R_DELETEPRINTER;/********************************************/typedef struct { POLICY_HND handle;} SPOOL_Q_ABORTPRINTER;typedef struct { WERROR status;} SPOOL_R_ABORTPRINTER;/********************************************/typedef struct { UNISTR2 *server_name; uint32 level; SPOOL_PRINTER_INFO_LEVEL info; DEVMODE_CTR devmode_ctr; SEC_DESC_BUF *secdesc_ctr; uint32 user_switch; SPOOL_USER_CTR user_ctr;} SPOOL_Q_ADDPRINTEREX;typedef struct { POLICY_HND handle; WERROR status;} SPOOL_R_ADDPRINTEREX;/********************************************/typedef struct spool_q_addprinterdriver{ uint32 server_name_ptr; UNISTR2 server_name; uint32 level; SPOOL_PRINTER_DRIVER_INFO_LEVEL info;}SPOOL_Q_ADDPRINTERDRIVER;typedef struct spool_r_addprinterdriver{ WERROR status;}SPOOL_R_ADDPRINTERDRIVER;typedef struct spool_q_addprinterdriverex{ uint32 server_name_ptr; UNISTR2 server_name; uint32 level; SPOOL_PRINTER_DRIVER_INFO_LEVEL info; uint32 copy_flags;}SPOOL_Q_ADDPRINTERDRIVEREX;typedef struct spool_r_addprinterdriverex{ WERROR status;}SPOOL_R_ADDPRINTERDRIVEREX;typedef struct driver_directory_1{ UNISTR name;}DRIVER_DIRECTORY_1;typedef struct driver_info_ctr_info{ DRIVER_DIRECTORY_1 *info1;}DRIVER_DIRECTORY_CTR;typedef struct spool_q_getprinterdriverdirectory{ uint32 name_ptr; UNISTR2 name; uint32 environment_ptr; UNISTR2 environment; uint32 level; RPC_BUFFER *buffer; uint32 offered;}SPOOL_Q_GETPRINTERDRIVERDIR;typedef struct spool_r_getprinterdriverdirectory{ RPC_BUFFER *buffer; uint32 needed; WERROR status;}SPOOL_R_GETPRINTERDRIVERDIR;typedef struct spool_q_addprintprocessor{ uint32 server_ptr; UNISTR2 server; UNISTR2 environment; UNISTR2 path; UNISTR2 name;}SPOOL_Q_ADDPRINTPROCESSOR;typedef struct spool_r_addprintprocessor{ WERROR status;}SPOOL_R_ADDPRINTPROCESSOR;typedef struct spool_q_enumprintprocessors{ uint32 name_ptr; UNISTR2 name; uint32 environment_ptr; UNISTR2 environment; uint32 level; RPC_BUFFER *buffer; uint32 offered;}SPOOL_Q_ENUMPRINTPROCESSORS;typedef struct printprocessor_1{ UNISTR name;}PRINTPROCESSOR_1;typedef struct spool_r_enumprintprocessors{ RPC_BUFFER *buffer; uint32 needed; uint32 returned; WERROR status;}SPOOL_R_ENUMPRINTPROCESSORS;typedef struct spool_q_enumprintprocdatatypes{ uint32 name_ptr; UNISTR2 name; uint32 processor_ptr; UNISTR2 processor; uint32 level; RPC_BUFFER *buffer; uint32 offered;}SPOOL_Q_ENUMPRINTPROCDATATYPES;typedef struct ppdatatype_1{ UNISTR name;}PRINTPROCDATATYPE_1;typedef struct spool_r_enumprintprocdatatypes{ RPC_BUFFER *buffer; uint32 needed; uint32 returned; WERROR status;}SPOOL_R_ENUMPRINTPROCDATATYPES;typedef struct printmonitor_1{ UNISTR name;}PRINTMONITOR_1;typedef struct printmonitor_2{ UNISTR name; UNISTR environment; UNISTR dll_name;}PRINTMONITOR_2;typedef struct spool_q_enumprintmonitors{ uint32 name_ptr; UNISTR2 name; uint32 level; RPC_BUFFER *buffer; uint32 offered;}SPOOL_Q_ENUMPRINTMONITORS;typedef struct spool_r_enumprintmonitors{ RPC_BUFFER *buffer; uint32 needed; uint32 returned; WERROR status;}SPOOL_R_ENUMPRINTMONITORS;typedef struct spool_q_enumprinterdata{ POLICY_HND handle; uint32 index; uint32 valuesize; uint32 datasize;}SPOOL_Q_ENUMPRINTERDATA;typedef struct spool_r_enumprinterdata{ uint32 valuesize; uint16 *value; uint32 realvaluesize; uint32 type; uint32 datasize; uint8 *data; uint32 realdatasize; WERROR status;}SPOOL_R_ENUMPRINTERDATA;typedef struct spool_q_setprinterdata{ POLICY_HND handle; UNISTR2 value; uint32 type; uint32 max_len; uint8 *data; uint32 real_len; uint32 numeric_data;}SPOOL_Q_SETPRINTERDATA;typedef struct spool_r_setprinterdata{ WERROR status;}SPOOL_R_SETPRINTERDATA;typedef struct spool_q_resetprinter{ POLICY_HND handle; uint32 datatype_ptr; UNISTR2 datatype; DEVMODE_CTR devmode_ctr;} SPOOL_Q_RESETPRINTER;typedef struct spool_r_resetprinter{ WERROR status;} SPOOL_R_RESETPRINTER;typedef struct _form{ uint32 flags; uint32 name_ptr; uint32 size_x; uint32 size_y; uint32 left; uint32 top; uint32 right; uint32 bottom; UNISTR2 name;}FORM;typedef struct spool_q_addform{ POLICY_HND handle; uint32 level; uint32 level2; /* This should really be part of the FORM structure */ FORM form;}SPOOL_Q_ADDFORM;typedef struct spool_r_addform{ WERROR status;}SPOOL_R_ADDFORM;typedef struct spool_q_setform{ POLICY_HND handle; UNISTR2 name; uint32 level; uint32 level2; FORM form;}SPOOL_Q_SETFORM;typedef struct spool_r_setform{ WERROR status;}SPOOL_R_SETFORM;typedef struct spool_q_deleteform{ POLICY_HND handle; UNISTR2 name;}SPOOL_Q_DELETEFORM;typedef struct spool_r_deleteform{ WERROR status;}SPOOL_R_DELETEFORM;typedef struct spool_q_getjob{ POLICY_HND handle; uint32 jobid; uint32 level; RPC_BUFFER *buffer; uint32 offered;}SPOOL_Q_GETJOB;typedef struct pjob_info_info{ union { JOB_INFO_1 *job_info_1; JOB_INFO_2 *job_info_2; void *info; } job;}PJOB_INFO;typedef struct spool_r_getjob{ RPC_BUFFER *buffer; uint32 needed; WERROR status;}SPOOL_R_GETJOB;typedef struct spool_q_replyopenprinter{ UNISTR2 string; uint32 printer; uint32 type; uint32 unknown0; uint32 unknown1;}SPOOL_Q_REPLYOPENPRINTER;typedef struct spool_r_replyopenprinter{ POLICY_HND handle; WERROR status;}SPOOL_R_REPLYOPENPRINTER;typedef struct spool_q_routerreplyprinter{ POLICY_HND handle; uint32 condition; uint32 unknown1; /* 0x00000001 */ uint32 change_id; uint8 unknown2[5]; /* 0x0000000001 */}SPOOL_Q_ROUTERREPLYPRINTER;typedef struct spool_r_routerreplyprinter{ WERROR status;}SPOOL_R_ROUTERREPLYPRINTER;typedef struct spool_q_replycloseprinter{ POLICY_HND handle;}SPOOL_Q_REPLYCLOSEPRINTER;typedef struct spool_r_replycloseprinter{ POLICY_HND handle; WERROR status;}SPOOL_R_REPLYCLOSEPRINTER;typedef struct spool_q_rrpcn{ POLICY_HND handle; uint32 change_low; uint32 change_high; uint32 unknown0; uint32 unknown1; uint32 info_ptr; SPOOL_NOTIFY_INFO info; }SPOOL_Q_REPLY_RRPCN;typedef struct spool_r_rrpcn{ uint32 unknown0; WERROR status;}SPOOL_R_REPLY_RRPCN;typedef struct spool_q_getprinterdataex{ POLICY_HND handle; UNISTR2 keyname; UNISTR2 valuename; uint32 size;}SPOOL_Q_GETPRINTERDATAEX;typedef struct spool_r_getprinterdataex{ uint32 type; uint32 size; uint8 *data; uint32 needed; WERROR status;}SPOOL_R_GETPRINTERDATAEX;typedef struct spool_q_setprinterdataex{ POLICY_HND handle; UNISTR2 key; UNISTR2 value; uint32 type; uint32 max_len; uint8 *data; uint32 real_len; uint32 numeric_data;}SPOOL_Q_SETPRINTERDATAEX;typedef struct spool_r_setprinterdataex{ WERROR status;}SPOOL_R_SETPRINTERDATAEX;typedef struct spool_q_deleteprinterdataex{ POLICY_HND handle; UNISTR2 keyname; UNISTR2 valuename;}SPOOL_Q_DELETEPRINTERDATAEX;typedef struct spool_r_deleteprinterdataex{ WERROR status;}SPOOL_R_DELETEPRINTERDATAEX;typedef struct spool_q_enumprinterkey{ POLICY_HND handle; UNISTR2 key; uint32 size;}SPOOL_Q_ENUMPRINTERKEY;typedef struct spool_r_enumprinterkey{ BUFFER5 keys; uint32 needed; /* in bytes */ WERROR status;}SPOOL_R_ENUMPRINTERKEY;typedef struct spool_q_deleteprinterkey{ POLICY_HND handle; UNISTR2 keyname;}SPOOL_Q_DELETEPRINTERKEY;typedef struct spool_r_deleteprinterkey{ WERROR status;}SPOOL_R_DELETEPRINTERKEY;typedef struct printer_enum_values{ UNISTR valuename; uint32 value_len; uint32 type; uint8 *data; uint32 data_len; }PRINTER_ENUM_VALUES;typedef struct printer_enum_values_ctr{ uint32 size; uint32 size_of_array; PRINTER_ENUM_VALUES *values;}PRINTER_ENUM_VALUES_CTR;typedef struct spool_q_enumprinterdataex{ POLICY_HND handle; UNISTR2 key; uint32 size;}SPOOL_Q_ENUMPRINTERDATAEX;typedef struct spool_r_enumprinterdataex{ PRINTER_ENUM_VALUES_CTR ctr; uint32 needed; uint32 returned; WERROR status;}SPOOL_R_ENUMPRINTERDATAEX;typedef struct printprocessor_directory_1{ UNISTR name;}PRINTPROCESSOR_DIRECTORY_1;typedef struct spool_q_getprintprocessordirectory{ UNISTR2 name; UNISTR2 environment; uint32 level; RPC_BUFFER *buffer; uint32 offered;}SPOOL_Q_GETPRINTPROCESSORDIRECTORY;typedef struct spool_r_getprintprocessordirectory{ RPC_BUFFER *buffer; uint32 needed; WERROR status;}SPOOL_R_GETPRINTPROCESSORDIRECTORY;#define PRINTER_DRIVER_VERSION 2#define PRINTER_DRIVER_ARCHITECTURE "Windows NT x86"#endif /* _RPC_SPOOLSS_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -