Função WdfDmaTransactionCreate (wdfdmatransaction.h)
[Aplica-se somente ao KMDF]
O método WdfDmaTransactionCreate cria uma transação DMA.
Sintaxe
NTSTATUS WdfDmaTransactionCreate(
[in] WDFDMAENABLER DmaEnabler,
[in, optional] PWDF_OBJECT_ATTRIBUTES Attributes,
[out] WDFDMATRANSACTION *DmaTransaction
);
Parâmetros
[in] DmaEnabler
Um identificador para um objeto de habilitador de DMA que o driver obteve de uma chamada anterior para WdfDmaEnablerCreate.
[in, optional] Attributes
Um ponteiro para uma estrutura WDF_OBJECT_ATTRIBUTES que especifica atributos de objeto para o novo objeto de transação DMA. (O membro ParentObject da estrutura deve ser NULL.) Esse parâmetro é opcional e pode ser WDF_NO_OBJECT_ATTRIBUTES.
[out] DmaTransaction
Um identificador para um objeto de transação DMA.
Retornar valor
WdfDmaTransactionCreate retornará STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, esse método poderá retornar um dos seguintes valores:
Código de retorno | Descrição |
---|---|
|
Um parâmetro inválido foi detectado. |
|
Não havia memória suficiente para criar um novo objeto de transação DMA. |
Para obter uma lista de outros valores retornados que o método WdfDmaTransactionCreate pode retornar, consulte Erros de criação de objeto da estrutura.
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
Depois que o driver chamar WdfDmaTransactionCreate, ele deverá chamar WdfDmaTransactionInitialize ou WdfDmaTransactionInitializeUsingRequest antes de chamar WdfDmaTransactionExecute.
O objeto habilitador de DMA especificado torna-se o pai do novo objeto de transação DMA. O driver não pode alterar esse pai e o membro ParentObject ou a estrutura WDF_OBJECT_ATTRIBUTES devem ser NULL.
Para obter mais informações sobre transações de DMA, consulte Criando e inicializando uma transação de DMA.
Exemplos
Para obter um exemplo de código que usa WdfDmaTransactionCreate, consulte WdfDmaTransactionExecute.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Versão mínima do KMDF | 1.0 |
Cabeçalho | wdfdmatransaction.h (inclua Wdf.h) |
Biblioteca | Wdf01000.sys (consulte Controle de versão da biblioteca de estrutura.) |
IRQL | <=DISPATCH_LEVEL |
Regras de conformidade de DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |