enumeração WDF_DMA_ENABLER_CONFIG_FLAGS (wdfdmaenabler.h)
[Aplica-se somente ao KMDF]
O tipo de enumeração WDF_DMA_ENABLER_CONFIG_FLAGS define sinalizadores usados na estrutura de WDF_DMA_ENABLER_CONFIG de um driver.
Syntax
typedef enum _WDF_DMA_ENABLER_CONFIG_FLAGS {
WDF_DMA_ENABLER_CONFIG_NO_SGLIST_PREALLOCATION = 0x00000001,
WDF_DMA_ENABLER_CONFIG_REQUIRE_SINGLE_TRANSFER = 0x00000002
} WDF_DMA_ENABLER_CONFIG_FLAGS;
Constantes
WDF_DMA_ENABLER_CONFIG_NO_SGLIST_PREALLOCATION Valor: 0x00000001 O sinalizador WDF_DMA_ENABLER_CONFIG_NO_SGLIST_PREALLOCATION aplica-se somente aos seguintes perfis de AMD:
Por padrão, quando WDF_DMA_ENABLER_CONFIG_NO_SGLIST_PREALLOCATION não está definido e o WDF_DMA_PROFILE é um dos da lista anterior, WDF cria uma lista lookaside de listas de dispersão/coleta que é usada pela transação desse adaptador de DMA banco de dados. As entradas da lista são inicializadas para permitir o máximo especificado tamanho da transferência. Quando a transação é executada, o WDF chama a função de entrada BuildScatterGatherList . Encaminhar drivers de progresso não deve definir esse sinalizador e deve usar um dos quatro perfis mostrados anteriormente. Quando WDF_DMA_ENABLER_CONFIG_NO_SGLIST_PREALLOCATION é definido e o WDF_DMA_PROFILE é um dos da lista anterior, o WDF não cria uma lista lookaside. Quando a transação é executada, o WDF chama GetScatterGatherList. Definir WDF_DMA_ENABLER_CONFIG_NO_SGLIST_PREALLOCATION pode resultar em uso reduzido de memória, especialmente quando o comprimento máximo de transferência é grande. No entanto, definir esse sinalizador pode causar falha ao executar operações de AMD em condições de memória insuficiente. Para garantir o progresso quando WDF_DMA_ENABLER_CONFIG_NO_SGLIST_PREALLOCATION estiver definido, um driver pode usar um habilitador de DMA separado ou transferir transferências por meio de um buffer comum. |
WDF_DMA_ENABLER_CONFIG_REQUIRE_SINGLE_TRANSFER Valor: 0x00000002 O sinalizador WDF_DMA_ENABLER_CONFIG_REQUIRE_SINGLE_TRANSFER está disponível a partir da versão 1.19 do KMDF. Esse sinalizador também requer o AMD versão 3. Para selecionar o DMA versão 3, defina o membro WdmDmaVersionOverride de WDF_DMA_ENABLER_CONFIG como 3. Esse sinalizador se aplica a todos os perfis de DMA. Quando definido, o WDF não fragmenta nenhum WDFDMATRANSACTION criado com esse habilitador em várias transferências de DMA. Se isso não for possível, as tentativas de inicializar ou executar a transação falharão. Essa opção destina-se a dispositivos que precisam receber todos os dados em uma única operação de DMA. Os drivers também têm a opção de especificar isso em um nível por transação com WdfDmaTransactionSetSingleTransferRequirement. Para obter mais informações, consulte Usando o DMA de transferência única. |
Comentários
Você pode especificar um OR bit a bit válido dos valores nesta página para o membro Flags da estrutura WDF_DMA_ENABLER_CONFIG .
Requisitos
Requisito | Valor |
---|---|
Versão mínima do KMDF | 1.11 |
Cabeçalho | wdfdmaenabler.h (inclua Wdf.h) |