//0x18 bytes (sizeof)
struct _MMPFN
{
union
{
ULONG Flink; //0x0
ULONG WsIndex; //0x0
struct _KEVENT* Event; //0x0
VOID* Next; //0x0
VOID* volatile VolatileNext; //0x0
struct _KTHREAD* KernelStackOwner; //0x0
struct _SINGLE_LIST_ENTRY NextStackPfn; //0x0
} u1; //0x0
union
{
ULONG Blink; //0x4
struct _MMPTE* ImageProtoPte; //0x4
ULONG ShareCount; //0x4
} u2; //0x4
union
{
struct _MMPTE* PteAddress; //0x8
VOID* volatile VolatilePteAddress; //0x8
};
union
{
struct
{
USHORT ReferenceCount; //0xc
struct _MMPFNENTRY e1; //0xe
};
struct
{
union
{
USHORT ReferenceCount; //0xc
volatile SHORT VolatileReferenceCount; //0xc
};
USHORT ShortFlags; //0xe
} e2; //0xc
struct
{
USHORT ReferenceCount; //0xc
UCHAR ByteFlags; //0xe
UCHAR InterlockedByteFlags; //0xf
} e3; //0xc
} u3; //0xc
union
{
struct _MMPTE OriginalPte; //0x10
volatile LONG AweReferenceCount; //0x10
};
union
{
ULONG PteFrame:25; //0x14
ULONG PfnImageVerified:1; //0x14
ULONG AweAllocation:1; //0x14
ULONG PrototypePte:1; //0x14
ULONG PageColor:4; //0x14
} u4; //0x14
};