r4111: fixed winreg to use much simpler (and I believe correct) IDL for QueryValue
authorAndrew Tridgell <tridge@samba.org>
Thu, 9 Dec 2004 07:05:47 +0000 (07:05 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:06:27 +0000 (13:06 -0500)
(This used to be commit 659d0295314c6a070698fc81223044f4d7366993)

source4/librpc/idl/winreg.idl
source4/torture/rpc/winreg.c

index a3e81f3a9444d857ec16df77ecb9ae106fcdf6f1..2dbd4de944e75f0e8b0e64692cce849cb8abc068 100644 (file)
                [in,ref] policy_handle *handle,
                [in] winreg_String value_name,
                [in,out] uint32 *type,
-               [in] uint32 *offered,
-               [in] uint32 unknown1,
-               [in] uint32 unknown2,
-               [out] EnumValueOut *value_out,
-               [in,out] uint32 *value_len1,
-               [in,out] uint32 *value_len2
+               [in,out,size_is(*size),length_is(*length)] uint8 *data,
+               [in,out] uint32 *size,
+               [in,out] uint32 *length
        );
 
        /******************/
                [in] sec_desc_buf *sec_desc
        );
 
-       typedef struct {
-               uint32 max_len;
-               [length_is(buf_max_len)] uint8 *buffer;
-               uint32 len;
-       } winreg_Value;
-
        /******************/
        /* Function: 0x16 */
        WERROR winreg_SetValue(
-               [in,ref] policy_handle *handle,
-               [in] winreg_String name,
-               [in] uint32 type,
-               [in] winreg_Value value
+               [in,ref]           policy_handle *handle,
+               [in]               winreg_String name,
+               [in]               uint32 type,
+               [in,size_is(size)] uint8  *data,
+               [in]               uint32 size
        );
 
        /******************/
index ebadbc87e2171ea99595b42f691b9c31f04fe45c..592f2ff86ab2bbad595f23ebe1bff3f1f41846bc 100644 (file)
@@ -304,11 +304,8 @@ static BOOL test_QueryValue(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struct p
        r.in.handle = handle;
        r.in.value_name.name = valuename;
        r.in.type = &zero;
-       r.in.unknown1 = 0;
-       r.in.unknown2 = 0;
-       r.in.offered = &offered;
-       r.in.value_len1 = &offered;
-       r.in.value_len2 = &zero;
+       r.in.size = &offered;
+       r.in.length = &zero;
 
        status = dcerpc_winreg_QueryValue(p, mem_ctx, &r);
        if(NT_STATUS_IS_ERR(status)) {