📄 spoolss.idl
字号:
/* Function: 0x2b */ [todo] WERROR spoolss_AddPrinterConnection( ); /******************/ /* Function: 0x2c */ [todo] WERROR spoolss_DeletePrinterConnection( ); /******************/ /* Function: 0x2d */ [todo] WERROR spoolss_PrinterMessageBox( /* Marked as obsolete in MSDN. "Not necessary and has no effect". */ ); /******************/ /* Function: 0x2e */ [todo] WERROR spoolss_AddMonitor( ); /******************/ /* Function: 0x2f */ [todo] WERROR spoolss_DeleteMonitor( ); /******************/ /* Function: 0x30 */ [todo] WERROR spoolss_DeletePrintProcessor( ); /******************/ /* Function: 0x31 */ [todo] WERROR spoolss_AddPrintProvidor( ); /******************/ /* Function: 0x32 */ [todo] WERROR spoolss_DeletePrintProvidor( ); /******************/ /* Function: 0x33 */ [todo] WERROR spoolss_EnumPrintProcDataTypes( ); /******************/ /* Function: 0x34 */ [todo] WERROR spoolss_ResetPrinter( ); /******************/ /* Function: 0x35 */ WERROR spoolss_GetPrinterDriver2( [in,ref] policy_handle *handle, [in,unique] [string,charset(UTF16)] uint16 *architecture, [in] uint32 level, [in,unique] DATA_BLOB *buffer, [in] uint32 offered, [in] uint32 client_major_version, [in] uint32 client_minor_version, [out,unique] DATA_BLOB *info, [out] uint32 needed, [out] uint32 server_major_version, [out] uint32 server_minor_version ); /******************/ /* Function: 0x36 */ [todo] WERROR spoolss_FindFirstPrinterChangeNotification( ); /******************/ /* Function: 0x37 */ [todo] WERROR spoolss_FindNextPrinterChangeNotification( ); /******************/ /* Function: 0x38 */ [public] WERROR spoolss_FindClosePrinterNotify( [in,ref] policy_handle *handle ); /******************/ /* Function: 0x39 */ [todo] WERROR spoolss_RouterFindFirstPrinterChangeNotificationOld( ); /******************/ /* Function: 0x3a */ [public] WERROR spoolss_ReplyOpenPrinter( [in,string,charset(UTF16)] uint16 server_name[], [in] uint32 printer_local, [in] winreg_Type type, [in] uint32 unknown1, [in] uint32 unknown2, [out,ref] policy_handle *handle ); /******************/ /* Function: 0x3b */ [todo] WERROR spoolss_RouterReplyPrinter( ); /******************/ /* Function: 0x3c */ [public] WERROR spoolss_ReplyClosePrinter( [in,out,ref] policy_handle *handle ); /******************/ /* Function: 0x3d */ [todo] WERROR spoolss_AddPortEx( ); /******************/ /* Function: 0x3e */ [todo] WERROR spoolss_RouterFindFirstPrinterChangeNotification( ); /******************/ /* Function: 0x3f */ [todo] WERROR spoolss_SpoolerInit( ); /******************/ /* Function: 0x40 */ [todo] WERROR spoolss_ResetPrinterEx( ); typedef [enum16bit] enum { SPOOLSS_FIELD_SERVER_NAME = 0, SPOOLSS_FIELD_PRINTER_NAME = 1, SPOOLSS_FIELD_SHARE_NAME = 2, SPOOLSS_FIELD_PORT_NAME = 3, SPOOLSS_FIELD_DRIVER_NAME = 4, SPOOLSS_FIELD_COMMENT = 5, SPOOLSS_FIELD_LOCATION = 6, SPOOLSS_FIELD_DEVMODE = 7, SPOOLSS_FIELD_SEPFILE = 8, SPOOLSS_FIELD_PRINT_PROCESSOR = 9, SPOOLSS_FIELD_PARAMETERS = 10, SPOOLSS_FIELD_DATATYPE = 11, SPOOLSS_FIELD_SECURITY_DESCRIPTOR=12, SPOOLSS_FIELD_ATTRIBUTES = 13, SPOOLSS_FIELD_PRIORITY = 14, SPOOLSS_FIELD_DEFAULT_PRIORITY = 15, SPOOLSS_FIELD_START_TIME = 16, SPOOLSS_FIELD_UNTIL_TIME = 17, SPOOLSS_FIELD_STATUS = 18, SPOOLSS_FIELD_STATUS_STRING = 19, SPOOLSS_FIELD_CJOBS = 20, SPOOLSS_FIELD_AVERAGE_PPM = 21, SPOOLSS_FIELD_TOTAL_PAGES = 22, SPOOLSS_FIELD_PAGES_PRINTED = 23, SPOOLSS_FIELD_TOTAL_BYTES = 24, SPOOLSS_FIELD_BYTES_PRINTED = 25 } spoolss_Field; typedef [enum16bit] enum { SPOOLSS_NOTIFY_PRINTER = 0, SPOOLSS_NOTIFY_JOB = 1 } spoolss_NotifyType; /******************/ /* Function: 0x41 */ typedef struct { spoolss_NotifyType type; uint16 u1; uint32 u2; uint32 u3; uint32 count; [size_is(count)] spoolss_Field *fields; } spoolss_NotifyOptionsArray; typedef struct { uint32 version; uint32 flags; uint32 count; [size_is(count)] spoolss_NotifyOptionsArray *options; } spoolss_NotifyOptionsContainer; [public] WERROR spoolss_RemoteFindFirstPrinterChangeNotifyEx( [in,ref] policy_handle *handle, [in] uint32 flags, [in] uint32 options, [in,unique] [string,charset(UTF16)] uint16 *str, [in] uint32 printer_local, [in,unique] spoolss_NotifyOptionsContainer *t1 ); /******************/ /* Function: 0x42 */ [todo] WERROR spoolss_RouterRefreshPrinterChangeNotification( ); typedef struct { uint32 size; [size_is(size/2),unique,charset(UTF16)] uint16 *string; } spoolss_NotifyUTF16String; typedef struct { uint32 size; [size_is(size),charset(DOS)] uint8 *string; } spoolss_NotifyDOSString; typedef struct { uint16 data[8]; } spoolss_NotifyBlobData; typedef struct { uint32 len; [unique] spoolss_NotifyBlobData *data; } spoolss_NotifyBlob; typedef [switch_type(uint32)] union { [case(1)] dlong integer; [case(2)] spoolss_NotifyUTF16String utf16_string; [case(3)] spoolss_NotifyDOSString ascii_string; [case(4)] spoolss_NotifyBlob blob; [case(5)] spoolss_NotifyDOSString ascii_string; } spoolss_NotifyData; typedef struct { spoolss_NotifyType type; spoolss_Field field; uint32 variable_type; uint32 job_id; [switch_is(variable_type)] spoolss_NotifyData data; } spoolss_Notify; typedef struct { uint32 version; uint32 flags; uint32 count; [size_is(count)] spoolss_Notify notifies[]; } spoolss_NotifyInfo; /******************/ /* Function: 0x43 */ [public] WERROR spoolss_RemoteFindNextPrinterChangeNotifyEx( [in,ref] policy_handle *handle, [in] uint32 change_low, [in,unique] spoolss_NotifyOptionsContainer *container, [out, unique] spoolss_NotifyInfo *info ); /******************/ /* Function: 0x44 */ [todo] WERROR spoolss_44( ); typedef struct { uint32 size; [string,charset(UTF16)] uint16 *client; [string,charset(UTF16)] uint16 *user; uint32 build; uint32 major; uint32 minor; uint32 processor; } spoolss_UserLevel1; typedef union { [case(1)] spoolss_UserLevel1 *level1; } spoolss_UserLevel; typedef bitmap { SERVER_ACCESS_ADMINISTER = 0x00000001, SERVER_ACCESS_ENUMERATE = 0x00000002, PRINTER_ACCESS_ADMINISTER = 0x00000004, PRINTER_ACCESS_USE = 0x00000008, JOB_ACCESS_ADMINISTER = 0x00000010 } spoolss_AccessRights; /* Access rights for print servers */ const int SERVER_ALL_ACCESS = SEC_STD_REQUIRED | SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE; const int SERVER_READ = SEC_STD_READ_CONTROL | SERVER_ACCESS_ENUMERATE; const int SERVER_WRITE = STANDARD_RIGHTS_WRITE_ACCESS | SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE; const int SERVER_EXECUTE = SEC_STD_READ_CONTROL | SERVER_ACCESS_ENUMERATE; /* Access rights for printers */ const int PRINTER_ALL_ACCESS = SEC_STD_REQUIRED | PRINTER_ACCESS_ADMINISTER | PRINTER_ACCESS_USE; const int PRINTER_READ = SEC_STD_READ_CONTROL | PRINTER_ACCESS_USE; const int PRINTER_WRITE = STANDARD_RIGHTS_WRITE_ACCESS | PRINTER_ACCESS_USE; const int PRINTER_EXECUTE = SEC_STD_READ_CONTROL | PRINTER_ACCESS_USE; /* Access rights for jobs */ const int JOB_ALL_ACCESS = SEC_STD_REQUIRED | JOB_ACCESS_ADMINISTER; const int JOB_READ = SEC_STD_READ_CONTROL | JOB_ACCESS_ADMINISTER; const int JOB_WRITE = STANDARD_RIGHTS_WRITE_ACCESS | JOB_ACCESS_ADMINISTER; const int JOB_EXECUTE = SEC_STD_READ_CONTROL | JOB_ACCESS_ADMINISTER; /* ACE masks for various print permissions */ const int PRINTER_ACE_FULL_CONTROL = SEC_GENERIC_ALL | PRINTER_ALL_ACCESS; const int PRINTER_ACE_MANAGE_DOCUMENTS = SEC_GENERIC_ALL | READ_CONTROL_ACCESS; const int PRINTER_ACE_PRINT = GENERIC_EXECUTE_ACCESS | READ_CONTROL_ACCESS | PRINTER_ACCESS_USE; /******************/ /* Function: 0x45 */ [public] WERROR spoolss_OpenPrinterEx( [in,unique] [string,charset(UTF16)] uint16 *printername, [in,unique] [string,charset(UTF16)] uint16 *datatype, [in] spoolss_DevmodeContainer devmode_ctr, [in] uint32 access_mask, [in] uint32 level, [in,switch_is(level)] spoolss_UserLevel userlevel, [out,ref] policy_handle *handle ); /******************/ /* Function: 0x46 */ WERROR spoolss_AddPrinterEx( [in,unique] [string,charset(UTF16)] uint16 *server, [in] uint32 level, [in,unique,switch_is(level)] spoolss_PrinterInfo *info, [in] spoolss_DevmodeContainer devmode_ctr, [in,unique] security_descriptor *secdesc, [in] uint32 ulevel, [in,switch_is(ulevel)] spoolss_UserLevel userlevel ); /******************/ /* Function: 0x47 */ [todo] WERROR spoolss_47( ); /******************/ /* Function: 0x48 */ WERROR spoolss_EnumPrinterData( [in,ref] policy_handle *handle, [in] uint32 enum_index, [out,ref,size_is(value_offered/2),charset(UTF16)] uint16 *value_name, [in] uint32 value_offered, [out,ref] uint32 *value_needed, [out,ref] uint32 *printerdata_type, [out,ref] DATA_BLOB *buffer, [in] uint32 data_offered, [out,ref] uint32 *data_needed ); /******************/ /* Function: 0x49 */ WERROR spoolss_DeletePrinterData( [in,ref] policy_handle *handle, [in] [string,charset(UTF16)] uint16 value_name[] ); /******************/ /* Function: 0x4a */ [todo] WERROR spoolss_4a( ); /******************/ /* Function: 0x4b */ [todo] WERROR spoolss_4b( ); /******************/ /* Function: 0x4c */ [todo] WERROR spoolss_4c( ); /******************/ /* Function: 0x4d */ WERROR spoolss_SetPrinterDataEx( [in,ref] policy_handle *handle, [in] [string,charset(UTF16)] uint16 key_name[], [in] [string,charset(UTF16)] uint16 value_name[], [in] uint32 type, [in] DATA_BLOB buffer, [in] uint32 offered ); /******************/ /* Function: 0x4e */ WERROR spoolss_GetPrinterDataEx( [in,ref] policy_handle *handle, [in] [string,charset(UTF16)] uint16 key_name[], [in] [string,charset(UTF16)] uint16 value_name[], [in] uint32 offered, [out] uint32 type, [out] DATA_BLOB buffer, [out] uint32 needed ); /******************/ /* Function: 0x4f */ [public] WERROR spoolss_EnumPrinterDataEx( [in,ref] policy_handle *handle, [in] [string,charset(UTF16)] uint16 key_name[], [in] uint32 offered, [out] DATA_BLOB buffer, [out] uint32 needed, [out] uint32 count ); /******************/ /* Function: 0x50 */ [public] WERROR spoolss_EnumPrinterKey( [in, ref] policy_handle *handle, [in] [string,charset(UTF16)] uint16 key_name[], [out] uint32 key_buffer_size, [out] uint16 key_buffer[key_buffer_size], [in,out] uint32 needed ); /******************/ /* Function: 0x51 */ WERROR spoolss_DeletePrinterDataEx( [in,ref] policy_handle *handle, [in] [string,charset(UTF16)] uint16 key_name[], [in] [string,charset(UTF16)] uint16 value_name[] ); /******************/ /* Function: 0x52 */ [todo] WERROR spoolss_DeletePrinterKey( ); /******************/ /* Function: 0x53 */ [todo] WERROR spoolss_53( ); /******************/ /* Function: 0x54 */ [todo] WERROR spoolss_DeletePrinterDriverEx( ); /******************/ /* Function: 0x55 */ [todo] WERROR spoolss_55( ); /******************/ /* Function: 0x56 */ [todo] WERROR spoolss_56( ); /******************/ /* Function: 0x57 */ [todo] WERROR spoolss_57( ); /******************/ /* Function: 0x58 */ WERROR spoolss_XcvData( [in,ref] policy_handle *handle, [in] [string,charset(UTF16)] uint16 function_name[], [in] DATA_BLOB in_data, [in,value(r->in.in_data.length)] uint32 _in_data_length, [in] uint32 offered, [in] uint32 unknown1, [out] DATA_BLOB out_data, [out] uint32 needed, [out] uint32 unknown2 ); /******************/ /* Function: 0x59 */ [public,todo] WERROR spoolss_AddPrinterDriverEx( ); /******************/ /* Function: 0x5a */ [todo] WERROR spoolss_5a( ); /******************/ /* Function: 0x5b */ [todo] WERROR spoolss_5b( ); /******************/ /* Function: 0x5c */ [todo] WERROR spoolss_5c( ); /******************/ /* Function: 0x5d */ [todo] WERROR spoolss_5d( ); /******************/ /* Function: 0x5e */ [todo] WERROR spoolss_5e( ); /******************/ /* Function: 0x5f */ [todo] WERROR spoolss_5f( );}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -