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