6 #if (NTDDI_VERSION >= NTDDI_WIN2K) 7 typedef ULONG NODE_REQUIREMENT;
8 #define MM_ANY_NODE_OK 0x80000000 11 #define MM_DONT_ZERO_ALLOCATION 0x00000001 12 #define MM_ALLOCATE_FROM_LOCAL_NODE_ONLY 0x00000002 13 #define MM_ALLOCATE_FULLY_REQUIRED 0x00000004 14 #define MM_ALLOCATE_NO_WAIT 0x00000008 15 #define MM_ALLOCATE_PREFER_CONTIGUOUS 0x00000010 16 #define MM_ALLOCATE_REQUIRE_CONTIGUOUS_CHUNKS 0x00000020 18 #define MDL_MAPPED_TO_SYSTEM_VA 0x0001 19 #define MDL_PAGES_LOCKED 0x0002 20 #define MDL_SOURCE_IS_NONPAGED_POOL 0x0004 21 #define MDL_ALLOCATED_FIXED_SIZE 0x0008 22 #define MDL_PARTIAL 0x0010 23 #define MDL_PARTIAL_HAS_BEEN_MAPPED 0x0020 24 #define MDL_IO_PAGE_READ 0x0040 25 #define MDL_WRITE_OPERATION 0x0080 26 #define MDL_PARENT_MAPPED_SYSTEM_VA 0x0100 27 #define MDL_FREE_EXTRA_PTES 0x0200 28 #define MDL_DESCRIBES_AWE 0x0400 29 #define MDL_IO_SPACE 0x0800 30 #define MDL_NETWORK_HEADER 0x1000 31 #define MDL_MAPPING_CAN_FAIL 0x2000 32 #define MDL_ALLOCATED_MUST_SUCCEED 0x4000 33 #define MDL_INTERNAL 0x8000 35 #define MDL_MAPPING_FLAGS (MDL_MAPPED_TO_SYSTEM_VA | \ 37 MDL_SOURCE_IS_NONPAGED_POOL | \ 38 MDL_PARTIAL_HAS_BEEN_MAPPED | \ 39 MDL_PARENT_MAPPED_SYSTEM_VA | \ 43 #define FLUSH_MULTIPLE_MAXIMUM 32 46 #define SECTION_QUERY 0x0001 47 #define SECTION_MAP_WRITE 0x0002 48 #define SECTION_MAP_READ 0x0004 49 #define SECTION_MAP_EXECUTE 0x0008 50 #define SECTION_EXTEND_SIZE 0x0010 51 #define SECTION_MAP_EXECUTE_EXPLICIT 0x0020 53 #define SECTION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SECTION_QUERY| \ 56 SECTION_MAP_EXECUTE | \ 59 #define SESSION_QUERY_ACCESS 0x0001 60 #define SESSION_MODIFY_ACCESS 0x0002 62 #define SESSION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | \ 63 SESSION_QUERY_ACCESS | \ 64 SESSION_MODIFY_ACCESS) 66 #define SEGMENT_ALL_ACCESS SECTION_ALL_ACCESS 68 #define PAGE_NOACCESS 0x01 69 #define PAGE_READONLY 0x02 70 #define PAGE_READWRITE 0x04 71 #define PAGE_WRITECOPY 0x08 72 #define PAGE_EXECUTE 0x10 73 #define PAGE_EXECUTE_READ 0x20 74 #define PAGE_EXECUTE_READWRITE 0x40 75 #define PAGE_EXECUTE_WRITECOPY 0x80 76 #define PAGE_GUARD 0x100 77 #define PAGE_NOCACHE 0x200 78 #define PAGE_WRITECOMBINE 0x400 80 #define MEM_COMMIT 0x1000 81 #define MEM_RESERVE 0x2000 82 #define MEM_DECOMMIT 0x4000 83 #define MEM_RELEASE 0x8000 84 #define MEM_FREE 0x10000 85 #define MEM_PRIVATE 0x20000 86 #define MEM_MAPPED 0x40000 87 #define MEM_RESET 0x80000 88 #define MEM_TOP_DOWN 0x100000 89 #define MEM_LARGE_PAGES 0x20000000 90 #define MEM_4MB_PAGES 0x80000000 92 #define SEC_RESERVE 0x4000000 93 #define SEC_COMMIT 0x8000000 94 #define SEC_LARGE_PAGES 0x80000000 108 typedef struct _MDL {
113 PVOID MappedSystemVa;
118 #if (_MSC_VER >= 1600) 159 typedef struct _PHYSICAL_MEMORY_RANGE {
180 typedef enum _MMFLUSH_TYPE {
192 #if (NTDDI_VERSION >= NTDDI_WINXP) 202 #define MM_PREFETCH_FLAGS_MASK ((1 << (2*SYSTEM_PAGE_PRIORITY_BITS)) - 1) 206 #define HEAP_NO_SERIALIZE 0x00000001 207 #define HEAP_GROWABLE 0x00000002 208 #define HEAP_GENERATE_EXCEPTIONS 0x00000004 209 #define HEAP_ZERO_MEMORY 0x00000008 210 #define HEAP_REALLOC_IN_PLACE_ONLY 0x00000010 211 #define HEAP_TAIL_CHECKING_ENABLED 0x00000020 212 #define HEAP_FREE_CHECKING_ENABLED 0x00000040 213 #define HEAP_DISABLE_COALESCE_ON_FREE 0x00000080 215 #define HEAP_CREATE_ALIGN_16 0x00010000 216 #define HEAP_CREATE_ENABLE_TRACING 0x00020000 217 #define HEAP_CREATE_ENABLE_EXECUTE 0x00040000 219 #define HEAP_SETTABLE_USER_VALUE 0x00000100 220 #define HEAP_SETTABLE_USER_FLAG1 0x00000200 221 #define HEAP_SETTABLE_USER_FLAG2 0x00000400 222 #define HEAP_SETTABLE_USER_FLAG3 0x00000800 223 #define HEAP_SETTABLE_USER_FLAGS 0x00000E00 225 #define HEAP_CLASS_0 0x00000000 226 #define HEAP_CLASS_1 0x00001000 227 #define HEAP_CLASS_2 0x00002000 228 #define HEAP_CLASS_3 0x00003000 229 #define HEAP_CLASS_4 0x00004000 230 #define HEAP_CLASS_5 0x00005000 231 #define HEAP_CLASS_6 0x00006000 232 #define HEAP_CLASS_7 0x00007000 233 #define HEAP_CLASS_8 0x00008000 234 #define HEAP_CLASS_MASK 0x0000F000 236 #define HEAP_MAXIMUM_TAG 0x0FFF 237 #define HEAP_GLOBAL_TAG 0x0800 238 #define HEAP_PSEUDO_TAG_FLAG 0x8000 239 #define HEAP_TAG_SHIFT 18 240 #define HEAP_TAG_MASK (HEAP_MAXIMUM_TAG << HEAP_TAG_SHIFT) 242 #define HEAP_CREATE_VALID_MASK (HEAP_NO_SERIALIZE | \ 244 HEAP_GENERATE_EXCEPTIONS | \ 246 HEAP_REALLOC_IN_PLACE_ONLY | \ 247 HEAP_TAIL_CHECKING_ENABLED | \ 248 HEAP_FREE_CHECKING_ENABLED | \ 249 HEAP_DISABLE_COALESCE_ON_FREE | \ 251 HEAP_CREATE_ALIGN_16 | \ 252 HEAP_CREATE_ENABLE_TRACING | \ 253 HEAP_CREATE_ENABLE_EXECUTE)
#define _Readable_bytes_(s)
#define __CREATE_NTOS_DATA_IMPORT_ALIAS(_Name)
$if(_WDMDDK_) typedef ULONG NODE_REQUIREMENT
enum _MM_PAGE_PRIORITY MM_PAGE_PRIORITY
struct _READ_LIST * PREAD_LIST
enum _SECTION_INHERIT SECTION_INHERIT
#define SYSTEM_PAGE_PRIORITY_BITS
IN PVOID IN PVOID IN USHORT IN USHORT Size
NTSTATUS(NTAPI * PMM_ROTATE_COPY_CALLBACK_FUNCTION)(_In_ PMDL DestinationMdl, _In_ PMDL SourceMdl, _In_ PVOID Context)
enum _MM_SYSTEM_SIZE MM_SYSTEMSIZE
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
enum _MM_ROTATE_DIRECTION * PMM_ROTATE_DIRECTION
union _MM_PREFETCH_FLAGS * PMM_PREFETCH_FLAGS
_MEMORY_CACHING_TYPE_ORIG
union _MM_PREFETCH_FLAGS MM_PREFETCH_FLAGS
$endif(_WDMDDK_) $if(_NTDDK_) typedef struct _PHYSICAL_MEMORY_RANGE
struct _MM_PREFETCH_FLAGS::@3914 Flags
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID * BaseAddress
_Struct_size_bytes_(_Inexpressible_(sizeof(struct _MDL)+(ByteOffset+ByteCount+PAGE_SIZE-1)/PAGE_SIZE *sizeof(PFN_NUMBER))) typedef struct _MDL
_Must_inspect_result_ _In_ WDFCMRESLIST List
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _In_ LARGE_INTEGER ByteCount
enum _MM_ROTATE_DIRECTION MM_ROTATE_DIRECTION
struct _READ_LIST READ_LIST
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER NumberOfBytes
enum _MEMORY_CACHING_TYPE_ORIG MEMORY_CACHING_TYPE_ORIG
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
struct tagContext Context
NTKERNELAPI PVOID MmBadPointer
enum _MEMORY_CACHING_TYPE MEMORY_CACHING_TYPE
PBOOLEAN Mm64BitPhysicalAddress
IN PDCB IN PCCB IN VBO IN OUT PULONG OUT PDIRENT OUT PBCB OUT PVBO ByteOffset