mirror of
https://github.com/reactos/reactos.git
synced 2025-08-06 13:02:59 +00:00
[DRIVERS] Fix misusages of the RTL_REGISTRY_OPTIONAL flag.
See https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-rtlqueryregistryvalues The RTL_REGISTRY_OPTIONAL applies to the first parameter of the RtlQueryRegistryValues() function, not to the Flags member of the table entries. However, a RTL_QUERY_REGISTRY_REQUIRED flag exists to mark values whose existence is NOT optional. Problematic usage was introduced in the following modules: drivers/input/i8042prt: Commite7e959fb0
(r30000) drivers/input/kbdclass: Commit5a77f871d
(r18911) drivers/input/mouclass: Commitaeeab7d1f
(r18906) drivers/input/sermouse: Commit3f348259c
(r19100) rosapps/drivers/green : Commitc8a90f769
(r21165)
This commit is contained in:
parent
b96e648019
commit
4795177ced
5 changed files with 30 additions and 30 deletions
|
@ -85,18 +85,18 @@ ReadRegistryEntries(
|
|||
|
||||
RtlZeroMemory(Parameters, sizeof(Parameters));
|
||||
|
||||
Parameters[0].Flags = RTL_QUERY_REGISTRY_DIRECT;
|
||||
Parameters[0].Flags = RTL_QUERY_REGISTRY_DIRECT | RTL_QUERY_REGISTRY_REQUIRED;
|
||||
Parameters[0].Name = L"AttachedDevice";
|
||||
Parameters[0].EntryContext = &DriverExtension->AttachedDeviceName;
|
||||
|
||||
Parameters[1].Flags = RTL_QUERY_REGISTRY_DIRECT | RTL_REGISTRY_OPTIONAL;
|
||||
Parameters[1].Flags = RTL_QUERY_REGISTRY_DIRECT;
|
||||
Parameters[1].Name = L"DeviceReported";
|
||||
Parameters[1].EntryContext = &DriverExtension->DeviceReported;
|
||||
Parameters[1].DefaultType = REG_DWORD;
|
||||
Parameters[1].DefaultData = &DefaultDeviceReported;
|
||||
Parameters[1].DefaultLength = sizeof(ULONG);
|
||||
|
||||
Parameters[2].Flags = RTL_QUERY_REGISTRY_DIRECT | RTL_REGISTRY_OPTIONAL;
|
||||
Parameters[2].Flags = RTL_QUERY_REGISTRY_DIRECT;
|
||||
Parameters[2].Name = L"SampleRate";
|
||||
Parameters[2].EntryContext = &DriverExtension->SampleRate;
|
||||
Parameters[2].DefaultType = REG_DWORD;
|
||||
|
@ -104,7 +104,7 @@ ReadRegistryEntries(
|
|||
Parameters[2].DefaultLength = sizeof(ULONG);
|
||||
|
||||
Status = RtlQueryRegistryValues(
|
||||
RTL_REGISTRY_ABSOLUTE,
|
||||
RTL_REGISTRY_ABSOLUTE | RTL_REGISTRY_OPTIONAL,
|
||||
ParametersRegistryKey.Buffer,
|
||||
Parameters,
|
||||
NULL,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue