File
WRK-v1.2\base\ntos\mm\iosup.c
Head
VOID
Mi Insert Pte Tracker (
IN PMDL Memory Descriptor List,
IN ULONG Flags,
IN LOGICAL Io Mapping,
IN MI_PFN_CACHE_ATTRIBUTE Cache Attribute,
IN PVOID My Caller,
IN PVOID My Callers Caller
)
Parameters
Memory Descriptor List – Supplies a valid Memory Descriptor List.
Flags – Supplies the following values:
0 – Indicates all the fields of the MDL are legitimate and can
1 – Indicates the caller is mapping physically contiguous memory.
The only valid MDL fields are Page[0] & Byte Count.
Page[0] contains the PFN start, Byte Count the byte count.
2 – Indicates the caller is just reserving mapping PTEs.
The only valid MDL fields are Page[0] & Byte Count.
Page[0] contains the pool tag, Byte Count the byte count.
My Caller – Supplies the return address of the caller who consumed the
system PTEs to map this MDL.
My Callers Caller – Supplies the return address of the caller of the caller
who consumed the system PTEs to map this MDL.
Return values
Remarks
This function inserts a PTE tracking block as the caller has just
consumed system PTEs.
Environment:
Kernel mode, DISPATCH_LEVEL or below.
References
Ke Get Current Irql
Ex Interlocked Flush S List
Ex Free Pool
Ex Allocate Pool With Tag
ADDRESS_AND_SIZE_TO_SPAN_PAGES
Ex Acquire Spin Lock
Ex Release Spin Lock