Condividi tramite


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

Vedi anche

WdfDmaTransactionDmaCompletedFinal

WdfDmaTransactionSetChannelConfigurationCallback