Techwiki:Ntoskrnl/MMVAD OPTIONS
Revision as of 22:12, 8 November 2009 by RideBMX (talk | contribs) (Techwiki/ntoskrnl/MMVAD OPTIONS moved to Techwiki:Ntoskrnl/MMVAD OPTIONS)
typedef struct _MMVAD_FLAGS { ULONG_PTR CommitCharge : COMMIT_SIZE; // limits system to 4k pages or bigger! #define COMMIT_SIZE 19 (32 bits system) ULONG_PTR NoChange : 1; ULONG_PTR VadType : 3; ULONG_PTR MemCommit: 1; ULONG_PTR Protection : 5; ULONG_PTR Spare : 2; ULONG_PTR PrivateMemory : 1; // used to tell VAD from VAD_SHORT } MMVAD_FLAGS;
typedef struct _MMVAD { union { LONG_PTR Balance : 2; struct _MMVAD *Parent; } u1; struct _MMVAD *LeftChild; struct _MMVAD *RightChild; ULONG_PTR StartingVpn; ULONG_PTR EndingVpn; union { ULONG_PTR Longanes; MMVAD_FLAGS VadFlags; } u; PCONTROL_AREA ControlArea; PMMPTE FirstPrototypePte; PMMPTE LastContiguousPte; union { ULONG LongFlags2; MMVAD_FLAGS2 VadFlags2; } u2; } MMVAD, *PMMVAD;