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 |
---|---|
|
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) |