DMA_TRANSFER_INFO_V1 structure (wdm.h)
La structure DMA_TRANSFER_INFO_V1 contient les exigences d’allocation pour une liste de points/regroupements qui décrit la mémoire tampon de données d’E/S pour un transfert DMA.
Syntaxe
typedef struct _DMA_TRANSFER_INFO_V1 {
ULONG MapRegisterCount;
ULONG ScatterGatherElementCount;
ULONG ScatterGatherListSize;
} DMA_TRANSFER_INFO_V1, *PDMA_TRANSFER_INFO_V1;
Membres
MapRegisterCount
Nombre de registres cartographiques requis pour traduire toutes les adresses physiques de la liste de points/regroupements en adresses logiques.
ScatterGatherElementCount
Nombre d’éléments de nuages de points/regroupements dans la liste de points/regroupements. Chaque élément est une structure de type SCATTER_GATHER_ELEMENT.
ScatterGatherListSize
Taille requise, en octets, de la mémoire tampon de nuages de points/regroupements. Cette mémoire tampon contient la liste de points/regroupements qui décrit la mémoire utilisée pour mettre en mémoire tampon les données d’E/S pendant le transfert DMA. La mémoire tampon de diffusion/collecte doit être suffisamment grande pour contenir une structure SCATTER_GATHER_LIST et un tableau de structures SCATTER_GATHER_ELEMENT , ainsi que des données supplémentaires utilisées en interne par le système d’exploitation.
Remarques
Le membre V1 de la structure DMA_TRANSFER_INFO est une structure de type DMA_TRANSFER_INFO_V1.
Les paramètres Mdl, Offset et Length de la routine GetDmaTransferInfo décrivent ensemble la mémoire tampon de données d’E/S pour un transfert DMA. Pour la programmation d’un contrôleur DMA, cette mémoire tampon peut être décrite plus facilement par une liste de points/regroupements. (Une liste de points/regroupements décrit la mémoire dans une mémoire tampon de données d’E/S, mais ne contient pas cette mémoire.) Un pilote appelle GetDmaTransferInfo pour obtenir les exigences d’allocation pour cette liste de points/regroupements. GetDmaTransferInfo écrit les exigences d’allocation dans le membre V1 d’une structure de DMA_TRANSFER_INFO fournie par l’appelant .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge à partir de Windows 8. |
En-tête | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |