ReactOS 0.4.15-dev-7788-g1ad9096
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:
#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 PVOID * BaseAddress
Definition: mmfuncs.h:404
_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 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:731
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:223
short CSHORT
Definition: umtypes.h:127
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4533
_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().