-/* $Id: reg.c,v 1.16 2002/09/07 15:12:22 chorns Exp $
+/* $Id: reg.c,v 1.17 2002/09/08 10:22:36 chorns Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries
* Created 01/11/98
* 19990309 EA Stubs
*/
-#include <advapi32.h>
+#include <ddk/ntddk.h>
+#include <ntdll/rtl.h>
+#include <windows.h>
#include <wchar.h>
#define NDEBUG
#define MAX_DEFAULT_HANDLES 6
-static RTL_CRITICAL_SECTION HandleTableCS;
+static CRITICAL_SECTION HandleTableCS;
static HANDLE DefaultHandleTable[MAX_DEFAULT_HANDLES];
/* PROTOTYPES ****************************************************************/
-static NTSTATUS MapDefaultKey (PHANDLE ParentKey, HKEY Key);
+static NTSTATUS MapDefaultKey (PHKEY ParentKey, HKEY Key);
static VOID CloseDefaultKeys(VOID);
static NTSTATUS OpenClassesRootKey(PHANDLE KeyHandle);
static NTSTATUS
-MapDefaultKey(PHANDLE RealKey,
+MapDefaultKey(PHKEY RealKey,
HKEY Key)
{
PHANDLE Handle;
* RegConnectRegistryA
*/
LONG STDCALL
-RegConnectRegistryA(LPCSTR lpMachineName,
+RegConnectRegistryA(LPSTR lpMachineName,
HKEY hKey,
PHKEY phkResult)
{
* RegConnectRegistryW
*/
LONG STDCALL
-RegConnectRegistryW(LPCWSTR lpMachineName,
+RegConnectRegistryW(LPWSTR lpMachineName,
HKEY hKey,
PHKEY phkResult)
{
UNICODE_STRING ClassString;
OBJECT_ATTRIBUTES Attributes;
NTSTATUS Status;
- HANDLE ParentKey;
+ HKEY ParentKey;
DPRINT("RegCreateKeyExW() called\n");
(HANDLE)ParentKey,
(PSECURITY_DESCRIPTOR)lpSecurityAttributes);
- Status = NtCreateKey((PHANDLE)phkResult,
+ Status = NtCreateKey(phkResult,
samDesired,
&Attributes,
0,
UNICODE_STRING ClassString;
OBJECT_ATTRIBUTES Attributes;
NTSTATUS Status;
- HANDLE ParentKey;
+ HKEY ParentKey;
DPRINT("RegCreateKeyExW() called\n");
(HANDLE)ParentKey,
(PSECURITY_DESCRIPTOR)lpSecurityAttributes);
- Status = NtCreateKey ((PHANDLE)phkResult,
+ Status = NtCreateKey (phkResult,
samDesired,
&Attributes,
0,
BufferSize = sizeof (KEY_NODE_INFORMATION) + *lpcbName * sizeof(WCHAR);
if (lpClass)
BufferSize += *lpcbClass;
- KeyInfo = (PKEY_NODE_INFORMATION)RtlAllocateHeap(RtlGetProcessHeap(), 0, BufferSize);
+ KeyInfo = RtlAllocateHeap(RtlGetProcessHeap(), 0, BufferSize);
/* We don't know the exact size of the data returned, so call
NtEnumerateKey() with a buffer size determined from parameters
to this function. If that call fails with a status code of
STATUS_BUFFER_OVERFLOW, allocate a new buffer and try again */
while (TRUE) {
- KeyInfo = (PKEY_NODE_INFORMATION)RtlAllocateHeap(
+ KeyInfo = RtlAllocateHeap(
RtlGetProcessHeap(),
0,
BufferSize);
to this function. If that call fails with a status code of
STATUS_BUFFER_OVERFLOW, allocate a new buffer and try again */
while (TRUE) {
- ValueInfo = (PKEY_VALUE_FULL_INFORMATION)RtlAllocateHeap(
+ ValueInfo = RtlAllocateHeap(
RtlGetProcessHeap(),
0,
BufferSize);
KeyHandle,
NULL);
- Status = NtOpenKey((PHANDLE)phkResult,
+ Status = NtOpenKey(phkResult,
KEY_ALL_ACCESS,
&ObjectAttributes);
NULL);
errCode = NtOpenKey(
- (PHANDLE)phkResult,
+ phkResult,
KEY_ALL_ACCESS,
& ObjectAttributes
);
KeyHandle,
NULL);
- Status = NtOpenKey((PHANDLE)phkResult,
+ Status = NtOpenKey(phkResult,
samDesired,
&ObjectAttributes);
KeyHandle,
NULL);
- Status = NtOpenKey((PHANDLE)phkResult,
+ Status = NtOpenKey(phkResult,
samDesired,
&ObjectAttributes);
if (!NT_SUCCESS(Status))
if (lpClass)
{
FullInfoSize = sizeof(KEY_FULL_INFORMATION) + *lpcbClass;
- FullInfo = (PKEY_FULL_INFORMATION)RtlAllocateHeap(RtlGetProcessHeap(), 0, FullInfoSize);
+ FullInfo = RtlAllocateHeap(RtlGetProcessHeap(), 0, FullInfoSize);
if (!FullInfo)
{
SetLastError(ERROR_OUTOFMEMORY);
STDCALL
RegQueryMultipleValuesA(
HKEY hKey,
- PVALENTA val_list,
+ PVALENT val_list,
DWORD num_vals,
LPSTR lpValueBuf,
LPDWORD ldwTotsize
STDCALL
RegQueryMultipleValuesW(
HKEY hKey,
- PVALENTW val_list,
+ PVALENT val_list,
DWORD num_vals,
LPWSTR lpValueBuf,
LPDWORD ldwTotsize
{
ValueSize = *lpcbValue * sizeof(WCHAR);
Value.MaximumLength = ValueSize;
- Value.Buffer = (PWCHAR)RtlAllocateHeap(RtlGetProcessHeap(), 0, ValueSize);
+ Value.Buffer = RtlAllocateHeap(RtlGetProcessHeap(), 0, ValueSize);
if (!Value.Buffer)
{
SetLastError(ERROR_OUTOFMEMORY);
/************************************************************************
* RegQueryValueExA
*/
-LONG WINAPI RegQueryValueExA (HKEY,LPCSTR,PDWORD,PDWORD,LPBYTE,LPDWORD);
LONG
STDCALL
RegQueryValueExA(
HKEY hKey,
- LPCSTR lpValueName,
+ LPSTR lpValueName,
LPDWORD lpReserved,
LPDWORD lpType,
LPBYTE lpData,
if (lpData)
{
ValueData.MaximumLength = *lpcbData * sizeof(WCHAR);
- ValueData.Buffer = (PWCHAR)RtlAllocateHeap(
+ ValueData.Buffer = RtlAllocateHeap(
RtlGetProcessHeap(),
0,
ValueData.MaximumLength);
STDCALL
RegQueryValueExW(
HKEY hKey,
- LPCWSTR lpValueName,
+ LPWSTR lpValueName,
LPDWORD lpReserved,
LPDWORD lpType,
LPBYTE lpData,
lpValueName);
BufferSize = sizeof (KEY_VALUE_PARTIAL_INFORMATION) + *lpcbData;
- ValueInfo = (PKEY_VALUE_PARTIAL_INFORMATION)RtlAllocateHeap (RtlGetProcessHeap(),
+ ValueInfo = RtlAllocateHeap (RtlGetProcessHeap(),
0,
BufferSize);
if (ValueInfo == NULL)
DataSize = cbData * sizeof(WCHAR);
Data.MaximumLength = DataSize;
- Data.Buffer = (PWCHAR)RtlAllocateHeap(RtlGetProcessHeap(), 0, DataSize);
+ Data.Buffer = RtlAllocateHeap(RtlGetProcessHeap(), 0, DataSize);
if (!Data.Buffer)
{
SetLastError(ERROR_OUTOFMEMORY);