From 263212aba5d05367cc9ff92daf6b1047ea699ac3 Mon Sep 17 00:00:00 2001 From: Tim Potter Date: Sun, 3 Oct 2004 11:07:04 +0000 Subject: r2807: OK I think winreg_EnumValue() finally works. The previous version didn't work with non-NULL registry value names. Update testsuite to enumerate all keys and values two levels deep. (This used to be commit c09f0f355ba6a589121588492aa2db5deb7121e0) --- source4/librpc/idl/winreg.idl | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) (limited to 'source4/librpc/idl') diff --git a/source4/librpc/idl/winreg.idl b/source4/librpc/idl/winreg.idl index adc8f7aee1..c06e94b34c 100644 --- a/source4/librpc/idl/winreg.idl +++ b/source4/librpc/idl/winreg.idl @@ -124,26 +124,40 @@ [in,out] winreg_Time *last_changed_time ); + typedef struct { + uint32 max_len; + uint32 offset; + uint32 len; + } EnumValueIn; + + typedef struct { + uint16 len; + uint16 max_len; + EnumValueIn *buffer; + } EnumValueNameIn; + typedef struct { uint32 max_len; uint32 offset; DATA_BLOB buffer; - } EnumValue; + } EnumValueOut; typedef struct { uint16 len; uint16 max_len; - EnumValue *buffer; - } EnumValueName; + unistr *name; + } EnumValueNameOut; /******************/ /* Function: 0x0a */ WERROR winreg_EnumValue( [in,ref] policy_handle *handle, [in] uint32 enum_index, - [in,out] EnumValueName name, + [in] EnumValueNameIn name_in, + [out] EnumValueNameOut name_out, [in,out] uint32 *type, - [in,out] EnumValue *value, + [in] EnumValueIn *value_in, + [out] EnumValueOut *value_out, [in,out] uint32 *value_len1, [in,out] uint32 *value_len2 ); -- cgit