Macro MmGetSystemAddressForMdl (wdm.h)
La routine MmGetSystemAddressForMdl è obsoleta. Usare invece MmGetSystemAddressForMdlSafe .
MmGetSystemAddressForMdl è una macro che restituisce un indirizzo virtuale dello spazio di sistema non di pagina per il buffer descritto da MDL. Esegue il mapping delle pagine fisiche descritte da un determinato MDL nello spazio di sistema, se non sono già mappate allo spazio di sistema.
Sintassi
PVOID MmGetSystemAddressForMdl(
MDL
);
Parametri
[in] MDL
Puntatore a un buffer il cui indirizzo virtuale di base corrispondente deve essere mappato.
Valore restituito
nessuno
Osservazioni
MmGetSystemAddressForMdl restituisce l'indirizzo virtuale dello spazio di sistema di base che esegue il mapping delle pagine fisiche descritte dall'MDL specificato.
I driver dei dispositivi PIO chiamano questa routine per tradurre un intervallo di indirizzi virtuali, descritto da MDL in Irp-MdlAddress>, per un buffer utente in un intervallo di indirizzi dello spazio di sistema.
MDL deve descrivere memoria non modificabile. In altre parole, l'input MDL deve descrivere un buffer di spazio utente già bloccato restituito da MmProbeAndLockPages, un buffer bloccato restituito da MmBuildMdlForNonPagedPool o memoria dello spazio di sistema allocata da pool non con pagine, memoria contigua o memoria non memorizzata nella cache.
L'indirizzo di base restituito ha lo stesso offset dell'indirizzo virtuale in MDL.
La finestra genera un bug per verificare se il tentativo di eseguire il mapping dello spazio di sistema ha esito negativo. Pertanto, è consigliabile usare MmGetSystemAddressForMdlSafe .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Obsoleta. Usare invece MmGetSystemAddressForMdlSafe. |
Piattaforma di destinazione | Desktop |
Intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | IRQL <= DISPATCH_LEVEL |