Freigeben über


EVT_SERCX2_PIO_TRANSMIT_CANCEL_READY_NOTIFICATION Rückruffunktion (sercx.h)

Die EvtSerCx2PioTransmitCancelReadyNotification Ereignisrückruffunktion wird von Version 2 der seriellen Framework-Erweiterung (SerCx2) aufgerufen, um eine bereite Benachrichtigung abzubrechen, dass SerCx2 in einem vorherigen Aufruf des EvtSerCx2PioTransmitEnableReadyNotification Ereignisrückruffunktion aktiviert wurde.

Syntax

EVT_SERCX2_PIO_TRANSMIT_CANCEL_READY_NOTIFICATION EvtSercx2PioTransmitCancelReadyNotification;

BOOLEAN EvtSercx2PioTransmitCancelReadyNotification(
  [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

Die EvtSerCx2PioTransmitCancelReadyNotification Funktion gibt TRUE zurück, wenn die bereite Benachrichtigung erfolgreich deaktiviert wurde und der serielle Controllertreiber garantieren kann, dass diese Benachrichtigung nicht dazu führt, dass die SerCx2PioTransmitReady Methode aufgerufen wird.

Die Funktion gibt FALSE- zurück, wenn der Treiber bereits SerCx2PioTransmitReadyaufgerufen hat oder diese Methode aufgerufen wird.

Bemerkungen

Der serielle Controllertreiber muss diese Funktion implementieren. Der Treiber registriert die Funktion im SerCx2PioTransmitCreate Aufruf, der das PIO-Übertragungsobjekt erstellt.

Wenn die zugeordnete Schreibanforderung ausfällt oder abgebrochen wird, während eine fertige Benachrichtigung aktiviert ist, ruft SerCx2 den EvtSerCx2PioTransmitCancelReadyNotification-Funktion auf, um die ausstehende Benachrichtigung abzubrechen. Wenn dieser Aufruf FALSE-zurückgibt, erwartet SerCx2, dass der serielle Controllertreiber SerCx2PioTransmitReadyaufruft; erst nach diesem Aufruf ruft SerCx2 die EvtSerCx2PioTransmitCleanupTransaction Ereignisrückruffunktion auf, sofern sie implementiert ist, und schließen Sie die Anforderung ab.

Um eine zuvor aktivierte bereite Benachrichtigung abzubrechen, deaktiviert die funktion EvtSerCx2PioTransmitCancelReadyNotification in der Regel den Interrupt im seriellen Controller, der angibt, dass die Übertragung FIFO bereit ist, weitere Daten zu akzeptieren. SerCx2 hat diesen Interrupt in einem vorherigen Aufruf der EvtSerCx2PioTransmitEnableReadyNotification Funktion aktiviert.

Weitere Informationen finden Sie unter SerCx2 PIO-Transmit Transactions.

Beispiele

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

EVT_SERCX2_PIO_TRANSMIT_CANCEL_READY_NOTIFICATION  MyPioTransmitCancelReadyNotification;

Implementieren Sie dann die Rückruffunktion wie folgt:

_Use_decl_annotations_
BOOLEAN
  MyPioTransmitCancelReadyNotification(
    SERCX2PIOTRANSMIT  PioTransmit
    )
  {...}

Der EVT_SERCX2_PIO_TRANSMIT_CANCEL_READY_NOTIFICATION 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_CANCEL_READY_NOTIFICATION 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

EvtSerCx2PioTransmitEnableReadyNotification

SERCX2PIOTRANSMIT

SerCx2PioTransmitCreate

SerCx2PioTransmitReady