Macro MmGetMdlPfnArray (wdm.h)
La macro MmGetMdlPfnArray restituisce un puntatore all'inizio della matrice di numeri di pagina fisici associati a un elenco di descrittori di memoria (MDL).
Sintassi
PPFN_NUMBER MmGetMdlPfnArray(
_In_ PMDL Mdl
);
Parametri
Mdl
Puntatore a un MDL.
Valore restituito
MmGetMdlPfnArray restituisce un puntatore all'inizio della matrice di numeri di pagina fisici associati all'MDL.
Commenti
Definizione della macro:
#define MmGetMdlPfnArray(Mdl) ((PPFN_NUMBER)(Mdl + 1))
Il numero di voci nella matrice è ADDRESS_AND_SIZE_TO_SPAN_PAGES(MmGetMdlVirtualAddress(Mdl), MmGetMdlByteCount(Mdl)).
Ogni elemento array è un valore intero di tipo PFN_NUMBER, definito nel file di intestazione Wdm.h come indicato di seguito:
typedef ULONG PFN_NUMBER, *PPFN_NUMBER;
La modifica del contenuto della matrice può causare problemi di sistema sottili che sono difficili da diagnosticare. È consigliabile non leggere o modificare il contenuto di questa matrice.
Per la memoria impaginabile, il contenuto della matrice è valido solo per un buffer bloccato con MmProbeAndLockPages.
Per il pool non a pagina, il contenuto della matrice è valido solo per un MDL aggiornato con MmBuildMdlForNonPagedPool, MmAllocatePagesForMdlEx o MmAllocatePagesForMdl.
Per altre informazioni sugli MDLs, vedere Uso di MDLs.
Requisiti
Requisito | Valore |
---|---|
Intestazione | wdm.h (include Wdm.h) |
IRQL | Qualsiasi livello |
Regole di conformità DDI | MdlAfterReqCompletedIntIoctlA(kmdf), MdlAfterReqCompletedIoctlA(kmdf), MdlAfterReqCompletedReadA(kmdf), MdlAfterReqCompletedWriteA(kmdf) |
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per