MCPcopy Create free account
hub / github.com/Astronaut00/DoubleDataPointer / NullPageFrameNumbersFromMdl

Function NullPageFrameNumbersFromMdl

Driver/cleaning.cpp:4–21  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2#include "util.h"
3
4NTSTATUS NullPageFrameNumbersFromMdl(PMDL mdl)
5{
6 PPFN_NUMBER mdl_pages = MmGetMdlPfnArray(mdl);
7 if (!mdl_pages) { return STATUS_UNSUCCESSFUL; }
8
9 ULONG mdl_page_count = ADDRESS_AND_SIZE_TO_SPAN_PAGES(MmGetMdlVirtualAddress(mdl), MmGetMdlByteCount(mdl));
10
11 ULONG null_pfn = 0x0;
12 MM_COPY_ADDRESS source_address = { 0 };
13 source_address.VirtualAddress = &null_pfn;
14
15 for (ULONG i = 0; i < mdl_page_count; i++)
16 {
17 size_t bytes = 0;
18 MmCopyMemory(&mdl_pages[i], source_address, sizeof(ULONG), MM_COPY_MEMORY_VIRTUAL, &bytes);
19 }
20 return STATUS_SUCCESS;
21}
22
23NTSTATUS Cleaning::NullPageFrameNumbers(uint64_t start, uint32_t size)
24{

Callers 1

NullPageFrameNumbersMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected