estrutura DMA_TRANSFER_INFO_V1 (wdm.h)
A estrutura DMA_TRANSFER_INFO_V1 contém os requisitos de alocação para uma lista de dispersão/coleta que descreve o buffer de dados de E/S para uma transferência de DMA.
Sintaxe
typedef struct _DMA_TRANSFER_INFO_V1 {
ULONG MapRegisterCount;
ULONG ScatterGatherElementCount;
ULONG ScatterGatherListSize;
} DMA_TRANSFER_INFO_V1, *PDMA_TRANSFER_INFO_V1;
Membros
MapRegisterCount
O número de registros de mapa necessários para converter todos os endereços físicos na lista de dispersão/coleta em endereços lógicos.
ScatterGatherElementCount
O número de elementos de dispersão/coleta na lista de dispersão/coleta. Cada elemento é uma estrutura do tipo SCATTER_GATHER_ELEMENT.
ScatterGatherListSize
O tamanho necessário, em bytes, do buffer de dispersão/coleta. Esse buffer contém a lista de dispersão/coleta que descreve a memória usada para armazenar dados de E/S em buffer durante a transferência de DMA. O buffer de dispersão/coleta deve ser grande o suficiente para conter uma estrutura SCATTER_GATHER_LIST e uma matriz de estruturas de SCATTER_GATHER_ELEMENT , além de dados adicionais usados internamente pelo sistema operacional.
Comentários
O membro V1 da estrutura DMA_TRANSFER_INFO é uma estrutura do tipo DMA_TRANSFER_INFO_V1.
Os parâmetros Mdl, Offset e Length para a rotina GetDmaTransferInfo juntos descrevem o buffer de dados de E/S para uma transferência de DMA. Para a finalidade de programar um controlador de DMA, esse buffer pode ser descrito de forma mais conveniente por uma lista de dispersão/coleta. (Uma lista de dispersão/coleta descreve a memória em um buffer de dados de E/S, mas não contém essa memória.) Um driver chama GetDmaTransferInfo para obter os requisitos de alocação para essa lista de dispersão/coleta. GetDmaTransferInfo grava os requisitos de alocação no membro V1 de uma estrutura de DMA_TRANSFER_INFO fornecida pelo chamador.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Com suporte começando com Windows 8. |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |