spoolss: trivial fix for spoolss_FormInfo2 IDL.
[ira/wip.git] / librpc / idl / spoolss.idl
index f66538119997f1779120bfe538935b7a8c513b4f..14ddba8173d6d58b8f53ba1791eb054ade5ff41b 100644 (file)
@@ -980,11 +980,6 @@ import "misc.idl", "security.idl", "winreg.idl";
                /*[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;
@@ -1498,8 +1493,12 @@ import "misc.idl", "security.idl", "winreg.idl";
        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 {
@@ -1698,7 +1697,8 @@ import "misc.idl", "security.idl", "winreg.idl";
                [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 {
@@ -2603,12 +2603,19 @@ import "misc.idl", "security.idl", "winreg.idl";
                [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
        );