EVT_SERCX2_PIO_TRANSMIT_INITIALIZE_TRANSACTION Rückruffunktion (sercx.h)
Die EvtSerCx2PioTransmitInitializeTransaction Ereignisrückruffunktion wird von Version 2 der seriellen Framework-Erweiterung (SerCx2) aufgerufen, um den seriellen Controllertreiber für die Durchführung einer PIO-Übertragungstransaktion vorzubereiten.
Syntax
EVT_SERCX2_PIO_TRANSMIT_INITIALIZE_TRANSACTION EvtSercx2PioTransmitInitializeTransaction;
void EvtSercx2PioTransmitInitializeTransaction(
[in] SERCX2PIOTRANSMIT PioTransmit,
[in] ULONG Length
)
{...}
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.
[in] Length
Die Anzahl der Bytes, die in der PIO-Übertragungstransaktion übertragen werden sollen.
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.
Ihr Treiber sollte eine EvtSerCx2PioTransmitInitializeTransaction-Funktion implementieren, wenn der serielle Controller und die zugehörige Hardware bei der Vorbereitung auf eine neue PIO-Übertragungstransaktion initialisiert werden müssen. SerCx2 ruft diese Funktion auf, falls sie implementiert ist, bevor eine PIO-Übertragungstransaktion gestartet wird. Als Reaktion auf diesen Aufruf muss der serielle Controllertreiber die SerCx2PioTransmitInitializeTransactionComplete--Methode aufrufen, um SerCx2 nach Abschluss der Initialisierung zu benachrichtigen.
Weitere Informationen finden Sie unter SerCx2 PIO-Transmit Transactions.
Beispiele
Zum Definieren einer EvtSerCx2PioTransmitInitializeTransaction Rückruffunktion 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 EvtSerCx2PioTransmitInitializeTransaction Rückruffunktion zu definieren, die MyPioTransmitInitializeTransaction
benannt ist, verwenden Sie den EVT_SERCX2_PIO_TRANSMIT_INITIALIZE_TRANSACTION Funktionstyp, wie in diesem Codebeispiel gezeigt:
EVT_SERCX2_PIO_TRANSMIT_INITIALIZE_TRANSACTION MyPioTransmitInitializeTransaction;
Implementieren Sie dann die Rückruffunktion wie folgt:
_Use_decl_annotations_
VOID
MyPioTransmitInitializeTransaction(
SERCX2PIOTRANSMIT PioTransmit,
ULONG Length
)
{...}
Der EVT_SERCX2_PIO_TRANSMIT_INITIALIZE_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_INITIALIZE_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. |