EVT_SERCX2_PIO_RECEIVE_CANCEL_READY_NOTIFICATION Rückruffunktion (sercx.h)
Die EvtSerCx2PioReceiveCancelReadyNotification Ereignisrückruffunktion wird von Version 2 der seriellen Framework-Erweiterung (SerCx2) aufgerufen, um eine bereite Benachrichtigung abzubrechen, dass SerCx2 in einem vorherigen Aufruf der EvtSerCx2PioReceiveEnableReadyNotification Ereignisrückruffunktion aktiviert wurde.
Syntax
EVT_SERCX2_PIO_RECEIVE_CANCEL_READY_NOTIFICATION EvtSercx2PioReceiveCancelReadyNotification;
BOOLEAN EvtSercx2PioReceiveCancelReadyNotification(
[in] SERCX2PIORECEIVE PioReceive
)
{...}
Parameter
[in] PioReceive
Ein SERCX2PIORECEIVE Handle für ein PIO-Empfangsobjekt. Der serielle Controllertreiber hat zuvor den SerCx2PioReceiveCreate Methode aufgerufen, um dieses Objekt zu erstellen.
Rückgabewert
Die EvtSerCx2PioReceiveCancelReadyNotification Funktion gibt TRUE zurück, wenn die bereite Benachrichtigung erfolgreich deaktiviert wurde und der serielle Controllertreiber garantiert, dass diese Benachrichtigung nicht dazu führt, dass die SerCx2PioReceiveReady- Methode aufgerufen wird. Die Funktion gibt FALSE- zurück, wenn der Treiber bereits SerCx2PioReceiveReadyaufgerufen hat oder diese Methode aufgerufen wird.
Bemerkungen
Der serielle Controllertreiber muss diese Funktion implementieren. Der Treiber registriert die Funktion im SerCx2PioReceiveCreate Aufruf, der das PIO-Empfangsobjekt erstellt.
Wenn die zugeordnete Leseanforderung zeitüberschreitung oder abgebrochen wird, während eine bereite Benachrichtigung aktiviert ist, ruft SerCx2 den EvtSerCx2PioReceiveCancelReadyNotification Funktion auf, um die ausstehende Benachrichtigung abzubrechen. Wenn dieser Aufruf FALSEzurückgibt, erwartet SerCx2, dass der serielle Controllertreiber SerCx2PioReceiveReadyaufruft; erst nach diesem Aufruf ruft SerCx2 die EvtSerCx2PioReceiveCleanupTransaction Ereignisrückruffunktion auf, wenn sie implementiert ist, und schließen Sie die Anforderung ab.
Um die bereite Benachrichtigung abzubrechen, deaktiviert die EvtSerCx2PioReceiveCancelReadyNotification Funktion in der Regel den Interrupt im seriellen Controller, der angibt, dass mehr Daten verfügbar sind, die vom empfangenen FIFO gelesen werden können. Dieser Interrupt wurde durch einen vorherigen Aufruf der funktion EvtSerCx2PioReceiveEnableReadyNotification aktiviert.
Weitere Informationen finden Sie unter SerCx2 PIO-Receive Transactions.
Beispiele
Um eine EvtSerCx2PioReceiveCancelReadyNotification 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 EvtSerCx2PioReceiveCancelReadyNotification Rückruffunktion zu definieren, die MyPioReceiveCancelReadyNotification
heißt, verwenden Sie den EVT_SERCX2_PIO_RECEIVE_CANCEL_READY_NOTIFICATION Funktionstyp, wie in diesem Codebeispiel gezeigt:
EVT_SERCX2_PIO_RECEIVE_CANCEL_READY_NOTIFICATION MyPioReceiveCancelReadyNotification;
Implementieren Sie dann die Rückruffunktion wie folgt:
_Use_decl_annotations_
BOOLEAN
MyPioReceiveCancelReadyNotification(
SERCX2PIORECEIVE PioReceive
)
{...}
Der EVT_SERCX2_PIO_RECEIVE_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_RECEIVE_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. |