Función MmMapLockedPages (wdm.h)
La rutina de mmMapLockedPages de está obsoleta para Windows 2000 y versiones posteriores de Windows y para Windows Me. Solo se admite para controladores WDM que deben ejecutarse en Windows 98. De lo contrario, use MmMapLockedPagesSpecifyCache.
La rutina MmMapLockedPages asigna las páginas físicas descritas por un MDL determinado.
Sintaxis
PVOID MmMapLockedPages(
[in] PMDL MemoryDescriptorList,
[in] __drv_strictType(KPROCESSOR_MODE / enum _MODE,__drv_typeConst)KPROCESSOR_MODE AccessMode
);
Parámetros
[in] MemoryDescriptorList
Puntero a una MDL actualizada por MmProbeAndLockPages.
[in] AccessMode
Especifica el modo de acceso en el que se va a asignar MDL, ya sea KernelMode o UserMode. Casi todos los controladores deben usar KernelMode.
Valor devuelto
MmMapLockedPages devuelve la dirección inicial de las páginas asignadas. (Para los sistemas operativos basados en NT anteriores a Windows NT 4.0 Service Pack 4 (SP4), MmMapLockedPages devuelve la dirección inicial de la primera página de las páginas asignadas.
Observaciones
Use MmUnmapLockedPages para desasignar las páginas físicas asignadas por MmMapLockedPages.
Si AccessMode es KernelMode y MmMapLockedPages no puede asignar las páginas especificadas, el sistema emite una comprobación de errores. (Por este motivo, los controladores deben usar MmMapLockedPagesSpecifyCache cuando esté disponible; esa rutina devuelve NULL en caso de error, en lugar de provocar una comprobación de errores). Si AccessMode es UserMode y las páginas especificadas no se pueden asignar, la rutina genera una excepción. Los autores de llamadas que especifican UserMode deben encapsular la llamada a MmMapLockedPages en un bloque try/except. Para obtener más información, vea Control de excepciones.
Los autores de llamadas de MmMapLockedPages deben ejecutarse en IRQL <= DISPATCH_LEVEL si accessMode es kernelMode. De lo contrario, el autor de la llamada debe ejecutarse en IRQL <= APC_LEVEL.