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) |