Freigeben über


EVT_SERCX2_PIO_TRANSMIT_CLEANUP_TRANSACTION Rückruffunktion (sercx.h)

Die EvtSerCx2PioTransmitCleanupTransaction Ereignisrückruffunktion wird von Version 2 der seriellen Framework-Erweiterung (SerCx2) aufgerufen, um den seriellen Controllerzustand zu bereinigen, nachdem eine PIO-Übertragungstransaktion beendet wurde.

Syntax

EVT_SERCX2_PIO_TRANSMIT_CLEANUP_TRANSACTION EvtSercx2PioTransmitCleanupTransaction;

void EvtSercx2PioTransmitCleanupTransaction(
  [in] SERCX2PIOTRANSMIT PioTransmit
)
{...}

Parameter

[in] PioTransmit

Ein SERCX2PIOTRANSMIT Handle für ein PIO-Übertragungsobjekt. Der serielle Controllertreiber hat zuvor den SerCx2PioTransmitCreate 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 SerCx2PioTransmitCreate Aufruf, der das PIO-Übertragungsobjekt erstellt.

Der serielle Controllertreiber sollte einen EvtSerCx2PioTransmitCleanupTransactiontransaction--Funktion implementieren, wenn er den seriellen Controllerzustand am Ende einer PIO-Übertragungstransaktion bereinigen muss. SerCx2 ruft diese Funktion auf, wenn sie implementiert ist, nachdem eine PIO-Übertragungstransaktion beendet wurde. Als Reaktion auf den EvtSerCx2PioTransmitCleanupTransaction Aufruf muss der serielle Controllertreiber den SerCx2PioTransmitCleanupTransactionComplete Methode aufrufen, um SerCx2 nach Abschluss der Bereinigung zu benachrichtigen.

Weitere Informationen finden Sie unter SerCx2 PIO-Transmit Transactions.

Beispiele

Um eine EvtSerCx2PioTransmitCleanupTransaction 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 EvtSerCx2PioTransmitCleanupTransaction Rückruffunktion zu definieren, die MyPioTransmitCleanupTransactionheißt, verwenden Sie den funktionstyp EVT_SERCX2_PIO_TRANSMIT_CLEANUP_TRANSACTION, wie in diesem Codebeispiel gezeigt:

EVT_SERCX2_PIO_TRANSMIT_CLEANUP_TRANSACTION  MyPioTransmitCleanupTransaction;

Implementieren Sie dann die Rückruffunktion wie folgt:

_Use_decl_annotations_
VOID
  MyPioTransmitCleanupTransaction(
    SERCX2PIOTRANSMIT  PioTransmit
    )
  {...}

Der EVT_SERCX2_PIO_TRANSMIT_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_PIO_TRANSMIT_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.

Siehe auch

SERCX2PIOTRANSMIT

SerCx2PioTransmitCleanupTransactionComplete

SerCx2PioTransmitCreate