estrutura WDF_DMA_SYSTEM_PROFILE_CONFIG (wdfdmaenabler.h)
[Aplica-se somente ao KMDF]
A estrutura WDF_DMA_SYSTEM_PROFILE_CONFIG descreve as configurações específicas de hardware relacionadas a um habilitador de DMA no modo de sistema.
Sintaxe
typedef struct _WDF_DMA_SYSTEM_PROFILE_CONFIG {
ULONG Size;
BOOLEAN DemandMode;
BOOLEAN LoopedTransfer;
DMA_WIDTH DmaWidth;
PHYSICAL_ADDRESS DeviceAddress;
PCM_PARTIAL_RESOURCE_DESCRIPTOR DmaDescriptor;
} WDF_DMA_SYSTEM_PROFILE_CONFIG, *PWDF_DMA_SYSTEM_PROFILE_CONFIG;
Membros
Size
O tamanho dessa estrutura em bytes.
DemandMode
Especifica que a transferência é controlada pelo DMA do dispositivo
linha de solicitação especificada no membro DmaDescriptor dessa estrutura. Confira mais informações em Comentários.
LoopedTransfer
Especifica que o adaptador de DMA deve girar em torno da transferência especificada se o comprimento for maior que o tamanho do buffer.
DmaWidth
A largura do registro especificado por DeviceAddress. Os valores possíveis são Width8Bits, Width16Bits, Width32Bits e Width64Bits.
DeviceAddress
O endereço traduzido para ou do qual o controlador de DMA é transferido. O driver pode especificar um deslocamento desse endereço base em cada transação chamando WdfDmaTransactionSetDeviceAddressOffset.
DmaDescriptor
O descritor de recursos traduzido para o canal DMA atribuído ao dispositivo durante EvtDevicePrepareHardware. Isso fornece a linha de solicitação de DMA para o adaptador.
Comentários
O driver fornece essa estrutura para WdfDmaEnablerConfigureSystemProfile depois de criar um habilitador de DMA de perfil do sistema.
Normalmente, os drivers definem DemandMode como TRUE. A função de retorno de chamada EvtProgramDma do driver programa o dispositivo para declarar sua linha de solicitação de DMA e iniciar a transferência. Nesse caso, a transferência pode começar enquanto EvtProgramDma ainda estiver em execução.
O driver deve garantir que a linha de solicitação de DMA do dispositivo não seja declarada antes que a função de retorno de chamada EvtProgramDma do driver inicie a execução. Caso contrário, é possível que a transferência de DMA comece antes que a estrutura chame EvtProgramDma.
Se DemandMode estiver definido como FALSE, a transferência de DMA poderá começar antes que a estrutura chame a função EvtProgramDma do driver.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 |
Versão mínima do KMDF | 1.11 |
Cabeçalho | wdfdmaenabler.h (inclua Wdf.h) |