Compartilhar via


Função WdfDmaTransactionInitializeUsingOffset (wdfdmatransaction.h)

[Aplica-se somente ao KMDF]

O método WdfDmaTransactionInitializeUsingOffset inicializa uma transação de DMA especificada usando um deslocamento de bytes em uma cadeia de MDL.

Sintaxe

NTSTATUS WdfDmaTransactionInitializeUsingOffset(
  [in] WDFDMATRANSACTION   DmaTransaction,
  [in] PFN_WDF_PROGRAM_DMA EvtProgramDmaFunction,
  [in] WDF_DMA_DIRECTION   DmaDirection,
  [in] PMDL                Mdl,
  [in] size_t              Offset,
  [in] size_t              Length
);

Parâmetros

[in] DmaTransaction

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

[in] EvtProgramDmaFunction

Um ponteiro para a função de retorno de chamada de evento EvtProgramDma do driver.

[in] DmaDirection

Um valor de tipo WDF_DMA_DIRECTION.

[in] Mdl

Um ponteiro para uma MDL (lista de descritores de memória) que descreve o buffer que será usado para a transação de DMA. Veja mais informações em Comentários.

[in] Offset

O deslocamento de bytes para a cadeia de MDL para a transação atual.

[in] Length

O número de bytes a serem transferidos. Esse valor deve ser maior que zero.

Retornar valor

WdfDmaTransactionInitializeUsingOffset retornará STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, o método poderá retornar um dos valores descritos na seção Valores retornados de WdfDmaTransactionInitialize.

Esse método também pode retornar outros valores NTSTATUS.

Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.

Comentários

WdfDmaTransactionInitializeUsingOffset é equivalente a WdfDmaTransactionInitialize , exceto que ele usa um deslocamento para o buffer descrito pela cadeia de MDL em vez de um endereço virtual.

O driver pode especificar uma cadeia MDL no parâmetro Mdl desse método. Uma cadeia MDL é uma sequência de estruturas MDL que o driver encadeou usando o membro Next da estrutura MDL.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.11
Cabeçalho wdfdmatransaction.h (include Wdf.h)
Biblioteca Wdf01000.sys (consulte Controle de versão da biblioteca de estrutura.)
IRQL <=DISPATCH_LEVEL
Regras de conformidade da DDI DriverCreate(kmdf)

Confira também

WdfDmaTransactionInitialize