/*[subcontext(0),subcontext_size(_ndr_size*2)]*/ nstring_array string;
} spoolss_StringArray;
- typedef [public,nopush,nopull] struct {
- [value((ndr_size_spoolss_StringArray2(r, ndr->iconv_convenience, ndr->flags)-4)/2)] uint32 _ndr_size;
- [subcontext(0),subcontext_size(_ndr_size*2)] nstring_array string;
- } spoolss_StringArray2;
-
typedef struct {
[string,charset(UTF16)] uint16 *driver_name;
} spoolss_AddDriverInfo1;
const string SPL_ARCH_IA64 = "IA64";
const string SPL_ARCH_X64 = "x64";
- const string SPOOLSS_ARCHITECTURE_ALL = "all";
+ const string SPOOLSS_ARCHITECTURE_ALL = "All";
+ const string SPOOLSS_ARCHITECTURE_ALL_CLUSTER = "AllCluster";
const string SPOOLSS_ARCHITECTURE_NT_X86 = "Windows NT x86";
+ const string SPOOLSS_ARCHITECTURE_IA_64 = "Windows IA64";
+ const string SPOOLSS_ARCHITECTURE_x64 = "Windows x64";
+ const string SPOOLSS_ARCHITECTURE_4_0 = "Windows 4.0";
const string SPOOLSS_DEFAULT_SERVER_PATH = "C:\\WINDOWS\\system32\\spool";
typedef [public,gensize] struct {
[relative] nstring *mui_dll;
uint32 ressource_id;
[relative] nstring *display_name;
- uint32 lang_id;
+ uint16 lang_id;
+ uint16 unused;
} spoolss_FormInfo2;
typedef [nodiscriminant,relative_base,public,gensize] union {
[out,ref] uint32 *needed
);
+ typedef [nodiscriminant] union {
+ [case(0)];
+ [case(1)];
+ [default] nstring_array string_array;
+ } spoolss_KeyNames;
+
/******************/
/* Function: 0x50 */
[public] WERROR spoolss_EnumPrinterKey(
[in, ref] policy_handle *handle,
[in] [string,charset(UTF16)] uint16 key_name[],
- [out,ref] spoolss_StringArray2 *key_buffer,
+ [out,ref] uint32 *_ndr_size,
+ [out,ref,subcontext(0),subcontext_size(*_ndr_size*2),switch_is(*_ndr_size)] spoolss_KeyNames *key_buffer,
[in] uint32 offered,
[out,ref] uint32 *needed
);