#define PRINTER_STATUS_OK ( 0x00000000 )
#define JOB_STATUS_QUEUED ( 0x0000 )
+#define MAXDEVICENAME ( 32 )
#define PRINTER_ENUM_ICONMASK ( (PRINTER_ENUM_ICON1|PRINTER_ENUM_ICON2|PRINTER_ENUM_ICON3|PRINTER_ENUM_ICON4|PRINTER_ENUM_ICON5|PRINTER_ENUM_ICON6|PRINTER_ENUM_ICON7|PRINTER_ENUM_ICON8) )
#define SPL_ARCH_WIN40 ( "WIN40" )
#define SPL_ARCH_W32X86 ( "W32X86" )
#define SPL_ARCH_W32PPC ( "W32PPC" )
#define SPL_ARCH_IA64 ( "IA64" )
#define SPL_ARCH_X64 ( "x64" )
-#define SPOOLSS_ARCHITECTURE_ALL ( "all" )
+#define SPOOLSS_ARCHITECTURE_ALL ( "All" )
+#define SPOOLSS_ARCHITECTURE_ALL_CLUSTER ( "AllCluster" )
#define SPOOLSS_ARCHITECTURE_NT_X86 ( "Windows NT x86" )
+#define SPOOLSS_ARCHITECTURE_IA_64 ( "Windows IA64" )
+#define SPOOLSS_ARCHITECTURE_x64 ( "Windows x64" )
+#define SPOOLSS_ARCHITECTURE_4_0 ( "Windows 4.0" )
#define SPOOLSS_DEFAULT_SERVER_PATH ( "C:\\WINDOWS\\system32\\spool" )
+#define SPOOL_PRINTERDATA_KEY ( "PrinterDriverData" )
+#define SPOOL_DSSPOOLER_KEY ( "DsSpooler" )
+#define SPOOL_DSDRIVER_KEY ( "DsDriver" )
+#define SPOOL_DSUSER_KEY ( "DsUser" )
+#define SPOOL_PNPDATA_KEY ( "PnPData" )
+#define SPOOL_OID_KEY ( "OID" )
+#define SPOOL_REG_ASSETNUMBER ( "assetNumber" )
+#define SPOOL_REG_BYTESPERMINUTE ( "bytesPerMinute" )
+#define SPOOL_REG_DEFAULTPRIORITY ( "defaultPriority" )
+#define SPOOL_REG_DESCRIPTION ( "description" )
+#define SPOOL_REG_DRIVERNAME ( "driverName" )
+#define SPOOL_REG_DRIVERVERSION ( "driverVersion" )
+#define SPOOL_REG_FLAGS ( "flags" )
+#define SPOOL_REG_LOCATION ( "location" )
+#define SPOOL_REG_OPERATINGSYSTEM ( "operatingSystem" )
+#define SPOOL_REG_OPERATINGSYSTEMHOTFIX ( "operatingSystemHotfix" )
+#define SPOOL_REG_OPERATINGSYSTEMSERVICEPACK ( "operatingSystemServicePack" )
+#define SPOOL_REG_OPERATINGSYSTEMVERSION ( "operatingSystemVersion" )
+#define SPOOL_REG_PORTNAME ( "portName" )
+#define SPOOL_REG_PRINTATTRIBUTES ( "printAttributes" )
+#define SPOOL_REG_PRINTBINNAMES ( "printBinNames" )
+#define SPOOL_REG_PRINTCOLLATE ( "printCollate" )
+#define SPOOL_REG_PRINTCOLOR ( "printColor" )
+#define SPOOL_REG_PRINTDUPLEXSUPPORTED ( "printDuplexSupported" )
+#define SPOOL_REG_PRINTENDTIME ( "printEndTime" )
+#define SPOOL_REG_PRINTERNAME ( "printerName" )
+#define SPOOL_REG_PRINTFORMNAME ( "printFormName" )
+#define SPOOL_REG_PRINTKEEPPRINTEDJOBS ( "printKeepPrintedJobs" )
+#define SPOOL_REG_PRINTLANGUAGE ( "printLanguage" )
+#define SPOOL_REG_PRINTMACADDRESS ( "printMACAddress" )
+#define SPOOL_REG_PRINTMAXCOPIES ( "printMaxCopies" )
+#define SPOOL_REG_PRINTMAXRESOLUTIONSUPPORTED ( "printMaxResolutionSupported" )
+#define SPOOL_REG_PRINTMAXXEXTENT ( "printMaxXExtent" )
+#define SPOOL_REG_PRINTMAXYEXTENT ( "printMaxYExtent" )
+#define SPOOL_REG_PRINTMEDIAREADY ( "printMediaReady" )
+#define SPOOL_REG_PRINTMEDIASUPPORTED ( "printMediaSupported" )
+#define SPOOL_REG_PRINTMEMORY ( "printMemory" )
+#define SPOOL_REG_PRINTMINXEXTENT ( "printMinXExtent" )
+#define SPOOL_REG_PRINTMINYEXTENT ( "printMinYExtent" )
+#define SPOOL_REG_PRINTNETWORKADDRESS ( "printNetworkAddress" )
+#define SPOOL_REG_PRINTNOTIFY ( "printNotify" )
+#define SPOOL_REG_PRINTNUMBERUP ( "printNumberUp" )
+#define SPOOL_REG_PRINTORIENTATIONSSUPPORTED ( "printOrientationsSupported" )
+#define SPOOL_REG_PRINTOWNER ( "printOwner" )
+#define SPOOL_REG_PRINTPAGESPERMINUTE ( "printPagesPerMinute" )
+#define SPOOL_REG_PRINTRATE ( "printRate" )
+#define SPOOL_REG_PRINTRATEUNIT ( "printRateUnit" )
+#define SPOOL_REG_PRINTSEPARATORFILE ( "printSeparatorFile" )
+#define SPOOL_REG_PRINTSHARENAME ( "printShareName" )
+#define SPOOL_REG_PRINTSPOOLING ( "printSpooling" )
+#define SPOOL_REGVAL_PRINTWHILESPOOLING ( "PrintWhileSpooling" )
+#define SPOOL_REGVAL_PRINTAFTERSPOOLED ( "PrintAfterSpooled" )
+#define SPOOL_REGVAL_PRINTDIRECT ( "PrintDirect" )
+#define SPOOL_REG_PRINTSTAPLINGSUPPORTED ( "printStaplingSupported" )
+#define SPOOL_REG_PRINTSTARTTIME ( "printStartTime" )
+#define SPOOL_REG_PRINTSTATUS ( "printStatus" )
+#define SPOOL_REG_PRIORITY ( "priority" )
+#define SPOOL_REG_SERVERNAME ( "serverName" )
+#define SPOOL_REG_SHORTSERVERNAME ( "shortServerName" )
+#define SPOOL_REG_UNCNAME ( "uNCName" )
+#define SPOOL_REG_URL ( "url" )
+#define SPOOL_REG_VERSIONNUMBER ( "versionNumber" )
#define SPL_LOCAL_PORT ( "Local Port" )
#define SPL_TCPIP_PORT ( "Standard TCP/IP Port" )
#define SPL_XCV_MONITOR_LOCALMON ( ",XcvMonitor Local Port" )
const char * data_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
const char * config_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
const char * help_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
+ const char ** dependent_files;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
const char * default_datatype;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
- const char ** dependent_files;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
const char ** previous_names;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
NTTIME driver_date;
uint64_t driver_version;
const char * mui_dll;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
uint32_t ressource_id;
const char * display_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
- uint32_t lang_id;
+ uint16_t lang_id;
+ uint16_t unused;
}/* [gensize,public] */;
union spoolss_FormInfo {
uint32_t data_length;/* [value(ndr_size_spoolss_PrinterData(data,type,ndr->iconv_convenience,ndr->flags))] */
}/* [relative_base,gensize,public] */;
+union spoolss_KeyNames {
+ const char ** string_array;/* [default,flag(LIBNDR_FLAG_STR_NULLTERM)] */
+}/* [nodiscriminant] */;
+
/* bitmap spoolss_DeleteDriverFlags */
#define DPD_DELETE_UNUSED_FILES ( 0x00000001 )
#define DPD_DELETE_SPECIFIC_VERSION ( 0x00000002 )
};
+struct _spoolss_SetPrinterDataEx {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ const char *key_name;/* [charset(UTF16)] */
+ const char *value_name;/* [charset(UTF16)] */
+ enum winreg_Type type;
+ DATA_BLOB data;
+ uint32_t _offered;
+ } in;
+
+ struct {
+ WERROR result;
+ } out;
+
+};
+
+
+struct __spoolss_SetPrinterDataEx {
+ struct {
+ enum winreg_Type type;
+ } in;
+
+ struct {
+ union spoolss_PrinterData *data;/* [ref,switch_is(type)] */
+ } out;
+
+};
+
+
struct spoolss_SetPrinterDataEx {
struct {
struct policy_handle *handle;/* [ref] */
const char *key_name;/* [charset(UTF16)] */
const char *value_name;/* [charset(UTF16)] */
enum winreg_Type type;
- uint8_t *buffer;/* [ref,size_is(offered)] */
+ union spoolss_PrinterData data;/* [subcontext(4),switch_is(type)] */
+ uint32_t _offered;/* [value(ndr_size_spoolss_PrinterData(&data,type,ndr->iconv_convenience,flags))] */
+ } in;
+
+ struct {
+ WERROR result;
+ } out;
+
+};
+
+
+struct _spoolss_GetPrinterDataEx {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ const char *key_name;/* [charset(UTF16)] */
+ const char *value_name;/* [charset(UTF16)] */
uint32_t offered;
} in;
struct {
+ enum winreg_Type *type;/* [ref] */
+ DATA_BLOB *data;/* [ref] */
+ uint32_t *needed;/* [ref] */
WERROR result;
} out;
};
+struct __spoolss_GetPrinterDataEx {
+ struct {
+ enum winreg_Type type;
+ } in;
+
+ struct {
+ union spoolss_PrinterData *data;/* [ref,switch_is(type)] */
+ } out;
+
+};
+
+
struct spoolss_GetPrinterDataEx {
struct {
struct policy_handle *handle;/* [ref] */
struct {
enum winreg_Type *type;/* [ref] */
- uint8_t *buffer;/* [ref,size_is(offered)] */
+ union spoolss_PrinterData *data;/* [subcontext_size(offered),ref,subcontext(4),switch_is(*type)] */
uint32_t *needed;/* [ref] */
WERROR result;
} out;
} in;
struct {
- uint16_t *key_buffer;/* [ref,size_is(offered/2)] */
+ uint32_t *_ndr_size;/* [ref] */
+ union spoolss_KeyNames *key_buffer;/* [subcontext_size(*_ndr_size*2),ref,subcontext(0),switch_is(*_ndr_size)] */
uint32_t *needed;/* [ref] */
WERROR result;
} out;