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)

See also

MmLockPagableCodeSection

MmLockPagableDataSection

MmLockPagableSectionByHandle

MmResetDriverPaging

MmUnlockPagableImageSection