Função WdfDmaTransactionSetSingleTransferRequirement (wdfdmatransaction.h)

[Aplica-se somente ao KMDF]

O método WdfDmaTransactionSetSingleTransferRequirement especifica que uma transação DMA deve ser concluída em uma única transferência.

Sintaxe

void WdfDmaTransactionSetSingleTransferRequirement(
  [in] WDFDMATRANSACTION DmaTransaction,
  [in] BOOLEAN           RequireSingleTransfer
);

Parâmetros

[in] DmaTransaction

Um identificador para um objeto de transação DMA que o driver obteve de uma chamada anterior para WdfDmaTransactionCreate.

[in] RequireSingleTransfer

Um valor booliano que, se TRUE, especifica que a transação DMA requer uma única transferência.

Retornar valor

Nenhum

Comentários

Esse método solicita apenas uma única transferência para uma única transação. Quando o objeto de transação é reciclado com WdfDmaTransactionRelease e reinicializado, essa configuração é redefinida, semelhante a outras propriedades de nível de transação, como execução imediata e comprimento máximo de transferência.

Para solicitar a transferência única para todas as transações de DMA criadas com um determinado habilitador de DMA, especifique WDF_DMA_ENABLER_CONFIG_REQUIRE_SINGLE_TRANSFER em WDF_DMA_ENABLER_CONFIG_FLAGS ao chamar WdfDmaEnablerCreate. Isso equivale a chamar WdfDmaTransactionSetSingleTransferRequirement para cada objeto de transação criado com o habilitador de DMA.

O driver chama WdfDmaTransactionSetSingleTransferRequirement depois de criar ou reciclar o objeto de transação, mas antes de inicializá-lo ou executá-lo. Para obter mais informações, consulte Usando o DMA de transferência única.

WdfDmaTransactionSetSingleTransferRequirement requer dma versão 3. Para selecionar o DMA versão 3, defina o membro WdmDmaVersionOverride de WDF_DMA_ENABLER_CONFIG como 3.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1,19
Cabeçalho wdfdmatransaction.h (inclua Wdf.h)
Biblioteca Wdf01000.sys (consulte Controle de versão da biblioteca de estrutura.)
IRQL <=DISPATCH_LEVEL

Confira também

WdfDmaTransactionCreate

WdfDmaTransactionInitialize

WdfDmaTransactionInitializeUsingRequest