Macro MmGetMdlVirtualAddress (wdm.h)

La macro MmGetMdlVirtualAddress devuelve la dirección virtual base de un búfer descrito por un MDL.

Sintaxis

PVOID
MmGetMdlVirtualAddress (
    _In_ PMDL Mdl
    )

Parámetros

[in] Mdl

Puntero a una MDL que describe el búfer para el que se va a devolver la dirección virtual inicial.

Valor devuelto

None

Observaciones

MmGetMdlVirtualAddress devuelve la dirección virtual inicial de MDL.

MmGetMdlVirtualAddress devuelve una dirección virtual que no es necesariamente válida en el contexto del subproceso actual. Los controladores de nivel inferior no deben intentar usar la dirección virtual devuelta para acceder a la memoria, especialmente el espacio de memoria del usuario.

La dirección devuelta, que se usa como índice para una entrada de dirección física en MDL, puede ser entrada en MapTransfer.

Los autores de llamadas de MmGetMdlVirtualAddress se pueden ejecutar en cualquier IRQL. Normalmente, el autor de la llamada se ejecuta en IRQL = DISPATCH_LEVEL porque normalmente se llama a esta rutina para obtener el parámetro CurrentVa en MapTransfer.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000
Encabezado wdm.h
IRQL Cualquier nivel (vea comentarios)
Reglas de cumplimiento de DDI MdlAfterReqCompletedIntIoctlA(kmdf), MdlAfterReqCompletedIoctlA(kmdf), MdlAfterReqCompletedReadA(kmdf), MdlAfterReqCompletedWriteA(kmdf)