MmPageEntireDriver routine

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

AddressWithinSection [in]

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

Target platform

Universal

Version

Available starting with Windows 2000.

Header

Wdm.h (include Wdm.h, Ntddk.h, or Ntifs.h)

Library

NtosKrnl.lib

DLL

NtosKrnl.exe

IRQL

<= APC_LEVEL

DDI compliance rules

IrqlMmApcLte, HwStorPortProhibitedDDIs

See also

MmResetDriverPaging
MmLockPagableCodeSection
MmLockPagableDataSection
MmLockPagableSectionByHandle
MmUnlockPagableImageSection

 

 

Send comments about this topic to Microsoft

Show: