Author: ekohl
Date: Tue Apr 27 23:47:54 2010
New Revision: 47050
URL:
http://svn.reactos.org/svn/reactos?rev=47050&view=rev
Log:
[MKHIVE]
- Add RegDeleteKeyW stub.
- Implement RegDeleteKeyA so that it calls RegDeleteKeyW.
Modified:
trunk/reactos/tools/mkhive/registry.c
Modified: trunk/reactos/tools/mkhive/registry.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/mkhive/registry.c?re…
==============================================================================
--- trunk/reactos/tools/mkhive/registry.c [iso-8859-1] (original)
+++ trunk/reactos/tools/mkhive/registry.c [iso-8859-1] Tue Apr 27 23:47:54 2010
@@ -25,9 +25,9 @@
/*
* TODO:
- * - Implement RegDeleteKey()
+ * - Implement RegDeleteKeyW()
* - Implement RegEnumValue()
- * - Implement RegQueryValueExA()
+ * - Implement RegQueryValueExW()
*/
#include <stdlib.h>
@@ -246,15 +246,38 @@
}
LONG WINAPI
-RegDeleteKeyA(HKEY Key,
- LPCSTR Name)
-{
- if (Name != NULL && strchr(Name, '\\') != NULL)
- return(ERROR_INVALID_PARAMETER);
-
- DPRINT1("FIXME!\n");
-
- return(ERROR_SUCCESS);
+RegDeleteKeyW(
+ IN HKEY hKey,
+ IN LPCWSTR lpSubKey)
+{
+ DPRINT1("FIXME!\n");
+ return ERROR_SUCCESS;
+}
+
+LONG WINAPI
+RegDeleteKeyA(
+ IN HKEY hKey,
+ IN LPCSTR lpSubKey)
+{
+ PWSTR lpSubKeyW = NULL;
+ LONG rc;
+
+ if (lpSubKey != NULL && strchr(lpSubKey, '\\') != NULL)
+ return ERROR_INVALID_PARAMETER;
+
+ if (lpSubKey)
+ {
+ lpSubKeyW = MultiByteToWideChar(lpSubKey);
+ if (!lpSubKeyW)
+ return ERROR_OUTOFMEMORY;
+ }
+
+ rc = RegDeleteKeyW(hKey, lpSubKeyW);
+
+ if (lpSubKey)
+ free(lpSubKeyW);
+
+ return rc;
}
LONG WINAPI