[INCLUDEs:ARC]: Fix some structure members of LOADER_PARAMETER_EXTENSION and SETUP_LOADER_BLOCK. Add some documentation & links regarded these structures to document which members change/disappear starting some NT version.

Also, turn some Win32 LPSTR into NT' PSTR or PCHAR types.

svn path=/trunk/; revision=74662
This commit is contained in:
Hermès Bélusca-Maïto 2017-05-26 02:15:54 +00:00
parent a467407d5f
commit 049b4bff68
2 changed files with 23 additions and 13 deletions

View file

@ -110,7 +110,7 @@ typedef struct _CONFIGURATION_COMPONENT
ULONG AffinityMask; ULONG AffinityMask;
ULONG ConfigurationDataLength; ULONG ConfigurationDataLength;
ULONG IdentifierLength; ULONG IdentifierLength;
LPSTR Identifier; PCHAR Identifier;
} CONFIGURATION_COMPONENT, *PCONFIGURATION_COMPONENT; } CONFIGURATION_COMPONENT, *PCONFIGURATION_COMPONENT;
typedef struct _CONFIGURATION_COMPONENT_DATA typedef struct _CONFIGURATION_COMPONENT_DATA
@ -338,19 +338,22 @@ typedef struct _LOADER_PERFORMANCE_DATA
// //
// Extended Loader Parameter Block // Extended Loader Parameter Block
// //
// See http://www.geoffchappell.com/studies/windows/km/ntoskrnl/structs/loader_parameter_extension.htm
// for more details.
//
typedef struct _LOADER_PARAMETER_EXTENSION typedef struct _LOADER_PARAMETER_EXTENSION
{ {
ULONG Size; ULONG Size;
PROFILE_PARAMETER_BLOCK Profile; PROFILE_PARAMETER_BLOCK Profile;
ULONG MajorVersion; ULONG MajorVersion; /* Not anymore present starting NT 6.1 */
ULONG MinorVersion; ULONG MinorVersion; /* Not anymore present starting NT 6.1 */
PVOID EmInfFileImage; PVOID EmInfFileImage;
ULONG EmInfFileSize; ULONG EmInfFileSize;
PVOID TriageDumpBlock; PVOID TriageDumpBlock;
// //
// NT 5.1 // NT 5.1
// //
ULONG LoaderPagesSpanned; ULONG_PTR LoaderPagesSpanned; /* Not anymore present starting NT 6.2 */
PHEADLESS_LOADER_BLOCK HeadlessLoaderBlock; PHEADLESS_LOADER_BLOCK HeadlessLoaderBlock;
PSMBIOS_TABLE_HEADER SMBiosEPSHeader; PSMBIOS_TABLE_HEADER SMBiosEPSHeader;
PVOID DrvDBImage; PVOID DrvDBImage;
@ -359,18 +362,22 @@ typedef struct _LOADER_PARAMETER_EXTENSION
// //
// NT 5.2+ // NT 5.2+
// //
PCHAR HalpIRQLToTPR; #ifdef _X86_
PCHAR HalpVectorToIRQL; PUCHAR HalpIRQLToTPR;
PUCHAR HalpVectorToIRQL;
#endif
LIST_ENTRY FirmwareDescriptorListHead; LIST_ENTRY FirmwareDescriptorListHead;
PVOID AcpiTable; PVOID AcpiTable;
ULONG AcpiTableSize; ULONG AcpiTableSize;
// //
// NT 5.2 SP1+ // NT 5.2 SP1+
// //
/** NT-version-dependent flags **/
ULONG BootViaWinload:1; ULONG BootViaWinload:1;
ULONG BootViaEFI:1; ULONG BootViaEFI:1;
ULONG Reserved:30; ULONG Reserved:30;
LOADER_PERFORMANCE_DATA LoaderPerformanceData; /********************************/
PLOADER_PERFORMANCE_DATA LoaderPerformanceData;
LIST_ENTRY BootApplicationPersistentData; LIST_ENTRY BootApplicationPersistentData;
PVOID WmdTestResult; PVOID WmdTestResult;
GUID BootIdentifier; GUID BootIdentifier;
@ -478,6 +485,9 @@ typedef struct _FIRMWARE_INFORMATION_LOADER_BLOCK
// //
// Loader Parameter Block // Loader Parameter Block
// //
// See http://www.geoffchappell.com/studies/windows/km/ntoskrnl/structs/loader_parameter_block.htm
// for more details.
//
typedef struct _LOADER_PARAMETER_BLOCK typedef struct _LOADER_PARAMETER_BLOCK
{ {
LIST_ENTRY LoadOrderListHead; LIST_ENTRY LoadOrderListHead;
@ -490,11 +500,11 @@ typedef struct _LOADER_PARAMETER_BLOCK
ULONG RegistryLength; ULONG RegistryLength;
PVOID RegistryBase; PVOID RegistryBase;
PCONFIGURATION_COMPONENT_DATA ConfigurationRoot; PCONFIGURATION_COMPONENT_DATA ConfigurationRoot;
LPSTR ArcBootDeviceName; PSTR ArcBootDeviceName;
LPSTR ArcHalDeviceName; PSTR ArcHalDeviceName;
LPSTR NtBootPathName; PSTR NtBootPathName;
LPSTR NtHalPathName; PSTR NtHalPathName;
LPSTR LoadOptions; PSTR LoadOptions;
PNLS_DATA_BLOCK NlsData; PNLS_DATA_BLOCK NlsData;
PARC_DISK_INFORMATION ArcDiskInformation; PARC_DISK_INFORMATION ArcDiskInformation;
PVOID OemFontFile; PVOID OemFontFile;

View file

@ -126,7 +126,7 @@ typedef struct _SETUP_LOADER_BLOCK
ULONG UnsupDriversInfFileLength; ULONG UnsupDriversInfFileLength;
PVOID BootFontFile; PVOID BootFontFile;
ULONG BootFontFileLength; ULONG BootFontFileLength;
MONITOR_CONFIGURATION_DATA Monitor; PMONITOR_CONFIGURATION_DATA Monitor;
PCHAR MonitorId; PCHAR MonitorId;
PDETECTED_DEVICE BootBusExtenders; PDETECTED_DEVICE BootBusExtenders;
PDETECTED_DEVICE BusExtenders; PDETECTED_DEVICE BusExtenders;