ReactOS  0.4.12-dev-396-g37af787
mmtypes.h File Reference

Go to the source code of this file.

Classes

struct  _READ_LIST
 
union  _MM_PREFETCH_FLAGS
 

Macros

#define MM_ANY_NODE_OK   0x80000000
 
#define MM_DONT_ZERO_ALLOCATION   0x00000001
 
#define MM_ALLOCATE_FROM_LOCAL_NODE_ONLY   0x00000002
 
#define MM_ALLOCATE_FULLY_REQUIRED   0x00000004
 
#define MM_ALLOCATE_NO_WAIT   0x00000008
 
#define MM_ALLOCATE_PREFER_CONTIGUOUS   0x00000010
 
#define MM_ALLOCATE_REQUIRE_CONTIGUOUS_CHUNKS   0x00000020
 
#define MDL_MAPPED_TO_SYSTEM_VA   0x0001
 
#define MDL_PAGES_LOCKED   0x0002
 
#define MDL_SOURCE_IS_NONPAGED_POOL   0x0004
 
#define MDL_ALLOCATED_FIXED_SIZE   0x0008
 
#define MDL_PARTIAL   0x0010
 
#define MDL_PARTIAL_HAS_BEEN_MAPPED   0x0020
 
#define MDL_IO_PAGE_READ   0x0040
 
#define MDL_WRITE_OPERATION   0x0080
 
#define MDL_PARENT_MAPPED_SYSTEM_VA   0x0100
 
#define MDL_FREE_EXTRA_PTES   0x0200
 
#define MDL_DESCRIBES_AWE   0x0400
 
#define MDL_IO_SPACE   0x0800
 
#define MDL_NETWORK_HEADER   0x1000
 
#define MDL_MAPPING_CAN_FAIL   0x2000
 
#define MDL_ALLOCATED_MUST_SUCCEED   0x4000
 
#define MDL_INTERNAL   0x8000
 
#define MDL_MAPPING_FLAGS
 
#define FLUSH_MULTIPLE_MAXIMUM   32
 
#define SECTION_QUERY   0x0001
 
#define SECTION_MAP_WRITE   0x0002
 
#define SECTION_MAP_READ   0x0004
 
#define SECTION_MAP_EXECUTE   0x0008
 
#define SECTION_EXTEND_SIZE   0x0010
 
#define SECTION_MAP_EXECUTE_EXPLICIT   0x0020
 
#define SECTION_ALL_ACCESS
 
#define SESSION_QUERY_ACCESS   0x0001
 
#define SESSION_MODIFY_ACCESS   0x0002
 
#define SESSION_ALL_ACCESS
 
#define SEGMENT_ALL_ACCESS   SECTION_ALL_ACCESS
 
#define PAGE_NOACCESS   0x01
 
#define PAGE_READONLY   0x02
 
#define PAGE_READWRITE   0x04
 
#define PAGE_WRITECOPY   0x08
 
#define PAGE_EXECUTE   0x10
 
#define PAGE_EXECUTE_READ   0x20
 
#define PAGE_EXECUTE_READWRITE   0x40
 
#define PAGE_EXECUTE_WRITECOPY   0x80
 
#define PAGE_GUARD   0x100
 
#define PAGE_NOCACHE   0x200
 
#define PAGE_WRITECOMBINE   0x400
 
#define MEM_COMMIT   0x1000
 
#define MEM_RESERVE   0x2000
 
#define MEM_DECOMMIT   0x4000
 
#define MEM_RELEASE   0x8000
 
#define MEM_FREE   0x10000
 
#define MEM_PRIVATE   0x20000
 
#define MEM_MAPPED   0x40000
 
#define MEM_RESET   0x80000
 
#define MEM_TOP_DOWN   0x100000
 
#define MEM_LARGE_PAGES   0x20000000
 
#define MEM_4MB_PAGES   0x80000000
 
#define SEC_RESERVE   0x4000000
 
#define SEC_COMMIT   0x8000000
 
#define SEC_LARGE_PAGES   0x80000000
 
#define MM_PREFETCH_FLAGS_MASK   ((1 << (2*SYSTEM_PAGE_PRIORITY_BITS)) - 1)
 
#define HEAP_NO_SERIALIZE   0x00000001
 
#define HEAP_GROWABLE   0x00000002
 
#define HEAP_GENERATE_EXCEPTIONS   0x00000004
 
#define HEAP_ZERO_MEMORY   0x00000008
 
#define HEAP_REALLOC_IN_PLACE_ONLY   0x00000010
 
#define HEAP_TAIL_CHECKING_ENABLED   0x00000020
 
#define HEAP_FREE_CHECKING_ENABLED   0x00000040
 
#define HEAP_DISABLE_COALESCE_ON_FREE   0x00000080
 
#define HEAP_CREATE_ALIGN_16   0x00010000
 
#define HEAP_CREATE_ENABLE_TRACING   0x00020000
 
#define HEAP_CREATE_ENABLE_EXECUTE   0x00040000
 
#define HEAP_SETTABLE_USER_VALUE   0x00000100
 
#define HEAP_SETTABLE_USER_FLAG1   0x00000200
 
#define HEAP_SETTABLE_USER_FLAG2   0x00000400
 
#define HEAP_SETTABLE_USER_FLAG3   0x00000800
 
#define HEAP_SETTABLE_USER_FLAGS   0x00000E00
 
#define HEAP_CLASS_0   0x00000000
 
#define HEAP_CLASS_1   0x00001000
 
#define HEAP_CLASS_2   0x00002000
 
#define HEAP_CLASS_3   0x00003000
 
#define HEAP_CLASS_4   0x00004000
 
#define HEAP_CLASS_5   0x00005000
 
#define HEAP_CLASS_6   0x00006000
 
#define HEAP_CLASS_7   0x00007000
 
#define HEAP_CLASS_8   0x00008000
 
#define HEAP_CLASS_MASK   0x0000F000
 
#define HEAP_MAXIMUM_TAG   0x0FFF
 
#define HEAP_GLOBAL_TAG   0x0800
 
#define HEAP_PSEUDO_TAG_FLAG   0x8000
 
#define HEAP_TAG_SHIFT   18
 
#define HEAP_TAG_MASK   (HEAP_MAXIMUM_TAG << HEAP_TAG_SHIFT)
 
#define HEAP_CREATE_VALID_MASK
 

Typedefs

typedef enum _SECTION_INHERIT SECTION_INHERIT
 
typedef ULONG PFN_COUNT
 
typedef LONG_PTR SPFN_NUMBER
 
typedef LONG_PTRPSPFN_NUMBER
 
typedef ULONG_PTR PFN_NUMBER
 
typedef ULONG_PTRPPFN_NUMBER
 
typedef MDLPMDLX
 
typedef enum _MEMORY_CACHING_TYPE_ORIG MEMORY_CACHING_TYPE_ORIG
 
typedef enum _MEMORY_CACHING_TYPE MEMORY_CACHING_TYPE
 
typedef enum _MM_PAGE_PRIORITY MM_PAGE_PRIORITY
 
typedef enum _MM_SYSTEM_SIZE MM_SYSTEMSIZE
 
typedef NTSTATUS(NTAPIPMM_ROTATE_COPY_CALLBACK_FUNCTION) (_In_ PMDL DestinationMdl, _In_ PMDL SourceMdl, _In_ PVOID Context)
 
typedef enum _MM_ROTATE_DIRECTION MM_ROTATE_DIRECTION
 
typedef enum _MM_ROTATE_DIRECTIONPMM_ROTATE_DIRECTION
 
typedef struct _READ_LIST READ_LIST
 
typedef struct _READ_LISTPREAD_LIST
 
typedef union _MM_PREFETCH_FLAGS MM_PREFETCH_FLAGS
 
typedef union _MM_PREFETCH_FLAGSPMM_PREFETCH_FLAGS
 

Enumerations

enum  _SECTION_INHERIT {
  ViewShare = 1, ViewUnmap = 2, ViewShare = 1, ViewUnmap = 2,
  ViewShare = 1, ViewUnmap = 2
}
 
enum  _MEMORY_CACHING_TYPE_ORIG { MmFrameBufferCached = 2 }
 
enum  _MEMORY_CACHING_TYPE {
  MmNonCached = FALSE, MmCached = TRUE, MmWriteCombined = MmFrameBufferCached, MmHardwareCoherentCached,
  MmNonCachedUnordered, MmUSWCCached, MmMaximumCacheType
}
 
enum  _MM_PAGE_PRIORITY {
  LowPagePriority = 0, NormalPagePriority = 16, HighPagePriority = 32, LowPagePriority,
  NormalPagePriority = 16, HighPagePriority = 32
}
 
enum  _MM_SYSTEM_SIZE { MmSmallSystem, MmMediumSystem, MmLargeSystem }
 
enum  _MM_ROTATE_DIRECTION {
  MmToFrameBuffer, MmToFrameBufferNoCopy, MmToRegularMemory, MmToRegularMemoryNoCopy,
  MmMaximumRotateDirection
}
 

Functions

 $if (_WDMDDK_) typedef ULONG NODE_REQUIREMENT
 
 _Struct_size_bytes_ (_Inexpressible_(sizeof(struct _MDL)+(ByteOffset+ByteCount+PAGE_SIZE-1)/PAGE_SIZE *sizeof(PFN_NUMBER))) typedef struct _MDL
 
 $endif (_WDMDDK_) $if(_NTDDK_) typedef struct _PHYSICAL_MEMORY_RANGE
 
 $endif (_NTDDK_) $if(_NTIFS_) typedef enum _MMFLUSH_TYPE
 

Variables

 MDL
 
PMDL
 
PBOOLEAN Mm64BitPhysicalAddress
 
NTKERNELAPI PVOID MmBadPointer
 
 PHYSICAL_MEMORY_RANGE
 
PPHYSICAL_MEMORY_RANGE
 
 MMFLUSH_TYPE
 

Macro Definition Documentation

◆ FLUSH_MULTIPLE_MAXIMUM

#define FLUSH_MULTIPLE_MAXIMUM   32

Definition at line 43 of file mmtypes.h.

◆ HEAP_CLASS_0

#define HEAP_CLASS_0   0x00000000

Definition at line 225 of file mmtypes.h.

◆ HEAP_CLASS_1

#define HEAP_CLASS_1   0x00001000

Definition at line 226 of file mmtypes.h.

◆ HEAP_CLASS_2

#define HEAP_CLASS_2   0x00002000

Definition at line 227 of file mmtypes.h.

◆ HEAP_CLASS_3

#define HEAP_CLASS_3   0x00003000

Definition at line 228 of file mmtypes.h.

◆ HEAP_CLASS_4

#define HEAP_CLASS_4   0x00004000

Definition at line 229 of file mmtypes.h.

◆ HEAP_CLASS_5

#define HEAP_CLASS_5   0x00005000

Definition at line 230 of file mmtypes.h.

◆ HEAP_CLASS_6

#define HEAP_CLASS_6   0x00006000

Definition at line 231 of file mmtypes.h.

◆ HEAP_CLASS_7

#define HEAP_CLASS_7   0x00007000

Definition at line 232 of file mmtypes.h.

◆ HEAP_CLASS_8

#define HEAP_CLASS_8   0x00008000

Definition at line 233 of file mmtypes.h.

◆ HEAP_CLASS_MASK

#define HEAP_CLASS_MASK   0x0000F000

Definition at line 234 of file mmtypes.h.

◆ HEAP_CREATE_ALIGN_16

#define HEAP_CREATE_ALIGN_16   0x00010000

Definition at line 215 of file mmtypes.h.

◆ HEAP_CREATE_ENABLE_EXECUTE

#define HEAP_CREATE_ENABLE_EXECUTE   0x00040000

Definition at line 217 of file mmtypes.h.

◆ HEAP_CREATE_ENABLE_TRACING

#define HEAP_CREATE_ENABLE_TRACING   0x00020000

Definition at line 216 of file mmtypes.h.

◆ HEAP_CREATE_VALID_MASK

#define HEAP_CREATE_VALID_MASK
Value:
HEAP_GROWABLE | \
HEAP_GENERATE_EXCEPTIONS | \
HEAP_ZERO_MEMORY | \
HEAP_REALLOC_IN_PLACE_ONLY | \
HEAP_TAIL_CHECKING_ENABLED | \
HEAP_FREE_CHECKING_ENABLED | \
HEAP_DISABLE_COALESCE_ON_FREE | \
HEAP_CLASS_MASK | \
HEAP_CREATE_ALIGN_16 | \
HEAP_CREATE_ENABLE_TRACING | \
HEAP_CREATE_ENABLE_EXECUTE)
#define HEAP_NO_SERIALIZE
Definition: mmtypes.h:206

Definition at line 242 of file mmtypes.h.

◆ HEAP_DISABLE_COALESCE_ON_FREE

#define HEAP_DISABLE_COALESCE_ON_FREE   0x00000080

Definition at line 213 of file mmtypes.h.

◆ HEAP_FREE_CHECKING_ENABLED

#define HEAP_FREE_CHECKING_ENABLED   0x00000040

Definition at line 212 of file mmtypes.h.

◆ HEAP_GENERATE_EXCEPTIONS

#define HEAP_GENERATE_EXCEPTIONS   0x00000004

Definition at line 208 of file mmtypes.h.

◆ HEAP_GLOBAL_TAG

#define HEAP_GLOBAL_TAG   0x0800

Definition at line 237 of file mmtypes.h.

◆ HEAP_GROWABLE

#define HEAP_GROWABLE   0x00000002

Definition at line 207 of file mmtypes.h.

◆ HEAP_MAXIMUM_TAG

#define HEAP_MAXIMUM_TAG   0x0FFF

Definition at line 236 of file mmtypes.h.

◆ HEAP_NO_SERIALIZE

#define HEAP_NO_SERIALIZE   0x00000001

Definition at line 206 of file mmtypes.h.

◆ HEAP_PSEUDO_TAG_FLAG

#define HEAP_PSEUDO_TAG_FLAG   0x8000

Definition at line 238 of file mmtypes.h.

◆ HEAP_REALLOC_IN_PLACE_ONLY

#define HEAP_REALLOC_IN_PLACE_ONLY   0x00000010

Definition at line 210 of file mmtypes.h.

◆ HEAP_SETTABLE_USER_FLAG1

#define HEAP_SETTABLE_USER_FLAG1   0x00000200

Definition at line 220 of file mmtypes.h.

◆ HEAP_SETTABLE_USER_FLAG2

#define HEAP_SETTABLE_USER_FLAG2   0x00000400

Definition at line 221 of file mmtypes.h.

◆ HEAP_SETTABLE_USER_FLAG3

#define HEAP_SETTABLE_USER_FLAG3   0x00000800

Definition at line 222 of file mmtypes.h.

◆ HEAP_SETTABLE_USER_FLAGS

#define HEAP_SETTABLE_USER_FLAGS   0x00000E00

Definition at line 223 of file mmtypes.h.

◆ HEAP_SETTABLE_USER_VALUE

#define HEAP_SETTABLE_USER_VALUE   0x00000100

Definition at line 219 of file mmtypes.h.

◆ HEAP_TAG_MASK

#define HEAP_TAG_MASK   (HEAP_MAXIMUM_TAG << HEAP_TAG_SHIFT)

Definition at line 240 of file mmtypes.h.

◆ HEAP_TAG_SHIFT

#define HEAP_TAG_SHIFT   18

Definition at line 239 of file mmtypes.h.

◆ HEAP_TAIL_CHECKING_ENABLED

#define HEAP_TAIL_CHECKING_ENABLED   0x00000020

Definition at line 211 of file mmtypes.h.

◆ HEAP_ZERO_MEMORY

#define HEAP_ZERO_MEMORY   0x00000008

Definition at line 209 of file mmtypes.h.

◆ MDL_ALLOCATED_FIXED_SIZE

#define MDL_ALLOCATED_FIXED_SIZE   0x0008

Definition at line 21 of file mmtypes.h.

◆ MDL_ALLOCATED_MUST_SUCCEED

#define MDL_ALLOCATED_MUST_SUCCEED   0x4000

Definition at line 32 of file mmtypes.h.

◆ MDL_DESCRIBES_AWE

#define MDL_DESCRIBES_AWE   0x0400

Definition at line 28 of file mmtypes.h.

◆ MDL_FREE_EXTRA_PTES

#define MDL_FREE_EXTRA_PTES   0x0200

Definition at line 27 of file mmtypes.h.

◆ MDL_INTERNAL

#define MDL_INTERNAL   0x8000

Definition at line 33 of file mmtypes.h.

◆ MDL_IO_PAGE_READ

#define MDL_IO_PAGE_READ   0x0040

Definition at line 24 of file mmtypes.h.

◆ MDL_IO_SPACE

#define MDL_IO_SPACE   0x0800

Definition at line 29 of file mmtypes.h.

◆ MDL_MAPPED_TO_SYSTEM_VA

#define MDL_MAPPED_TO_SYSTEM_VA   0x0001

Definition at line 18 of file mmtypes.h.

◆ MDL_MAPPING_CAN_FAIL

#define MDL_MAPPING_CAN_FAIL   0x2000

Definition at line 31 of file mmtypes.h.

◆ MDL_MAPPING_FLAGS

#define MDL_MAPPING_FLAGS
Value:
MDL_PAGES_LOCKED | \
MDL_SOURCE_IS_NONPAGED_POOL | \
MDL_PARTIAL_HAS_BEEN_MAPPED | \
MDL_PARENT_MAPPED_SYSTEM_VA | \
MDL_SYSTEM_VA | \
MDL_IO_SPACE)
#define MDL_MAPPED_TO_SYSTEM_VA
Definition: mmtypes.h:18

Definition at line 35 of file mmtypes.h.

◆ MDL_NETWORK_HEADER

#define MDL_NETWORK_HEADER   0x1000

Definition at line 30 of file mmtypes.h.

◆ MDL_PAGES_LOCKED

#define MDL_PAGES_LOCKED   0x0002

Definition at line 19 of file mmtypes.h.

◆ MDL_PARENT_MAPPED_SYSTEM_VA

#define MDL_PARENT_MAPPED_SYSTEM_VA   0x0100

Definition at line 26 of file mmtypes.h.

◆ MDL_PARTIAL

#define MDL_PARTIAL   0x0010

Definition at line 22 of file mmtypes.h.

◆ MDL_PARTIAL_HAS_BEEN_MAPPED

#define MDL_PARTIAL_HAS_BEEN_MAPPED   0x0020

Definition at line 23 of file mmtypes.h.

◆ MDL_SOURCE_IS_NONPAGED_POOL

#define MDL_SOURCE_IS_NONPAGED_POOL   0x0004

Definition at line 20 of file mmtypes.h.

◆ MDL_WRITE_OPERATION

#define MDL_WRITE_OPERATION   0x0080

Definition at line 25 of file mmtypes.h.

◆ MEM_4MB_PAGES

#define MEM_4MB_PAGES   0x80000000

Definition at line 90 of file mmtypes.h.

◆ MEM_COMMIT

#define MEM_COMMIT   0x1000

Definition at line 80 of file mmtypes.h.

◆ MEM_DECOMMIT

#define MEM_DECOMMIT   0x4000

Definition at line 82 of file mmtypes.h.

◆ MEM_FREE

#define MEM_FREE   0x10000

Definition at line 84 of file mmtypes.h.

◆ MEM_LARGE_PAGES

#define MEM_LARGE_PAGES   0x20000000

Definition at line 89 of file mmtypes.h.

◆ MEM_MAPPED

#define MEM_MAPPED   0x40000

Definition at line 86 of file mmtypes.h.

◆ MEM_PRIVATE

#define MEM_PRIVATE   0x20000

Definition at line 85 of file mmtypes.h.

◆ MEM_RELEASE

#define MEM_RELEASE   0x8000

Definition at line 83 of file mmtypes.h.

◆ MEM_RESERVE

#define MEM_RESERVE   0x2000

Definition at line 81 of file mmtypes.h.

◆ MEM_RESET

#define MEM_RESET   0x80000

Definition at line 87 of file mmtypes.h.

◆ MEM_TOP_DOWN

#define MEM_TOP_DOWN   0x100000

Definition at line 88 of file mmtypes.h.

◆ MM_ALLOCATE_FROM_LOCAL_NODE_ONLY

#define MM_ALLOCATE_FROM_LOCAL_NODE_ONLY   0x00000002

Definition at line 12 of file mmtypes.h.

◆ MM_ALLOCATE_FULLY_REQUIRED

#define MM_ALLOCATE_FULLY_REQUIRED   0x00000004

Definition at line 13 of file mmtypes.h.

◆ MM_ALLOCATE_NO_WAIT

#define MM_ALLOCATE_NO_WAIT   0x00000008

Definition at line 14 of file mmtypes.h.

◆ MM_ALLOCATE_PREFER_CONTIGUOUS

#define MM_ALLOCATE_PREFER_CONTIGUOUS   0x00000010

Definition at line 15 of file mmtypes.h.

◆ MM_ALLOCATE_REQUIRE_CONTIGUOUS_CHUNKS

#define MM_ALLOCATE_REQUIRE_CONTIGUOUS_CHUNKS   0x00000020

Definition at line 16 of file mmtypes.h.

◆ MM_ANY_NODE_OK

#define MM_ANY_NODE_OK   0x80000000

Definition at line 8 of file mmtypes.h.

◆ MM_DONT_ZERO_ALLOCATION

#define MM_DONT_ZERO_ALLOCATION   0x00000001

Definition at line 11 of file mmtypes.h.

◆ MM_PREFETCH_FLAGS_MASK

#define MM_PREFETCH_FLAGS_MASK   ((1 << (2*SYSTEM_PAGE_PRIORITY_BITS)) - 1)

Definition at line 202 of file mmtypes.h.

◆ PAGE_EXECUTE

#define PAGE_EXECUTE   0x10

Definition at line 72 of file mmtypes.h.

◆ PAGE_EXECUTE_READ

#define PAGE_EXECUTE_READ   0x20

Definition at line 73 of file mmtypes.h.

◆ PAGE_EXECUTE_READWRITE

#define PAGE_EXECUTE_READWRITE   0x40

Definition at line 74 of file mmtypes.h.

◆ PAGE_EXECUTE_WRITECOPY

#define PAGE_EXECUTE_WRITECOPY   0x80

Definition at line 75 of file mmtypes.h.

◆ PAGE_GUARD

#define PAGE_GUARD   0x100

Definition at line 76 of file mmtypes.h.

◆ PAGE_NOACCESS

#define PAGE_NOACCESS   0x01

Definition at line 68 of file mmtypes.h.

◆ PAGE_NOCACHE

#define PAGE_NOCACHE   0x200

Definition at line 77 of file mmtypes.h.

◆ PAGE_READONLY

#define PAGE_READONLY   0x02

Definition at line 69 of file mmtypes.h.

◆ PAGE_READWRITE

#define PAGE_READWRITE   0x04

Definition at line 70 of file mmtypes.h.

◆ PAGE_WRITECOMBINE

#define PAGE_WRITECOMBINE   0x400

Definition at line 78 of file mmtypes.h.

◆ PAGE_WRITECOPY

#define PAGE_WRITECOPY   0x08

Definition at line 71 of file mmtypes.h.

◆ SEC_COMMIT

#define SEC_COMMIT   0x8000000

Definition at line 93 of file mmtypes.h.

◆ SEC_LARGE_PAGES

#define SEC_LARGE_PAGES   0x80000000

Definition at line 94 of file mmtypes.h.

◆ SEC_RESERVE

#define SEC_RESERVE   0x4000000

Definition at line 92 of file mmtypes.h.

◆ SECTION_ALL_ACCESS

#define SECTION_ALL_ACCESS
Value:
SECTION_MAP_WRITE | \
SECTION_MAP_READ | \
SECTION_MAP_EXECUTE | \
SECTION_EXTEND_SIZE)
#define SECTION_QUERY
Definition: mmtypes.h:46
#define STANDARD_RIGHTS_REQUIRED
Definition: nt_native.h:63

Definition at line 53 of file mmtypes.h.

◆ SECTION_EXTEND_SIZE

#define SECTION_EXTEND_SIZE   0x0010

Definition at line 50 of file mmtypes.h.

◆ SECTION_MAP_EXECUTE

#define SECTION_MAP_EXECUTE   0x0008

Definition at line 49 of file mmtypes.h.

◆ SECTION_MAP_EXECUTE_EXPLICIT

#define SECTION_MAP_EXECUTE_EXPLICIT   0x0020

Definition at line 51 of file mmtypes.h.

◆ SECTION_MAP_READ

#define SECTION_MAP_READ   0x0004

Definition at line 48 of file mmtypes.h.

◆ SECTION_MAP_WRITE

#define SECTION_MAP_WRITE   0x0002

Definition at line 47 of file mmtypes.h.

◆ SECTION_QUERY

#define SECTION_QUERY   0x0001

Definition at line 46 of file mmtypes.h.

◆ SEGMENT_ALL_ACCESS

#define SEGMENT_ALL_ACCESS   SECTION_ALL_ACCESS

Definition at line 66 of file mmtypes.h.

◆ SESSION_ALL_ACCESS

#define SESSION_ALL_ACCESS
Value:
SESSION_QUERY_ACCESS | \
SESSION_MODIFY_ACCESS)
#define STANDARD_RIGHTS_REQUIRED
Definition: nt_native.h:63

Definition at line 62 of file mmtypes.h.

◆ SESSION_MODIFY_ACCESS

#define SESSION_MODIFY_ACCESS   0x0002

Definition at line 60 of file mmtypes.h.

◆ SESSION_QUERY_ACCESS

#define SESSION_QUERY_ACCESS   0x0001

Definition at line 59 of file mmtypes.h.

Typedef Documentation

◆ MEMORY_CACHING_TYPE

◆ MEMORY_CACHING_TYPE_ORIG

◆ MM_PAGE_PRIORITY

◆ MM_PREFETCH_FLAGS

◆ MM_ROTATE_DIRECTION

◆ MM_SYSTEMSIZE

◆ PFN_COUNT

typedef ULONG PFN_COUNT

Definition at line 102 of file mmtypes.h.

◆ PFN_NUMBER

Definition at line 104 of file mmtypes.h.

◆ PMDLX

typedef MDL* PMDLX

Definition at line 121 of file mmtypes.h.

◆ PMM_PREFETCH_FLAGS

◆ PMM_ROTATE_COPY_CALLBACK_FUNCTION

typedef NTSTATUS(NTAPI * PMM_ROTATE_COPY_CALLBACK_FUNCTION) (_In_ PMDL DestinationMdl, _In_ PMDL SourceMdl, _In_ PVOID Context)

Definition at line 165 of file mmtypes.h.

◆ PMM_ROTATE_DIRECTION

◆ PPFN_NUMBER

Definition at line 104 of file mmtypes.h.

◆ PREAD_LIST

◆ PSPFN_NUMBER

Definition at line 103 of file mmtypes.h.

◆ READ_LIST

◆ SECTION_INHERIT

◆ SPFN_NUMBER

Definition at line 103 of file mmtypes.h.

Enumeration Type Documentation

◆ _MEMORY_CACHING_TYPE

Enumerator
MmNonCached 
MmCached 
MmWriteCombined 
MmHardwareCoherentCached 
MmNonCachedUnordered 
MmUSWCCached 
MmMaximumCacheType 

Definition at line 128 of file mmtypes.h.

◆ _MEMORY_CACHING_TYPE_ORIG

Enumerator
MmFrameBufferCached 

Definition at line 124 of file mmtypes.h.

124  {
enum _MEMORY_CACHING_TYPE_ORIG MEMORY_CACHING_TYPE_ORIG

◆ _MM_PAGE_PRIORITY

Enumerator
LowPagePriority 
NormalPagePriority 
HighPagePriority 
LowPagePriority 
NormalPagePriority 
HighPagePriority 

Definition at line 138 of file mmtypes.h.

138  {
140  NormalPagePriority = 16,
141  HighPagePriority = 32
enum _MM_PAGE_PRIORITY MM_PAGE_PRIORITY

◆ _MM_ROTATE_DIRECTION

Enumerator
MmToFrameBuffer 
MmToFrameBufferNoCopy 
MmToRegularMemory 
MmToRegularMemoryNoCopy 
MmMaximumRotateDirection 

Definition at line 170 of file mmtypes.h.

◆ _MM_SYSTEM_SIZE

Enumerator
MmSmallSystem 
MmMediumSystem 
MmLargeSystem 

Definition at line 144 of file mmtypes.h.

144  {
148 } MM_SYSTEMSIZE;
enum _MM_SYSTEM_SIZE MM_SYSTEMSIZE

◆ _SECTION_INHERIT

Enumerator
ViewShare 
ViewUnmap 
ViewShare 
ViewUnmap 
ViewShare 
ViewUnmap 

Definition at line 97 of file mmtypes.h.

97  {
98  ViewShare = 1,
99  ViewUnmap = 2
enum _SECTION_INHERIT SECTION_INHERIT

Function Documentation

◆ $endif() [1/2]

$endif ( _WDMDDK_  )

Definition at line 156 of file mmtypes.h.

159  {
PHYSICAL_MEMORY_RANGE
Definition: mmtypes.h:162
* PPHYSICAL_MEMORY_RANGE
Definition: mmtypes.h:162
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID * BaseAddress
Definition: mmfuncs.h:404
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER NumberOfBytes
Definition: iotypes.h:997

◆ $endif() [2/2]

$endif ( _NTDDK_  )

Definition at line 178 of file mmtypes.h.

180  {
181  MmFlushForDelete,
182  MmFlushForWrite
183 } MMFLUSH_TYPE;
MMFLUSH_TYPE
Definition: mmtypes.h:183

◆ $if()

$if ( _WDMDDK_  )

Kernel definitions for AMD64

Kernel definitions for ARM

Kernel definitions for AMD64

Kernel definitions for ARM

Kernel definitions for x86

Definition at line 1 of file ke.h.

31 {
32  ULONG Dummy;
struct _KFLOATING_SAVE KFLOATING_SAVE
struct _KFLOATING_SAVE * PKFLOATING_SAVE
unsigned int ULONG
Definition: retypes.h:1

◆ _Struct_size_bytes_()

_Struct_size_bytes_ ( _Inexpressible_(sizeof(struct _MDL)+(ByteOffset+ByteCount+PAGE_SIZE-1)/PAGE_SIZE *sizeof(PFN_NUMBER))  )

Definition at line 106 of file mmtypes.h.

108  {
109  struct _MDL *Next;
110  CSHORT Size;
111  CSHORT MdlFlags;
112  struct _EPROCESS *Process;
113  PVOID MappedSystemVa;
114  PVOID StartVa;
117 } MDL, *PMDL;
MDL
Definition: mmtypes.h:117
IN PVOID IN PVOID IN USHORT IN USHORT Size
Definition: pci.h:359
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _In_ LARGE_INTEGER ByteCount
Definition: iotypes.h:1060
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:219
unsigned int ULONG
Definition: retypes.h:1
short CSHORT
Definition: umtypes.h:127
IN PDCB IN PCCB IN VBO IN OUT PULONG OUT PDIRENT OUT PBCB OUT PVBO ByteOffset
Definition: fatprocs.h:716
* PMDL
Definition: mmtypes.h:117

Variable Documentation

◆ MDL

◆ Mm64BitPhysicalAddress

PBOOLEAN Mm64BitPhysicalAddress

Definition at line 22 of file mminit.c.

◆ MmBadPointer

NTKERNELAPI PVOID MmBadPointer

Referenced by START_TEST().

◆ MMFLUSH_TYPE

MMFLUSH_TYPE

Definition at line 183 of file mmtypes.h.

◆ PHYSICAL_MEMORY_RANGE

PHYSICAL_MEMORY_RANGE

Definition at line 162 of file mmtypes.h.

Referenced by MmGetPhysicalMemoryRanges().

◆ PMDL

* PMDL

Definition at line 117 of file mmtypes.h.

◆ PPHYSICAL_MEMORY_RANGE

* PPHYSICAL_MEMORY_RANGE

Definition at line 162 of file mmtypes.h.

Referenced by MmGetPhysicalMemoryRanges().