From 2a4bd64973252d87b34f90e14872285ed12135ed Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Wed, 30 Jun 2010 16:31:46 +0200 Subject: s3-winreg: implement _winreg_QueryMultipleValues(). Guenther --- source3/rpc_server/srv_winreg_nt.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'source3') diff --git a/source3/rpc_server/srv_winreg_nt.c b/source3/rpc_server/srv_winreg_nt.c index f54f5b56a6..1cf0903b51 100644 --- a/source3/rpc_server/srv_winreg_nt.c +++ b/source3/rpc_server/srv_winreg_nt.c @@ -968,13 +968,22 @@ WERROR _winreg_NotifyChangeKeyValue(pipes_struct *p, struct winreg_NotifyChangeK _winreg_QueryMultipleValues ********************************************************************/ -WERROR _winreg_QueryMultipleValues(pipes_struct *p, struct winreg_QueryMultipleValues *r) +WERROR _winreg_QueryMultipleValues(pipes_struct *p, + struct winreg_QueryMultipleValues *r) { - /* fill in your code here if you think this call should - do anything */ - - p->rng_fault_state = True; - return WERR_NOT_SUPPORTED; + struct winreg_QueryMultipleValues2 r2; + uint32_t needed; + + r2.in.key_handle = r->in.key_handle; + r2.in.values_in = r->in.values_in; + r2.in.num_values = r->in.num_values; + r2.in.offered = r->in.buffer_size; + r2.in.buffer = r->in.buffer; + r2.out.values_out = r->out.values_out; + r2.out.needed = &needed; + r2.out.buffer = r->out.buffer; + + return _winreg_QueryMultipleValues2(p, &r2); } /******************************************************************* -- cgit