summaryrefslogtreecommitdiff
path: root/source4/lib/registry
diff options
context:
space:
mode:
Diffstat (limited to 'source4/lib/registry')
-rw-r--r--source4/lib/registry/reg_backend_rpc/reg_backend_rpc.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/source4/lib/registry/reg_backend_rpc/reg_backend_rpc.c b/source4/lib/registry/reg_backend_rpc/reg_backend_rpc.c
index c63ab20b82..af3a6ac214 100644
--- a/source4/lib/registry/reg_backend_rpc/reg_backend_rpc.c
+++ b/source4/lib/registry/reg_backend_rpc/reg_backend_rpc.c
@@ -316,14 +316,19 @@ static WERROR rpc_add_key(REG_KEY *parent, const char *name, uint32 access_mask,
static WERROR rpc_query_key(REG_KEY *k)
{
NTSTATUS status;
+ WERROR error;
struct winreg_QueryInfoKey r;
struct rpc_data *mydata = k->handle->backend_data;
- struct rpc_key_data *mykeydata;
+ struct rpc_key_data *mykeydata;
+
r.in.handle = &mykeydata->pol;
init_winreg_String(&r.in.class, NULL);
-
+
+ error = rpc_key_put_rpc_data(k, &mykeydata);
+ if(!W_ERROR_IS_OK(error)) return error;
+
status = dcerpc_winreg_QueryInfoKey(mydata->pipe, k->mem_ctx, &r);
-
+
if (!NT_STATUS_IS_OK(status)) {
printf("QueryInfoKey failed - %s\n", nt_errstr(status));
return ntstatus_to_werror(status);