Set the ConfigFlags value in registry if not present Modified: trunk/reactos/ntoskrnl/io/pnpmgr.c _____
Modified: trunk/reactos/ntoskrnl/io/pnpmgr.c --- trunk/reactos/ntoskrnl/io/pnpmgr.c 2005-12-15 13:48:26 UTC (rev 20188) +++ trunk/reactos/ntoskrnl/io/pnpmgr.c 2005-12-15 14:15:18 UTC (rev 20189) @@ -996,7 +996,7 @@
UNICODE_STRING KeyName; HANDLE LogConfKey; ULONG ResCount; - ULONG ListSize; + ULONG ListSize, ResultLength; NTSTATUS Status;
DPRINT("IopSetDeviceInstanceData() called\n"); @@ -1051,6 +1051,26 @@ ZwClose(LogConfKey); }
+ /* Set the 'ConfigFlags' value */ + RtlInitUnicodeString(&KeyName, L"ConfigFlags"); + Status = ZwQueryValueKey(InstanceKey, + &KeyName, + KeyValueBasicInformation, + NULL, + 0, + &ResultLength); + if (Status == STATUS_OBJECT_NAME_NOT_FOUND) + { + /* Write the default value */ + ULONG DefaultConfigFlags = 0; + Status = ZwSetValueKey(InstanceKey, + &KeyName, + 0, + REG_DWORD, + &DefaultConfigFlags, + sizeof(DefaultConfigFlags)); + } + #if 0 if (DeviceNode->PhysicalDeviceObject != NULL) {