EVT_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL Rückruffunktion (wdfdmatransaction.h)

[Gilt nur für KMDF]

Die Ereignisrückruffunktion EvtDmaTransactionConfigureDmaChannel eines Treibers konfiguriert den DMA-Adapter für einen DMA-Enabler im Systemmodus.

Syntax

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
)
{...}

Parameter

[in] DmaTransaction

Ein Handle für ein DMA-Transaktionsobjekt, das die ausgeführte Transaktion darstellt.

[in] Device

Ein Handle für das Framework-Geräteobjekt, das der Treiber beim Aufrufen von WdfDmaTransactionCreate angegeben hat.

[in] Context

Der Kontextzeiger, den der Treiber in einem vorherigen Aufruf von WdfDmaTransactionSetChannelConfigurationCallback angegeben hat.

[in, optional] Mdl

Ein Zeiger auf eine einzelne Speicherdeskriptorliste (MDL) oder MDL-Kette, die den der aktuellen Übertragung zugeordneten Puffer beschreibt, oder NULL, wenn die letzte Übertragung abgeschlossen wurde und der Adapter freigegeben wird.

[in] Offset

Ein Byteoffset in den Puffer, der im Mdl-Parameter angegeben ist, in dem die aktuelle Übertragung beginnt.

[in] Length

Die Anzahl der Bytes, die in der aktuellen Übertragung übertragen werden.

Rückgabewert

Die Rückruffunktion EvtDmaTransactionConfigureDmaChannel gibt TRUE zurück, wenn sie den DMA-Kanal erfolgreich konfiguriert. Wenn diese Rückruffunktion FALSE zurückgibt, beendet das Framework die Transaktion und ruft EvtProgramDma nicht auf.

Hinweise

Treiber registrieren eine EvtDmaTransactionConfigureDmaChannel-Ereignisrückruffunktion , indem sie WdfDmaTransactionSetChannelConfigurationCallback aufrufen.

Das Framework ruft EvtDmaTransactionConfigureDmaChannel einmal für jede DMA-Übertragung des Systemprofils in der Transaktion auf, nachdem der Adapterkanal zugewiesen wurde, aber vor der Zuordnung der Übertragung und dem Aufruf von EvtProgramDma.

Der Treiber kann den EvtDmaTransactionConfigureDmaChannel-Rückruf verwenden, um eine beliebige benutzerdefinierte Programmierung für den DMA-Adapter festzulegen, bevor eine Übertragung zugeordnet wird.

Wenn beim Konfigurieren des Kanals ein Fehler auftritt, kann er die DMA-Übertragung beenden, indem WdfDmaTransactionDmaCompletedFinal aufgerufen und ggf. die Anforderung abgeschlossen wird. Der Treiber sollte dann FALSE von dieser Rückruffunktion zurückgeben.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8
Zielplattform Universell
KMDF-Mindestversion 1.11
Kopfzeile wdfdmatransaction.h (include Wdf.h)
IRQL DISPATCH_LEVEL

Weitere Informationen

WdfDmaTransactionDmaCompletedFinal

WdfDmaTransactionSetChannelConfigurationCallback