Also, turn some Win32 LPSTR into NT' PSTR or PCHAR types.
svn path=/trunk/; revision=74662
ULONG AffinityMask;
ULONG ConfigurationDataLength;
ULONG IdentifierLength;
ULONG AffinityMask;
ULONG ConfigurationDataLength;
ULONG IdentifierLength;
} CONFIGURATION_COMPONENT, *PCONFIGURATION_COMPONENT;
typedef struct _CONFIGURATION_COMPONENT_DATA
} CONFIGURATION_COMPONENT, *PCONFIGURATION_COMPONENT;
typedef struct _CONFIGURATION_COMPONENT_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
{
ULONG Size;
PROFILE_PARAMETER_BLOCK Profile;
typedef struct _LOADER_PARAMETER_EXTENSION
{
ULONG Size;
PROFILE_PARAMETER_BLOCK Profile;
- ULONG MajorVersion;
- ULONG MinorVersion;
+ ULONG MajorVersion; /* Not anymore present starting NT 6.1 */
+ ULONG MinorVersion; /* Not anymore present starting NT 6.1 */
PVOID EmInfFileImage;
ULONG EmInfFileSize;
PVOID TriageDumpBlock;
//
// NT 5.1
//
PVOID EmInfFileImage;
ULONG EmInfFileSize;
PVOID TriageDumpBlock;
//
// NT 5.1
//
- ULONG LoaderPagesSpanned;
+ ULONG_PTR LoaderPagesSpanned; /* Not anymore present starting NT 6.2 */
PHEADLESS_LOADER_BLOCK HeadlessLoaderBlock;
PSMBIOS_TABLE_HEADER SMBiosEPSHeader;
PVOID DrvDBImage;
PHEADLESS_LOADER_BLOCK HeadlessLoaderBlock;
PSMBIOS_TABLE_HEADER SMBiosEPSHeader;
PVOID DrvDBImage;
- PCHAR HalpIRQLToTPR;
- PCHAR HalpVectorToIRQL;
+#ifdef _X86_
+ PUCHAR HalpIRQLToTPR;
+ PUCHAR HalpVectorToIRQL;
+#endif
LIST_ENTRY FirmwareDescriptorListHead;
PVOID AcpiTable;
ULONG AcpiTableSize;
//
// NT 5.2 SP1+
//
LIST_ENTRY FirmwareDescriptorListHead;
PVOID AcpiTable;
ULONG AcpiTableSize;
//
// NT 5.2 SP1+
//
+/** NT-version-dependent flags **/
ULONG BootViaWinload:1;
ULONG BootViaEFI:1;
ULONG Reserved:30;
ULONG BootViaWinload:1;
ULONG BootViaEFI:1;
ULONG Reserved:30;
- LOADER_PERFORMANCE_DATA LoaderPerformanceData;
+/********************************/
+ PLOADER_PERFORMANCE_DATA LoaderPerformanceData;
LIST_ENTRY BootApplicationPersistentData;
PVOID WmdTestResult;
GUID BootIdentifier;
LIST_ENTRY BootApplicationPersistentData;
PVOID WmdTestResult;
GUID BootIdentifier;
//
// 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
{
LIST_ENTRY LoadOrderListHead;
typedef struct _LOADER_PARAMETER_BLOCK
{
LIST_ENTRY LoadOrderListHead;
ULONG RegistryLength;
PVOID RegistryBase;
PCONFIGURATION_COMPONENT_DATA ConfigurationRoot;
ULONG RegistryLength;
PVOID RegistryBase;
PCONFIGURATION_COMPONENT_DATA ConfigurationRoot;
- LPSTR ArcBootDeviceName;
- LPSTR ArcHalDeviceName;
- LPSTR NtBootPathName;
- LPSTR NtHalPathName;
- LPSTR LoadOptions;
+ PSTR ArcBootDeviceName;
+ PSTR ArcHalDeviceName;
+ PSTR NtBootPathName;
+ PSTR NtHalPathName;
+ PSTR LoadOptions;
PNLS_DATA_BLOCK NlsData;
PARC_DISK_INFORMATION ArcDiskInformation;
PVOID OemFontFile;
PNLS_DATA_BLOCK NlsData;
PARC_DISK_INFORMATION ArcDiskInformation;
PVOID OemFontFile;
ULONG UnsupDriversInfFileLength;
PVOID BootFontFile;
ULONG BootFontFileLength;
ULONG UnsupDriversInfFileLength;
PVOID BootFontFile;
ULONG BootFontFileLength;
- MONITOR_CONFIGURATION_DATA Monitor;
+ PMONITOR_CONFIGURATION_DATA Monitor;
PCHAR MonitorId;
PDETECTED_DEVICE BootBusExtenders;
PDETECTED_DEVICE BusExtenders;
PCHAR MonitorId;
PDETECTED_DEVICE BootBusExtenders;
PDETECTED_DEVICE BusExtenders;