Condividi tramite


Macro MmGetSystemAddressForMdl (wdm.h)

La routine MmGetSystemAddressForMdl è obsoleta. Usare MmGetSystemAddressForMdlSafe.

MmGetSystemAddressForMdl è una macro che restituisce un indirizzo virtuale dello spazio di sistema non di paging per il buffer descritto dal linguaggio MDL. Esegue il mapping delle pagine fisiche descritte da un determinato file 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 dal file MDL specificato.

I driver dei dispositivi PIO chiamano questa routine per convertire un intervallo di indirizzi virtuali, descritto da MDL in Irp->MdlAddress, per un buffer utente in un intervallo di indirizzi dello spazio di sistema.

Il file MDL deve descrivere la memoria non di paging. In altre parole, l'input MDL deve descrivere un buffer di spazio utente già bloccato restituito da MmProbeAndLockPages, un buffer bloccato restituito da MmBuildMdlForNonPagedPoolo memoria dello spazio di sistema allocata da pool non di paging, memoria contigua o non memorizzata nella cache.

L'indirizzo di base restituito ha lo stesso offset dell'indirizzo virtuale nel file MDL.

La finestra genera un bug per verificare se il tentativo di eseguire il mapping allo spazio di sistema non riesce. Pertanto, è consigliabile usare MmGetSystemAddressForMdlSafe.

Fabbisogno

Requisito Valore
client minimo supportato Obsoleto. Usare invece MmGetSystemAddressForMdlSafe.
piattaforma di destinazione Desktop
intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
IRQL IRQL <= DISPATCH_LEVEL

Vedere anche

MmBuildMdlForNonPagedPool

MmGetSystemAddressForMdlSafe

MmProbeAndLockPages