Compartir a través de


Macro MmGetSystemAddressForMdl (wdm.h)

La rutina MmGetSystemAddressForMdl está obsoleta. En su lugar, use MmGetSystemAddressForMdlSafe .

MmGetSystemAddressForMdl es una macro que devuelve una dirección virtual de espacio del sistema no paginada para el búfer descrito por MDL. Asigna las páginas físicas descritas por un MDL determinado en el espacio del sistema, si aún no están asignadas al espacio del sistema.

Sintaxis

PVOID MmGetSystemAddressForMdl(
   MDL
);

Parámetros

[in] MDL

Puntero a un búfer cuya dirección virtual base correspondiente se va a asignar.

Valor devuelto

None

Observaciones

MmGetSystemAddressForMdl devuelve la dirección virtual del espacio del sistema base que asigna las páginas físicas descritas por el MDL especificado.

Los controladores de dispositivos PIO llaman a esta rutina para traducir un intervalo de direcciones virtuales, descrito por el MDL en Irp-MdlAddress>, para un búfer de usuario a un intervalo de direcciones de espacio del sistema.

MdL debe describir la memoria no paginable. En otras palabras, el MDL de entrada debe describir un búfer de espacio de usuario ya bloqueado devuelto por MmProbeAndLockPages, un búfer bloqueado devuelto por MmBuildMdlForNonPagedPool o memoria de espacio del sistema asignada desde un grupo no paginado, memoria contigua o memoria no almacenada en caché.

La dirección base devuelta tiene el mismo desplazamiento que la dirección virtual en mdL.

La ventana emite una comprobación de errores si se produce un error en el intento de asignar al espacio del sistema. Por lo tanto, debe usar MmGetSystemAddressForMdlSafe en su lugar).

Requisitos

Requisito Value
Cliente mínimo compatible Obsoleto. En su lugar, use MmGetSystemAddressForMdlSafe.
Plataforma de destino Escritorio
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
IRQL IRQL <= DISPATCH_LEVEL

Consulte también

MmBuildMdlForNonPagedPool

MmGetSystemAddressForMdlSafe

MmProbeAndLockPages