Freigeben über


EVT_WDF_RESERVE_DMA Rückruffunktion (wdfdmatransaction.h)

[Gilt nur für KMDF]

Die EvtReserveDma-Ereignisrückruffunktion wird aufgerufen, wenn das Framework über reservierte Ressourcen zum Ausführen und Freigeben einer Transaktion verfügt. Reservierte Ressourcen umfassen Kartenregister und die Sperre des WDM-DMA-Adapters.

Syntax

EVT_WDF_RESERVE_DMA EvtWdfReserveDma;

void EvtWdfReserveDma(
  [in] WDFDMATRANSACTION DmaTransaction,
  [in] PVOID Context
)
{...}

Parameter

[in] DmaTransaction

Ein Handle für das DMA-Transaktionsobjekt, das die Transaktion darstellt, der DMA-Ressourcen zugewiesen wurden.

[in] Context

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

Rückgabewert

Keine

Bemerkungen

Treiber registrieren eine EvtReserveDma-Ereignisrückruffunktion , indem sie WdfDmaTransactionAllocateResources aufrufen.

Das Framework ruft die EvtReserveDma-Ereignisrückruffunktion eines Treibers auf, wenn DMA-Ressourcen für die exklusive Verwendung mit dem zugeordneten Transaktionsobjekt zugewiesen wurden. Der Treiber kann die Transaktion mehrmals initialisieren und ausführen, während er diese Reservierung hält.

Ein Treiber initialisiert in der Regel die Transaktion und initiiert die Transaktion dann in seiner EvtReserveDma-Ereignisrückruffunktion . Weitere Informationen zur Reservierungssequenz finden Sie unter Reservieren von DMA-Ressourcen.

Der Treiber kann WdfDmaTransactionFreeResources aus EvtReserveDma aufrufen.

Auf Betriebssystemen vor Windows 8 muss EvtReserveDma mit einem Enabler verwendet werden, der eine Paketmodus-DMA-Aktivierung angibt. Ab Windows 8 kann EvtReserveDma auch mit einem Enabler verwendet werden, der eine DMA-Aktivierung im Systemmodus angibt.

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.11
Kopfzeile wdfdmatransaction.h (einschließen von Wdf.h)
IRQL DISPATCH_LEVEL

Weitere Informationen

WdfDmaTransactionAllocateResources

WdfDmaTransactionFreeResources