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?rev... ============================================================================== --- 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