EVT_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL funzione di callback (wdfdmatransaction.h)
[Si applica solo a KMDF]
La funzione di callback degli eventi EvtDmaTransactionConfigureDmaChannel di un driver configura l'adattatore DMA per un abilitatore DMA in modalità sistema.
Sintassi
EVT_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL EvtWdfDmaTransactionConfigureDmaChannel;
BOOLEAN EvtWdfDmaTransactionConfigureDmaChannel(
[in] WDFDMATRANSACTION DmaTransaction,
[in] WDFDEVICE Device,
[in] PVOID Context,
[in, optional] PMDL Mdl,
[in] size_t Offset,
[in] size_t Length
)
{...}
Parametri
[in] DmaTransaction
Handle di un oggetto transazione DMA che rappresenta la transazione in esecuzione.
[in] Device
Handle per l'oggetto dispositivo framework specificato dal driver quando viene chiamato WdfDmaTransactionCreate.
[in] Context
Puntatore di contesto specificato dal driver in una chiamata precedente a WdfDmaTransactionSetChannelConfigurationCallback.
[in, optional] Mdl
Puntatore a un singolo elenco di descrittori di memoria (MDL) o a una catena MDL che descrive il buffer associato al trasferimento corrente oppure NULL se l'ultimo trasferimento è stato completato e l'adattatore viene liberato.
[in] Offset
Offset di byte nel buffer specificato nel parametro Mdl in cui viene avviato il trasferimento corrente.
[in] Length
Numero di byte trasferiti nel trasferimento corrente.
Valore restituito
La funzione di callback EvtDmaTransactionConfigureDmaChannel restituisce TRUE se configura correttamente il canale DMA. Se questa funzione di callback restituisce FALSE, il framework arresta la transazione e non chiama EvtProgramDma.
Commenti
I driver registrano una funzione di callback degli eventi EvtDmaTransactionConfigureDmaChannel chiamando WdfDmaTransactionSetChannelConfigurationCallback.
Il framework chiama EvtDmaTransactionConfigureDmaChannel una volta per ogni trasferimento DMA del profilo di sistema nella transazione, dopo aver allocato il canale dell'adattatore, ma prima di eseguire il mapping del trasferimento e chiamare EvtProgramDma.
Il driver può usare il callback EvtDmaTransactionConfigureDmaChannel per impostare qualsiasi programmazione personalizzata per la scheda DMA prima di eseguire il mapping di un trasferimento.
Se il driver riscontra un errore durante la configurazione del canale, può arrestare il trasferimento DMA chiamando WdfDmaTransactionDmaCompletedFinal e, se necessario, completare la richiesta. Il driver deve quindi restituire FALSE da questa funzione di callback.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8 |
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.11 |
Intestazione | wdfdmatransaction.h (include Wdf.h) |
IRQL | DISPATCH_LEVEL |