#ifndef _NTEXAPI_H
// private
/**
* Describes one page returned in the flat array for SystemBadPageInformationEx (244).
* On x64, bits 0-51 are the page number, bit 62 is Pending, and bit 63 is Poisoned.
* SystemBadPageInformation (128) omits pending entries and clears the poisoned bit.
* There is no count prefix in the returned buffer; divide ReturnLength by the entry size.
* ExpQuerySystemInformation and MiGetListOfPendingBadPages use 8-byte entries on x64.
*/
typedef union _SYSTEM_BAD_PAGE_INFORMATION
{
ULONG_PTR Value;
struct
{
#ifdef _WIN64
ULONG_PTR PhysicalPageNumber : 52;
#else
ULONG PhysicalPageNumber : 20;
#endif
ULONG_PTR Reserved : 10;
ULONG_PTR Pending : 1;
ULONG_PTR Poisoned : 1;
} DUMMYSTRUCTNAME;
} SYSTEM_BAD_PAGE_INFORMATION, *PSYSTEM_BAD_PAGE_INFORMATION;
View code on GitHubNo description available.