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).
PPFN_NUMBER MmGetMdlPfnArray(
_In_ PMDL Mdl
);
Mdl
Puntatore a un MDL.
MmGetMdlPfnArray restituisce un puntatore all'inizio della matrice di numeri di pagina fisici associati al linguaggio MDL.
MmGetMdlPfnArray restituisce un puntatore all'inizio della matrice di numeri di pagina fisici associati al linguaggio MDL.
Definizione 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 della matrice è 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 di pagine, il contenuto della matrice è valido solo per un MDL aggiornato con MmBuildMdlForNonPagedPool, MmAllocatePagesForMdlExo MmAllocatePagesForMdl.
Per altre informazioni sugli mdls, vedere Using MDLs.
Requisito | Valore |
---|---|
intestazione | wdm.h (include Wdm.h) |
IRQL | Qualsiasi livello |
regole di conformità DDI | MdlAfterReqCompletedIntIoctlA(kmdf), MdlAfterReqCompletedIoctlA(kmdf), MdlAfterReqCompletedReadA(kmdf), MdlAfterReqCompletedWriteA(kmdf) |