[NTOS:IO] Add more enumeration requests during the boot process

This is to ensure that all needed devices are initialized during the
early boot

CORE-7826
This commit is contained in:
Victor Perevertkin 2021-01-13 04:13:22 +03:00
parent e468da06be
commit b704292808
No known key found for this signature in database
GPG Key ID: C750B7222E9C7830

View File

@ -1047,6 +1047,13 @@ IopInitializeBootDrivers(VOID)
* See PiQueueDeviceAction function
*/
PnPBootDriversLoaded = TRUE;
DbgPrint("BOOT DRIVERS LOADED\n");
PiQueueDeviceAction(IopRootDeviceNode->PhysicalDeviceObject,
PiActionEnumDeviceTree,
NULL,
NULL);
}
CODE_SEG("INIT")
@ -1056,6 +1063,8 @@ IopInitializeSystemDrivers(VOID)
{
PUNICODE_STRING *DriverList, *SavedList;
PiPerformSyncDeviceAction(IopRootDeviceNode->PhysicalDeviceObject, PiActionEnumDeviceTree);
/* No system drivers on the boot cd */
if (KeLoaderBlock->SetupLdrBlock) return; // ExpInTextModeSetup
@ -1080,6 +1089,11 @@ IopInitializeSystemDrivers(VOID)
/* Free the list */
ExFreePool(SavedList);
PiQueueDeviceAction(IopRootDeviceNode->PhysicalDeviceObject,
PiActionEnumDeviceTree,
NULL,
NULL);
}
/*