struttura DMA_TRANSFER_INFO_V1 (wdm.h)
La struttura DMA_TRANSFER_INFO_V1 contiene i requisiti di allocazione per un elenco a dispersione/raccolta che descrive il buffer dei dati di I/O per un trasferimento DMA.
Sintassi
typedef struct _DMA_TRANSFER_INFO_V1 {
ULONG MapRegisterCount;
ULONG ScatterGatherElementCount;
ULONG ScatterGatherListSize;
} DMA_TRANSFER_INFO_V1, *PDMA_TRANSFER_INFO_V1;
Membri
MapRegisterCount
Numero di registri mappa necessari per convertire tutti gli indirizzi fisici nell'elenco a dispersione/raccolta in indirizzi logici.
ScatterGatherElementCount
Numero di elementi a dispersione/raccolta nell'elenco a dispersione/raccolta. Ogni elemento è una struttura di tipo SCATTER_GATHER_ELEMENT.
ScatterGatherListSize
Dimensioni richieste, in byte, del buffer a dispersione/raccolta. Questo buffer contiene l'elenco a dispersione/raccolta che descrive la memoria usata per memorizzare nel buffer i dati di I/O durante il trasferimento DMA. Il buffer a dispersione/raccolta deve essere sufficientemente grande da contenere una struttura SCATTER_GATHER_LIST e una matrice di strutture SCATTER_GATHER_ELEMENT, oltre a dati aggiuntivi usati internamente dal sistema operativo.
Osservazioni
Il membro V1 della struttura DMA_TRANSFER_INFO è una struttura di tipo DMA_TRANSFER_INFO_V1.
I parametri Mdl, Offsete Length alla routine GetDmaTransferInfo descrivono insieme il buffer di dati di I/O per un trasferimento DMA. Ai fini della programmazione di un controller DMA, questo buffer può essere descritto più facilmente da un elenco a dispersione/raccolta. Un elenco a dispersione/raccolta descrive la memoria in un buffer di dati di I/O, ma non contiene questa memoria. Un driver chiama GetDmaTransferInfo per ottenere i requisiti di allocazione per questo elenco a dispersione/raccolta. GetDmaTransferInfo scrive i requisiti di allocazione nel membro V1 di una struttura di DMA_TRANSFER_INFO fornita dal chiamante.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Supportato a partire da Windows 8. |
intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |