Techwiki:Ntoskrnl/MMVAD OPTIONS

From ReactOS Wiki
Revision as of 22:12, 8 November 2009 by RideBMX (talk | contribs) (Techwiki/ntoskrnl/MMVAD OPTIONS moved to Techwiki:Ntoskrnl/MMVAD OPTIONS)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
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;


References