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 al file MDL.
Commenti
MmGetMdlPfnArray restituisce un puntatore all'inizio della matrice di numeri di pagina fisici associati al file 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 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 piccoli problemi di sistema 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, MmAllocatePagesForMdlEx o MmAllocatePagesForMdl.
Per altre informazioni sugli mdls, vedere Using MDLs.For more information about MDLs, see Using 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) |