VOID MiReturnPageTablePageCommitment( IN PVOID StartingAddress, IN PVOID EndingAddress, IN PEPROCESS CurrentProcess, IN PMMVAD PreviousVad, IN PMMVAD NextVad ); Routine Description: This routine returns commitment for COMPLETE page table pages which span the virtual address range. For example (assuming 4k pages), if the StartingAddress = 64k and the EndingAddress = 5mb, no page table charges would be freed as a complete page table page is not covered by the range. However, if the StartingAddress was 4mb and the EndingAddress was 9mb, 1 page table page would be freed. Arguments: StartingAddress - Supplies the starting address of the range. EndingAddress - Supplies the ending address of the range. CurrentProcess - Supplies a pointer to the current process. PreviousVad - Supplies a pointer to the previous VAD, NULL if none. NextVad - Supplies a pointer to the next VAD, NULL if none. Return Value: None. Environment: Kernel mode, APCs disabled, WorkingSetLock and AddressCreation mutexes held.