s3-winreg: implement _winreg_QueryMultipleValues().
authorGünther Deschner <gd@samba.org>
Wed, 30 Jun 2010 14:31:46 +0000 (16:31 +0200)
committerGünther Deschner <gd@samba.org>
Wed, 30 Jun 2010 19:46:08 +0000 (21:46 +0200)
Guenther

source3/rpc_server/srv_winreg_nt.c

index f54f5b56a6adf285a508b03eb5cb249b7c66f4fb..1cf0903b51f8baaeddbbbbd2fa0ed0d5610a4b4e 100644 (file)
@@ -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);
 }
 
 /*******************************************************************