Move save_registry and unload_key server calls to ntdll.

diff --git a/dlls/advapi32/registry.c b/dlls/advapi32/registry.c
index 5ee66d7..eaffa0e 100644
--- a/dlls/advapi32/registry.c
+++ b/dlls/advapi32/registry.c
@@ -1680,13 +1680,7 @@
             MESSAGE("Wow, we are already fiddling with a temp file %s with an ordinal as high as %d !\nYou might want to delete all corresponding temp files in that directory.\n", debugstr_w(buffer), count);
     }
 
-    SERVER_START_REQ( save_registry )
-    {
-        req->hkey = hkey;
-        req->file = handle;
-        ret = RtlNtStatusToDosError( wine_server_call( req ) );
-    }
-    SERVER_END_REQ;
+    ret = RtlNtStatusToDosError(NtSaveKey(hkey, handle));
 
     CloseHandle( handle );
     if (!ret)
@@ -1791,12 +1785,8 @@
     if( ret )
         return ERROR_INVALID_PARAMETER;
 
-    SERVER_START_REQ( unload_registry )
-    {
-        req->hkey  = shkey;
-        ret = RtlNtStatusToDosError( wine_server_call(req) );
-    }
-    SERVER_END_REQ;
+    ret = RtlNtStatusToDosError(NtUnloadKey(shkey));
+
     RegCloseKey(shkey);
 
     return ret;
diff --git a/dlls/ntdll/reg.c b/dlls/ntdll/reg.c
index 283044b..329bb96 100644
--- a/dlls/ntdll/reg.c
+++ b/dlls/ntdll/reg.c
@@ -656,13 +656,21 @@
  * NtSaveKey [NTDLL.@]
  * ZwSaveKey [NTDLL.@]
  */
-NTSTATUS WINAPI NtSaveKey(
-	IN HKEY KeyHandle,
-	IN HANDLE FileHandle)
+NTSTATUS WINAPI NtSaveKey(IN HKEY KeyHandle, IN HANDLE FileHandle)
 {
-	FIXME("(%p,%p) stub\n",
-	KeyHandle, FileHandle);
-	return STATUS_SUCCESS;
+    NTSTATUS ret;
+
+    TRACE("(%p,%p)\n", KeyHandle, FileHandle);
+
+    SERVER_START_REQ( save_registry )
+    {
+        req->hkey = KeyHandle;
+        req->file = FileHandle;
+        ret = wine_server_call( req );
+    }
+    SERVER_END_REQ;
+
+    return ret;
 }
 /******************************************************************************
  * NtSetInformationKey [NTDLL.@]
@@ -727,12 +735,20 @@
  * NtUnloadKey [NTDLL.@]
  * ZwUnloadKey [NTDLL.@]
  */
-NTSTATUS WINAPI NtUnloadKey(
-	IN HKEY KeyHandle)
+NTSTATUS WINAPI NtUnloadKey(IN HKEY KeyHandle)
 {
-	FIXME("(%p) stub\n",
-	KeyHandle);
-	return STATUS_SUCCESS;
+    NTSTATUS ret;
+
+    TRACE("(%p)\n", KeyHandle);
+
+    SERVER_START_REQ( unload_registry )
+    {
+        req->hkey  = KeyHandle;
+        ret = wine_server_call(req);
+    }
+    SERVER_END_REQ;
+
+    return ret;
 }
 
 /******************************************************************************