From a29c24f180cc21b358c51a86632eb1cc2cb17868 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Fri, 29 Oct 2004 11:44:59 +0000 Subject: r3367: More registry updates. Add support flush_key and close_hive. (This used to be commit c526273df238c994c4de3c1704c6e95433f2331c) --- source4/rpc_server/winreg/rpc_winreg.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'source4/rpc_server/winreg') diff --git a/source4/rpc_server/winreg/rpc_winreg.c b/source4/rpc_server/winreg/rpc_winreg.c index 9ef696d6aa..0a071ef741 100644 --- a/source4/rpc_server/winreg/rpc_winreg.c +++ b/source4/rpc_server/winreg/rpc_winreg.c @@ -27,7 +27,7 @@ enum handle_types { HTYPE_REGVAL, HTYPE_REGKEY }; static void winreg_destroy_hive(struct dcesrv_connection *c, struct dcesrv_handle *h) { - /* FIXME: Free ((struct registry_key *)h->data)->root->hive->reg_ctx */ + reg_close(((struct registry_key *)h->data)->hive->reg_ctx); } static WERROR winreg_openhive (struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, const char *hivename, struct policy_handle **outh) @@ -208,7 +208,12 @@ static WERROR winreg_EnumValue(struct dcesrv_call_state *dce_call, TALLOC_CTX *m static WERROR winreg_FlushKey(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct winreg_FlushKey *r) { - return WERR_NOT_SUPPORTED; + struct dcesrv_handle *h; + + h = dcesrv_handle_fetch(dce_call->conn, r->in.handle, HTYPE_REGKEY); + DCESRV_CHECK_HANDLE(h); + + return reg_key_flush(h->data); } -- cgit