ReactOS 0.4.17-dev-1343-g8fe3cee
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_PTR * PSPFN_NUMBER
 
typedef ULONG_PTR PFN_NUMBER
 
typedef ULONG_PTR * PPFN_NUMBER
 
typedef MDL * PMDLX
 
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(NTAPI * PMM_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_DIRECTION * PMM_ROTATE_DIRECTION
 
typedef struct _READ_LIST READ_LIST
 
typedef struct _READ_LIST * PREAD_LIST
 
typedef union _MM_PREFETCH_FLAGS MM_PREFETCH_FLAGS
 
typedef union _MM_PREFETCH_FLAGS * PMM_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:
#define HEAP_FREE_CHECKING_ENABLED
Definition: mmtypes.h:212
#define HEAP_CREATE_ENABLE_EXECUTE
Definition: mmtypes.h:217
#define HEAP_DISABLE_COALESCE_ON_FREE
Definition: mmtypes.h:213
#define HEAP_CLASS_MASK
Definition: mmtypes.h:234
#define HEAP_GENERATE_EXCEPTIONS
Definition: mmtypes.h:208
#define HEAP_TAIL_CHECKING_ENABLED
Definition: mmtypes.h:211
#define HEAP_GROWABLE
Definition: mmtypes.h:207
#define HEAP_CREATE_ALIGN_16
Definition: mmtypes.h:215
#define HEAP_REALLOC_IN_PLACE_ONLY
Definition: mmtypes.h:210
#define HEAP_CREATE_ENABLE_TRACING
Definition: mmtypes.h:216
#define HEAP_ZERO_MEMORY
Definition: mmtypes.h:209
#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_SYSTEM_VA | \
#define MDL_PARTIAL_HAS_BEEN_MAPPED
Definition: mmtypes.h:23
#define MDL_PARENT_MAPPED_SYSTEM_VA
Definition: mmtypes.h:26
#define MDL_PAGES_LOCKED
Definition: mmtypes.h:19
#define MDL_IO_SPACE
Definition: mmtypes.h:29
#define MDL_SOURCE_IS_NONPAGED_POOL
Definition: mmtypes.h:20
#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:
#define STANDARD_RIGHTS_REQUIRED
Definition: nt_native.h:63
#define SECTION_MAP_EXECUTE
Definition: mmtypes.h:49
#define SECTION_MAP_READ
Definition: mmtypes.h:48
#define SECTION_MAP_WRITE
Definition: mmtypes.h:47
#define SECTION_QUERY
Definition: mmtypes.h:46
#define SECTION_EXTEND_SIZE
Definition: mmtypes.h:50

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:
#define SESSION_QUERY_ACCESS
Definition: mmtypes.h:59
#define SESSION_MODIFY_ACCESS
Definition: mmtypes.h:60

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 164 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.

128 {
130 MmCached = TRUE,
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
enum _MEMORY_CACHING_TYPE MEMORY_CACHING_TYPE
@ MmUSWCCached
Definition: mmtypes.h:134
@ MmCached
Definition: mmtypes.h:130
@ MmNonCached
Definition: mmtypes.h:129
@ MmNonCachedUnordered
Definition: mmtypes.h:133
@ MmMaximumCacheType
Definition: mmtypes.h:135
@ MmWriteCombined
Definition: mmtypes.h:131
@ MmHardwareCoherentCached
Definition: mmtypes.h:132
@ MmFrameBufferCached
Definition: mmtypes.h:125

◆ _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 {
@ NormalPagePriority
Definition: mmtypes.h:140
@ LowPagePriority
Definition: mmtypes.h:139
@ HighPagePriority
Definition: mmtypes.h:141
enum _MM_PAGE_PRIORITY MM_PAGE_PRIORITY

◆ _MM_ROTATE_DIRECTION

Enumerator
MmToFrameBuffer 
MmToFrameBufferNoCopy 
MmToRegularMemory 
MmToRegularMemoryNoCopy 
MmMaximumRotateDirection 

Definition at line 170 of file mmtypes.h.

170 {
@ MmMaximumRotateDirection
Definition: mmtypes.h:175
@ MmToRegularMemoryNoCopy
Definition: mmtypes.h:174
@ MmToRegularMemory
Definition: mmtypes.h:173
@ MmToFrameBufferNoCopy
Definition: mmtypes.h:172
@ MmToFrameBuffer
Definition: mmtypes.h:171
enum _MM_ROTATE_DIRECTION * PMM_ROTATE_DIRECTION
enum _MM_ROTATE_DIRECTION MM_ROTATE_DIRECTION

◆ _MM_SYSTEM_SIZE

Enumerator
MmSmallSystem 
MmMediumSystem 
MmLargeSystem 

Definition at line 144 of file mmtypes.h.

144 {
enum _MM_SYSTEM_SIZE MM_SYSTEMSIZE
@ MmLargeSystem
Definition: mmtypes.h:147
@ MmMediumSystem
Definition: mmtypes.h:146
@ MmSmallSystem
Definition: mmtypes.h:145

◆ _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
@ ViewUnmap
Definition: mmtypes.h:99
@ ViewShare
Definition: mmtypes.h:98

Function Documentation

◆ $endif() [1/2]

$endif ( _NTDDK_  )

Definition at line 178 of file mmtypes.h.

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

◆ $endif() [2/2]

$endif ( _WDMDDK_  )

Definition at line 156 of file mmtypes.h.

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

◆ $if()

$if ( _WDMDDK_  )

Kernel definitions for AMD64

Kernel definitions for ARM

Kernel definitions for ARM64

Kernel definitions for AMD64

Kernel definitions for ARM

Kernel definitions for ARM64

Kernel definitions for x86

Definition at line 1 of file ke.h.

31{
32 ULONG Dummy;
KFLOATING_SAVE
Definition: ke.h:33
* PKFLOATING_SAVE
Definition: ke.h:33
uint32_t ULONG
Definition: typedefs.h:59

◆ _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;
IN PDCB IN PCCB IN VBO IN OUT PULONG OUT PDIRENT OUT PBCB OUT PVBO ByteOffset
Definition: fatprocs.h:732
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:223
PACPI_METHOD_ARGUMENT Next
Definition: slotdev.cpp:96
short CSHORT
Definition: umtypes.h:127
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4539
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _In_ LARGE_INTEGER ByteCount
Definition: iotypes.h:1099
MDL
Definition: mmtypes.h:117
* PMDL
Definition: mmtypes.h:117

Variable Documentation

◆ MDL

◆ Mm64BitPhysicalAddress

PBOOLEAN Mm64BitPhysicalAddress
extern

Definition at line 20 of file mminit.c.

◆ MmBadPointer

NTKERNELAPI PVOID MmBadPointer
extern

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().