Freigeben über


EVT_SERCX2_SYSTEM_DMA_TRANSMIT_INITIALIZE_TRANSACTION Rückruffunktion (sercx.h)

Die EvtSerCx2SystemDmaTransmitInitializeTransaction Ereignisrückruffunktion wird von Version 2 der seriellen Framework-Erweiterung (SerCx2) aufgerufen, um den seriellen Controllertreiber auf die Durchführung einer System-DMA-Übertragungstransaktion vorzubereiten.

Syntax

EVT_SERCX2_SYSTEM_DMA_TRANSMIT_INITIALIZE_TRANSACTION EvtSercx2SystemDmaTransmitInitializeTransaction;

void EvtSercx2SystemDmaTransmitInitializeTransaction(
  [in] SERCX2SYSTEMDMATRANSMIT SystemDmaTransmit,
  [in] ULONG Length
)
{...}

Parameter

[in] SystemDmaTransmit

Ein SERCX2SYSTEMDMATRANSMIT Handle zu einem System-DMA-Transmissionsobjekt. Der serielle Controllertreiber hat zuvor den SerCx2SystemDmaTransmitCreate Methode aufgerufen, um dieses Objekt zu erstellen.

[in] Length

Die Anzahl der Bytes, die in der System-DMA-Ü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 SerCx2SystemDmaTransmitCreate Aufruf, der das System-DMA-übertragungsobjekt erstellt.

Ihr Treiber sollte eine EvtSerCx2SystemDmaTransmitInitializeTransactiontransaction--Funktion implementieren, wenn der serielle Controller und die zugehörige Hardware in Vorbereitung auf eine neue System-DMA-Übertragungstransaktion initialisiert werden müssen. SerCx2 ruft diese Funktion auf, wenn sie implementiert ist, bevor eine System-DMA-Übertragungstransaktion gestartet wird. Als Reaktion auf diesen Aufruf muss der serielle Controllertreiber die SerCx2SystemDmaTransmitInitializeTransactionComplete--Methode aufrufen, um SerCx2 nach Abschluss der Initialisierung zu benachrichtigen.

Weitere Informationen finden Sie unter SerCx2 System-DMA-Transmit Transactions.

Beispiele

Um eine EvtSerCx2SystemDmaTransmitInitializeTransaction 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 EvtSerCx2SystemDmaTransmitInitializeTransactiontransaction Rückruffunktion zu definieren, die MySystemDmaTransmitInitializeTransactionheißt, verwenden Sie den EVT_SERCX2_SYSTEM_DMA_TRANSMIT_INITIALIZE_TRANSACTION Funktionstyp, wie in diesem Codebeispiel gezeigt:

EVT_SERCX2_SYSTEM_DMA_TRANSMIT_INITIALIZE_TRANSACTION  MySystemDmaTransmitInitializeTransaction;

Implementieren Sie dann die Rückruffunktion wie folgt:

_Use_decl_annotations_
VOID
  MySystemDmaTransmitInitializeTransaction(
    SERCX2SYSTEMDMATRANSMIT  SystemDmaTransmit,
    ULONG Length
    )
  {...}

Der EVT_SERCX2_SYSTEM_DMA_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_SYSTEM_DMA_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.

Siehe auch

SERCX2SYSTEMDMATRANSMIT

SerCx2SystemDmaTransmitCreate

SerCx2SystemDmaTransmitInitializeTransactionComplete-