EVT_SERCX2_SYSTEM_DMA_RECEIVE_CLEANUP_TRANSACTION Rückruffunktion (sercx.h)
Die EvtSerCx2SystemDmaReceiveCleanupTransaction Ereignisrückruffunktion wird von Version 2 der seriellen Framework-Erweiterung (SerCx2) aufgerufen, um den zustand des seriellen Controllers zu bereinigen, nachdem eine Transaktion mit system-DMA-receive beendet wurde.
Syntax
EVT_SERCX2_SYSTEM_DMA_RECEIVE_CLEANUP_TRANSACTION EvtSercx2SystemDmaReceiveCleanupTransaction;
void EvtSercx2SystemDmaReceiveCleanupTransaction(
[in] SERCX2SYSTEMDMARECEIVE SystemDmaReceive
)
{...}
Parameter
[in] SystemDmaReceive
Ein SERCX2SYSTEMDMARECEIVE Handle für ein System-DMA-Empfangsobjekt. Der serielle Controllertreiber hat zuvor den SerCx2SystemDmaReceiveCreate Methode aufgerufen, um dieses Objekt zu erstellen.
Rückgabewert
Nichts
Bemerkungen
Ihr serieller Controllertreiber kann diese Funktion als Option implementieren. Falls implementiert, registriert der Treiber die Funktion im SerCx2SystemDmaReceiveCreate Aufruf, der das System-DMA-Receive-Objekt erstellt.
Der serielle Controllertreiber sollte einen EvtSerCx2SystemDmaReceiveCleanupTransaction-Funktion implementieren, wenn der serielle Controllerzustand am Ende einer System-DMA-Empfangstransaktion bereinigt werden muss. SerCx2 ruft diese Funktion auf, wenn sie implementiert ist, nachdem eine System-DMA-Empfangstransaktion beendet wurde. Als Reaktion auf den EvtSerCx2SystemDmaReceiveCleanupTransaction Aufruf muss der serielle Controllertreiber den SerCx2SystemDmaReceiveCleanupTransactionComplete Methode aufrufen, um SerCx2 zu benachrichtigen, nachdem die Bereinigung abgeschlossen wurde.
Weitere Informationen finden Sie unter SerCx2 System-DMA-Receive Transactions.
Beispiele
Um eine EvtSerCx2SystemDmaReceiveCleanupTransaction Rückruffunktion zu definieren, müssen Sie zuerst eine Funktionsdeklaration bereitstellen, die den Typ der rückruffunktion identifiziert, die Sie definieren. Windows stellt eine Reihe von Rückruffunktionstypen für Treiber bereit. Durch das Deklarieren einer Funktion mithilfe der Rückruffunktionstypen können Codeanalyse für Treiber, statische Treiberüberprüfung (SDV) und andere Überprüfungstools Fehler finden, und es ist eine Anforderung zum Schreiben von Treibern für das Windows-Betriebssystem.
Um beispielsweise eine EvtSerCx2SystemDmaReceiveCleanupTransaction Rückruffunktion zu definieren, die MySystemDmaReceiveCleanupTransaction
heißt, verwenden Sie den funktionstyp EVT_SERCX2_SYSTEM_DMA_RECEIVE_CLEANUP_TRANSACTION, wie in diesem Codebeispiel gezeigt:
EVT_SERCX2_SYSTEM_DMA_RECEIVE_CLEANUP_TRANSACTION MySystemDmaReceiveCleanupTransaction;
Implementieren Sie dann die Rückruffunktion wie folgt:
_Use_decl_annotations_
VOID
MySystemDmaReceiveCleanupTransaction(
SERCX2SYSTEMDMARECEIVE SystemDmaReceive
)
{...}
Der EVT_SERCX2_SYSTEM_DMA_RECEIVE_CLEANUP_TRANSACTION Funktionstyp wird in der Headerdatei Sercx.h definiert. Um Fehler genauer zu identifizieren, wenn Sie die Codeanalysetools ausführen, müssen Sie der Funktionsdefinition die Use_decl_annotations Anmerkung hinzufügen. Die Use_decl_annotations Anmerkung stellt sicher, dass die Anmerkungen, die auf den Funktionstyp EVT_SERCX2_SYSTEM_DMA_RECEIVE_CLEANUP_TRANSACTION in der Headerdatei angewendet werden, verwendet werden. Weitere Informationen zu den Anforderungen für Funktionsdeklarationen finden Sie unter Deklarieren von Funktionen mithilfe von Funktionsrollentypen für KMDF-Treiber. Weitere Informationen zu Use_decl_annotationsfinden Sie unter Annotating Function Behavior.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar ab Windows 8.1. |
Zielplattform- | Desktop |
Header- | sercx.h |
IRQL- | Wird bei IRQL <= DISPATCH_LEVEL aufgerufen. |