extern ULONG MmTotalNonPagedPoolQuota;
extern PHYSICAL_ADDRESS MmSharedDataPagePhysicalAddress;
extern ULONG MmNumberOfPhysicalPages;
+extern ULONG MmLowestPhysicalPage;
+extern ULONG MmHighestPhysicalPage;
extern PVOID MmPagedPoolBase;
extern ULONG MmPagedPoolSize;
extern PMEMORY_ALLOCATION_DESCRIPTOR MiFreeDescriptor;
extern MEMORY_ALLOCATION_DESCRIPTOR MiFreeDescriptorOrg;
-extern ULONG MmHighestPhysicalPage;
struct _KTRAP_FRAME;
struct _EPROCESS;
NTAPI
MmLockPage(PFN_TYPE Page);
-VOID
-NTAPI
-MmLockPageUnsafe(PFN_TYPE Page);
-
VOID
NTAPI
MmUnlockPage(PFN_TYPE Page);
NTAPI
MmGetLockCountPage(PFN_TYPE Page);
-static
-__inline
-KIRQL
-NTAPI
-MmAcquirePageListLock()
-{
- return KeAcquireQueuedSpinLock(LockQueuePfnLock);
-}
-
-FORCEINLINE
-VOID
-NTAPI
-MmReleasePageListLock(KIRQL oldIrql)
-{
- KeReleaseQueuedSpinLock(LockQueuePfnLock, oldIrql);
-}
-
VOID
NTAPI
MmInitializePageList(
NTAPI
MmReferencePage(PFN_TYPE Page);
-VOID
-NTAPI
-MmReferencePageUnsafe(PFN_TYPE Page);
-
ULONG
NTAPI
MmGetReferenceCountPage(PFN_TYPE Page);