Funzione WdfDmaTransactionSetTransferCompleteCallback (wdfdmatransaction.h)
[Si applica solo a KMDF]
Il metodo WdfDmaTransactionSetTransferCompleteCallback registra una funzione di callback dell'evento di completamento del trasferimento per una transazione DMA in modalità sistema.
Sintassi
void WdfDmaTransactionSetTransferCompleteCallback(
[in] WDFDMATRANSACTION DmaTransaction,
[in, optional] PFN_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE DmaCompletionRoutine,
[in, optional] PVOID DmaCompletionContext
);
Parametri
[in] DmaTransaction
Handle a un oggetto transazione DMA inizializzato per cui impostare o cancellare il callback di completamento del trasferimento.
[in, optional] DmaCompletionRoutine
Puntatore alla funzione di callback dell'evento EvtDmaTransactionDmaTransferComplete del driver o NULL per cancellare una funzione di callback impostata in precedenza.
[in, optional] DmaCompletionContext
Puntatore a un buffer contenente il contesto specificato dal driver da fornire alla funzione di callback dell'evento EvtDmaTransactionDmaTransferComplete o NULL del driver.
Valore restituito
nessuno
Osservazioni
Il driver chiama questo metodo per impostare una routine di completamento che il framework chiama dopo che il controller DMA di sistema completa un trasferimento. Il framework chiama il callback EvtDmaTransactionDmaTransferComplete una sola volta per ogni trasferimento nella transazione.
In genere dall'interno di una funzione di callback dell'evento di I/O, un driver esegue i passaggi seguenti, in questo ordine:
- Chiama WdfDmaTransactionInitializeUsingRequest, WdfDmaTransactionInitialize o WdfDmaTransactionInitializeUsingOffset per inizializzare l'oggetto transazioni.
- Chiama WdfDmaTransactionSetTransferCompleteCallback nell'oggetto transazione.
- Chiama WdfDmaTransactionExecute.
WdfDmaTransactionSetTransferCompleteCallback può essere usato solo con un enabler DMA che specifica un profilo DMA in modalità sistema.
Se il driver chiama questo metodo in un sistema operativo precedente a Windows 8, il verificatore del framework segnala un errore.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8 |
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.11 |
Intestazione | wdfdmatransaction.h (include Wdf.h) |
Libreria | Wdf01000.sys (vedere Framework Library Versioning). |
IRQL | <=DISPATCH_LEVEL |
Regole di conformità DDI | DriverCreate(kmdf) |