- Fix definition of BOOT_DRIVER_LIST_ENTRY (Information provided by Alex Ionescu).

svn path=/trunk/; revision=35502
This commit is contained in:
Aleksey Bragin 2008-08-21 10:58:53 +00:00
parent 36b8b4a111
commit d1213e5977
3 changed files with 12 additions and 12 deletions

View file

@ -332,16 +332,16 @@ WinLdrLoadBootDrivers(PLOADER_PARAMETER_BLOCK LoaderBlock,
while (NextBd != &LoaderBlock->BootDriverListHead) while (NextBd != &LoaderBlock->BootDriverListHead)
{ {
BootDriver = CONTAINING_RECORD(NextBd, BOOT_DRIVER_LIST_ENTRY, ListEntry); BootDriver = CONTAINING_RECORD(NextBd, BOOT_DRIVER_LIST_ENTRY, Link);
DbgPrint((DPRINT_WINDOWS, "BootDriver %wZ DTE %08X RegPath: %wZ\n", &BootDriver->FilePath, DbgPrint((DPRINT_WINDOWS, "BootDriver %wZ DTE %08X RegPath: %wZ\n", &BootDriver->FilePath,
BootDriver->DataTableEntry, &BootDriver->RegistryPath)); BootDriver->LdrEntry, &BootDriver->RegistryPath));
// Paths are relative (FIXME: Are they always relative?) // Paths are relative (FIXME: Are they always relative?)
// Load it // Load it
Status = WinLdrLoadDeviceDriver(LoaderBlock, BootPath, &BootDriver->FilePath, Status = WinLdrLoadDeviceDriver(LoaderBlock, BootPath, &BootDriver->FilePath,
0, &BootDriver->DataTableEntry); 0, &BootDriver->LdrEntry);
// If loading failed - cry loudly // If loading failed - cry loudly
//FIXME: Maybe remove it from the list and try to continue? //FIXME: Maybe remove it from the list and try to continue?
@ -353,9 +353,9 @@ WinLdrLoadBootDrivers(PLOADER_PARAMETER_BLOCK LoaderBlock,
// Convert the RegistryPath and DTE addresses to VA since we are not going to use it anymore // Convert the RegistryPath and DTE addresses to VA since we are not going to use it anymore
BootDriver->RegistryPath.Buffer = PaToVa(BootDriver->RegistryPath.Buffer); BootDriver->RegistryPath.Buffer = PaToVa(BootDriver->RegistryPath.Buffer);
BootDriver->DataTableEntry = PaToVa(BootDriver->DataTableEntry); BootDriver->LdrEntry = PaToVa(BootDriver->LdrEntry);
NextBd = BootDriver->ListEntry.Flink; NextBd = BootDriver->Link.Flink;
} }
return TRUE; return TRUE;
@ -620,12 +620,12 @@ WinLdrpDumpBootDriver(PLOADER_PARAMETER_BLOCK LoaderBlock)
while (NextBd != &LoaderBlock->BootDriverListHead) while (NextBd != &LoaderBlock->BootDriverListHead)
{ {
BootDriver = CONTAINING_RECORD(NextBd, BOOT_DRIVER_LIST_ENTRY, ListEntry); BootDriver = CONTAINING_RECORD(NextBd, BOOT_DRIVER_LIST_ENTRY, Link);
DbgPrint((DPRINT_WINDOWS, "BootDriver %wZ DTE %08X RegPath: %wZ\n", &BootDriver->FilePath, DbgPrint((DPRINT_WINDOWS, "BootDriver %wZ DTE %08X RegPath: %wZ\n", &BootDriver->FilePath,
BootDriver->DataTableEntry, &BootDriver->RegistryPath)); BootDriver->LdrEntry, &BootDriver->RegistryPath));
NextBd = BootDriver->ListEntry.Flink; NextBd = BootDriver->Link.Flink;
} }
} }

View file

@ -685,7 +685,7 @@ WinLdrAddDriverToList(LIST_ENTRY *BootDriverListHead,
return FALSE; return FALSE;
// DTE will be filled during actual load of the driver // DTE will be filled during actual load of the driver
BootDriverEntry->DataTableEntry = NULL; BootDriverEntry->LdrEntry = NULL;
// Check - if we have a valid ImagePath, if not - we need to build it // Check - if we have a valid ImagePath, if not - we need to build it
// like "System32\\Drivers\\blah.sys" // like "System32\\Drivers\\blah.sys"
@ -768,7 +768,7 @@ WinLdrAddDriverToList(LIST_ENTRY *BootDriverListHead,
return FALSE; return FALSE;
// Insert entry at top of the list // Insert entry at top of the list
InsertTailList(BootDriverListHead, &BootDriverEntry->ListEntry); InsertTailList(BootDriverListHead, &BootDriverEntry->Link);
return TRUE; return TRUE;
} }

View file

@ -118,10 +118,10 @@ typedef struct _MEMORY_ALLOCATION_DESCRIPTOR
typedef struct _BOOT_DRIVER_LIST_ENTRY typedef struct _BOOT_DRIVER_LIST_ENTRY
{ {
LIST_ENTRY ListEntry; LIST_ENTRY Link;
UNICODE_STRING FilePath; UNICODE_STRING FilePath;
UNICODE_STRING RegistryPath; UNICODE_STRING RegistryPath;
struct _LDR_DATA_TABLE_ENTRY *DataTableEntry; struct _LDR_DATA_TABLE_ENTRY *LdrEntry;
} BOOT_DRIVER_LIST_ENTRY, *PBOOT_DRIVER_LIST_ENTRY; } BOOT_DRIVER_LIST_ENTRY, *PBOOT_DRIVER_LIST_ENTRY;
typedef struct _ARC_DISK_SIGNATURE typedef struct _ARC_DISK_SIGNATURE