dcerpc_winreg_QueryValue
tridge at samba.org
tridge at samba.org
Thu Dec 9 07:58:11 GMT 2004
Jelmer,
I've committed the fixes for QueryValue, and have also fixed up
EnumValue like this:
typedef struct {
uint16 length;
uint16 size;
[size_is(size/2),length_is(length/2)] uint16 *name;
} winreg_EnumValueString;
WERROR winreg_EnumValue(
[in,ref] policy_handle *handle,
[in] uint32 enum_index,
[in] winreg_EnumValueString name_in,
[out] winreg_String name_out,
[in,out] uint32 *type,
[in,out,size_is(*size),length_is(*length)] uint8 *value,
[in,out] uint32 *size,
[in,out] uint32 *length
);
There are some others in winreg that need fixing. For example, this
structure is clearly bogus:
typedef struct {
uint32 max_len;
uint32 offset;
uint32 len;
} KeySecuritySize;
whenever you have a structure that contains a size, offset, length
triple like that then it is almost always really a NDR array.
When someone decides to fix that function, I suspect you want this:
typedef struct {
[size_is(size), length_is(length)] uint8 *data;
uint32 size;
uint32 length;
} KeySecurityData;
WERROR winreg_GetKeySecurity(
[in,ref] policy_handle *handle,
[in] uint32 unknown,
[in,out] KeySecurityData data
);
More information about the samba-technical
mailing list