Fix default data sent to RtlQueryRegistryValues
authorHervé Poussineau <hpoussin@reactos.org>
Sat, 17 Mar 2007 20:53:05 +0000 (20:53 +0000)
committerHervé Poussineau <hpoussin@reactos.org>
Sat, 17 Mar 2007 20:53:05 +0000 (20:53 +0000)
svn path=/trunk/; revision=26124

reactos/drivers/input/kbdclass/kbdclass.c
reactos/drivers/input/mouclass/mouclass.c

index 8ca7208..d2a32b8 100644 (file)
@@ -211,7 +211,7 @@ ReadRegistryEntries(
 
        ULONG DefaultConnectMultiplePorts = 0;
        ULONG DefaultDataQueueSize = 0x64;
-       UNICODE_STRING DefaultDeviceBaseName = RTL_CONSTANT_STRING(L"KeyboardClass");
+       PCWSTR DefaultDeviceBaseName = L"KeyboardClass";
 
        ParametersRegistryKey.Length = 0;
        ParametersRegistryKey.MaximumLength = RegistryPath->Length + sizeof(L"\\Parameters") + sizeof(UNICODE_NULL);
@@ -245,7 +245,7 @@ ReadRegistryEntries(
        Parameters[2].Name = L"KeyboardDeviceBaseName";
        Parameters[2].EntryContext = &DriverExtension->DeviceBaseName;
        Parameters[2].DefaultType = REG_SZ;
-       Parameters[2].DefaultData = &DefaultDeviceBaseName;
+       Parameters[2].DefaultData = (PVOID)DefaultDeviceBaseName;
        Parameters[2].DefaultLength = 0;
 
        Status = RtlQueryRegistryValues(
@@ -273,10 +273,10 @@ ReadRegistryEntries(
                /* Registry path doesn't exist. Set defaults */
                DriverExtension->ConnectMultiplePorts = DefaultConnectMultiplePorts;
                DriverExtension->DataQueueSize = DefaultDataQueueSize;
-               Status = RtlDuplicateUnicodeString(
-                       RTL_DUPLICATE_UNICODE_STRING_NULL_TERMINATE,
-                       &DefaultDeviceBaseName,
-                       &DriverExtension->DeviceBaseName);
+               if (RtlCreateUnicodeString(&DriverExtension->DeviceBaseName, DefaultDeviceBaseName))
+                       Status = STATUS_SUCCESS;
+               else
+                       Status = STATUS_NO_MEMORY;
        }
 
        return Status;
index ec2aec5..7679300 100644 (file)
@@ -188,7 +188,7 @@ ReadRegistryEntries(
 
        ULONG DefaultConnectMultiplePorts = 1;
        ULONG DefaultDataQueueSize = 0x64;
-       UNICODE_STRING DefaultDeviceBaseName = RTL_CONSTANT_STRING(L"PointerClass");
+       PCWSTR DefaultDeviceBaseName = L"PointerClass";
 
        ParametersRegistryKey.Length = 0;
        ParametersRegistryKey.MaximumLength = RegistryPath->Length + sizeof(L"\\Parameters") + sizeof(UNICODE_NULL);
@@ -222,7 +222,7 @@ ReadRegistryEntries(
        Parameters[2].Name = L"PointerDeviceBaseName";
        Parameters[2].EntryContext = &DriverExtension->DeviceBaseName;
        Parameters[2].DefaultType = REG_SZ;
-       Parameters[2].DefaultData = &DefaultDeviceBaseName;
+       Parameters[2].DefaultData = (PVOID)DefaultDeviceBaseName;
        Parameters[2].DefaultLength = 0;
 
        Status = RtlQueryRegistryValues(
@@ -250,10 +250,10 @@ ReadRegistryEntries(
                /* Registry path doesn't exist. Set defaults */
                DriverExtension->ConnectMultiplePorts = DefaultConnectMultiplePorts;
                DriverExtension->DataQueueSize = DefaultDataQueueSize;
-               Status = RtlDuplicateUnicodeString(
-                       RTL_DUPLICATE_UNICODE_STRING_NULL_TERMINATE,
-                       &DefaultDeviceBaseName,
-                       &DriverExtension->DeviceBaseName);
+               if (RtlCreateUnicodeString(&DriverExtension->DeviceBaseName, DefaultDeviceBaseName))
+                       Status = STATUS_SUCCESS;
+               else
+                       Status = STATUS_NO_MEMORY;
        }
 
        return Status;