MmPageEntireDriver function (wdm.h)
The MmPageEntireDriver routine causes all of a driver's code and data to be made pageable, overriding the attributes of the various sections that make up the driver's image.
Syntax
PVOID MmPageEntireDriver(
[in] PVOID AddressWithinSection
);
Parameters
[in] AddressWithinSection
Pointer to a virtual address within the driver (for example, the address of the DriverEntry routine).
Return value
MmPageEntireDriver returns a pointer to the beginning of the driver image in memory.
Remarks
Use this routine to force a driver to be completely pageable. Drivers that call MmPageEntireDriver must not have an InterruptService routine (ISR) registered for any interrupts. If the interrupt occurs while the driver is paged out, the system issues a bug check.
The effect of a call to MmPageEntireDriver can be undone by calling MmResetDriverPaging.
If the driver is already completely pageable, calling MmPageEntireDriver has no effect. For more information about paging an entire driver, see Making Drivers Pageable.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available starting with Windows 2000. |
Target Platform | Universal |
Header | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
DDI compliance rules | HwStorPortProhibitedDDIs(storport), IrqlMmApcLte(wdm) |