Defines |
| #define | HYPERSPACE_PAGEDIR_PTR ((PVOID)0xc0000000) |
| #define | PA_PRESENT (1ll<<63) |
| #define | PA_USER (1ll<<62) |
| #define | PA_ACCESSED 0x200 |
| #define | PA_DIRTY 0x100 |
| #define | PA_WT 0x20 |
| #define | PA_CD 0x10 |
| #define | PA_READWRITE 3 |
| #define | HYPERSPACE (0xc0400000) |
| #define | IS_HYPERSPACE(v) (((ULONG)(v) >= HYPERSPACE && (ULONG)(v) < HYPERSPACE + 0x400000)) |
| #define | PTE_TO_PFN(X) ((X) >> PAGE_SHIFT) |
| #define | PFN_TO_PTE(X) ((X) << PAGE_SHIFT) |
Functions |
| __inline LARGE_INTEGER | PTE_TO_PAGE (ULONG npage) |
| VOID NTAPI | MiFlushTlbIpiRoutine (PVOID Address) |
| VOID | MiFlushTlb (PULONG Pt, PVOID Address) |
| PULONG | MmGetPageDirectory (VOID) |
| static ULONG | ProtectToFlags (ULONG flProtect) |
| NTSTATUS NTAPI | MmCopyMmInfo (PEPROCESS Src, PEPROCESS Dest, PPHYSICAL_ADDRESS DirectoryTableBase) |
| NTSTATUS NTAPI | MmInitializeHandBuiltProcess (IN PEPROCESS Process, IN PLARGE_INTEGER DirectoryTableBase) |
| BOOLEAN NTAPI | MmCreateProcessAddressSpace (IN ULONG MinWs, IN PEPROCESS Process, IN PLARGE_INTEGER DirectoryTableBase) |
| VOID NTAPI | MmDeletePageTable (PEPROCESS Process, PVOID Address) |
| VOID NTAPI | MmFreePageTable (PEPROCESS Process, PVOID Address) |
| PVOID NTAPI | MmGetPhysicalAddressProcess (PEPROCESS Process, PVOID Addr) |
| PHYSICAL_ADDRESS NTAPI | MmGetPhysicalAddress (PVOID vaddr) |
| PFN_NUMBER NTAPI | MmGetPfnForProcess (PEPROCESS Process, PVOID Address) |
| VOID NTAPI | MmDisableVirtualMapping (PEPROCESS Process, PVOID Address, BOOLEAN *WasDirty, PPFN_NUMBER Page) |
| VOID NTAPI | MmRawDeleteVirtualMapping (PVOID Address) |
| VOID NTAPI | MmDeleteVirtualMapping (PEPROCESS Process, PVOID Address, BOOLEAN FreePage, BOOLEAN *WasDirty, PPFN_NUMBER Page) |
| VOID NTAPI | MmDeletePageFileMapping (PEPROCESS Process, PVOID Address, SWAPENTRY *SwapEntry) |
| BOOLEAN NTAPI | MmIsDirtyPage (PEPROCESS Process, PVOID Address) |
| BOOLEAN NTAPI | MmIsAccessedAndResetAccessPage (PEPROCESS Process, PVOID Address) |
| VOID NTAPI | MmSetCleanPage (PEPROCESS Process, PVOID Address) |
| VOID NTAPI | MmSetDirtyPage (PEPROCESS Process, PVOID Address) |
| VOID NTAPI | MmEnableVirtualMapping (PEPROCESS Process, PVOID Address) |
| BOOLEAN NTAPI | MmIsPagePresent (PEPROCESS Process, PVOID Address) |
| ULONGLONG | MmGetPageEntryForProcess (PEPROCESS Process, PVOID Address) |
| BOOLEAN NTAPI | MmIsPageSwapEntry (PEPROCESS Process, PVOID Address) |
| NTSTATUS NTAPI | MmCreateVirtualMappingForKernel (PVOID Address, ULONG flProtect, PPFN_NUMBER Pages, ULONG PageCount) |
| NTSTATUS NTAPI | MmCreatePageFileMapping (PEPROCESS Process, PVOID Address, SWAPENTRY SwapEntry) |
| NTSTATUS NTAPI | MmCreateVirtualMappingUnsafe (PEPROCESS Process, PVOID Address, ULONG flProtect, PPFN_NUMBER Pages, ULONG PageCount) |
| NTSTATUS NTAPI | MmCreateVirtualMapping (PEPROCESS Process, PVOID Address, ULONG flProtect, PPFN_NUMBER Pages, ULONG PageCount) |
| ULONG NTAPI | MmGetPageProtect (PEPROCESS Process, PVOID Address) |
| VOID NTAPI | MmSetPageProtect (PEPROCESS Process, PVOID Address, ULONG flProtect) |
| PVOID NTAPI | MmCreateHyperspaceMapping (PFN_NUMBER Page) |
| PFN_NUMBER NTAPI | MmChangeHyperspaceMapping (PVOID Address, PFN_NUMBER NewPage) |
| PFN_NUMBER NTAPI | MmDeleteHyperspaceMapping (PVOID Address) |
| VOID INIT_FUNCTION NTAPI | MmInitGlobalKernelPageDirectory (VOID) |
| VOID INIT_FUNCTION NTAPI | MiInitPageDirectoryMap (VOID) |
| ULONG NTAPI | MiGetUserPageDirectoryCount (VOID) |
| VOID NTAPI | MmUpdatePageDir (PEPROCESS Process, PVOID Address, ULONG Size) |
| NTSTATUS | MmPPCCreatePrimitiveMapping (ULONG_PTR PageAddr) |
| PFN_NUMBER | MmPPCPrimitiveAllocPage () |