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 |