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)

Confira também

WDF_DMA_SYSTEM_PROFILE_CONFIG_INIT

WdfDmaEnablerConfigureSystemProfile