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 |