Funzione WdfDmaTransactionRelease (wdfdmatransaction.h)

[Si applica solo a KMDF]

Il metodo WdfDmaTransactionRelease termina una transazione DMA specificata senza eliminare l'oggetto transazione DMA associato.

Sintassi

NTSTATUS WdfDmaTransactionRelease(
  [in] WDFDMATRANSACTION DmaTransaction
);

Parametri

[in] DmaTransaction

Handle a un oggetto transazione DMA ottenuto dal driver da una chiamata precedente a WdfDmaTransactionCreate.

Valore restituito

WdfDmaTransactionRelease restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, il metodo potrebbe restituire il valore seguente:

Codice restituito Descrizione
STATUS_INVALID_DEVICE_STATE
Il driver ha già rilasciato o eliminato l'oggetto transazione specificato dal parametro DmaTransaction .
 

Questo metodo potrebbe restituire anche altri valori NTSTATUS.

Un controllo di bug si verifica se il driver fornisce un handle di oggetti non valido.

Commenti

Il metodo WdfDmaTransactionRelease scarica i buffer di trasferimento e rilascia tutte le risorse di sistema associate alla transazione DMA. L'oggetto transazione non viene eliminato e può essere riutilizzato. Per altre informazioni sul riutilizzo degli oggetti transazioni, vedere Riutilizzo di oggetti transazioni DMA.

Se WdfDmaTransactionInitializeXxx restituisce esito positivo ma WdfDmaTransactionExecute restituisce un valore di errore, il driver deve chiamare WdfDmaTransactionRelease.

Esempio

L'esempio di codice seguente termina la transazione DMA rappresentata dall'oggetto transazione DMA specificato, ma non elimina l'oggetto transazione DMA.

NTSTATUS  status;

status = WdfDmaTransactionRelease(dmaTransaction);

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Versione KMDF minima 1.0
Intestazione wdfdmatransaction.h (include Wdf.h)
Libreria Wdf01000.sys (vedere Framework Library Versioning).
IRQL <=DISPATCH_LEVEL
Regole di conformità DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Vedi anche

WdfDmaTransactionCreate