diff options
-rw-r--r-- | source4/lib/registry/reg_backend_rpc/reg_backend_rpc.c | 11 |
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); |