[NTOSKRNL:CC] Add CalculatePageCount Template

Added CalculatePageCount Template function to calculate total pagecount from file offset and length
这个提交包含在:
2024-08-07 14:47:04 +02:00
提交者 CodingWorkshop Signing Team
父节点 2bc93fca07
当前提交 0e2abe7eb5

查看文件

@@ -144,3 +144,16 @@ private:
}
}
};
template<typename T>
ULONG CalculatePageCount(T Length, LARGE_INTEGER FileOffset) {
constexpr ULONG PAGE_OFFSET = 0xFFF; // 4095 (mask for the lower 12 bits)
constexpr ULONG PAGE_SHIFT = 12; // Shift by 12 bits for 4KB pages
// Calculate the page count
ULONG pageCount = (Length >> PAGE_SHIFT) +
((FileOffset.LowPart & PAGE_OFFSET) + 4095 + (Length & PAGE_OFFSET)) >> PAGE_SHIFT;
return pageCount;
}