SerCx2PioTransmitCreate-Funktion (sercx.h)
Die SerCx2PioTransmitCreate-Methode erstellt ein PIO-Transmissionsobjekt, das Version 2 der Serial Framework-Erweiterung (SerCx2) verwendet, um PIO-Transmissionstransaktionen durchzuführen.
Syntax
NTSTATUS SerCx2PioTransmitCreate(
[in] WDFDEVICE Device,
[in] PSERCX2_PIO_TRANSMIT_CONFIG PioTransmitConfig,
[in, optional] PWDF_OBJECT_ATTRIBUTES Attributes,
[out] SERCX2PIOTRANSMIT *PioTransmit
);
Parameter
[in] Device
Ein WDFDEVICE-Handle für das Frameworkgerätobjekt, das den seriellen Controller darstellt. Der serielle Controllertreiber hat dieses Objekt in seiner Rückruffunktion EvtDriverDeviceAdd erstellt. Weitere Informationen finden Sie unter SerCx2InitializeDevice.
[in] PioTransmitConfig
Ein Zeiger auf eine SERCX2_PIO_TRANSMIT_CONFIG-Struktur . Vor dem Aufrufen dieser Methode muss der Aufrufer die SERCX2_PIO_TRANSMIT_CONFIG_INIT-Funktion aufrufen, um die Struktur zu initialisieren. Diese Struktur enthält Zeiger auf eine Reihe von Ereignisrückrufroutinen, die vom seriellen Controllertreiber implementiert werden. SerCx2 ruft diese Funktionen auf, um PIO-Übertragungstransaktionen auszuführen.
[in, optional] Attributes
Ein Zeiger auf eine WDF_OBJECT_ATTRIBUTES-Struktur , die die Attribute beschreibt, die dem neuen PIO-transmission-Objekt zugewiesen werden sollen. Vor dem Aufrufen dieser Methode muss der Aufrufer die WDF_OBJECT_ATTRIBUTES_INIT-Funktion aufrufen, um die Struktur zu initialisieren. Dieser Parameter ist optional und kann als WDF_NO_OBJECT_ATTRIBUTES angegeben werden, wenn der serielle Controllertreiber dem Objekt keine Attribute zuweisen muss. Weitere Informationen finden Sie in den Hinweisen.
[out] PioTransmit
Ein Zeiger auf eine Position, an die diese Methode ein SERCX2PIOTRANSMIT-Handle auf das neu erstellte PIO-transmit-Objekt schreibt. SerCx2 und der serielle Controllertreiber verwenden dieses Handle in nachfolgenden Aufrufen, um auf dieses Objekt zu verweisen.
Rückgabewert
Diese Methode gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich ist. Mögliche Fehlerrückgabewerte umfassen die folgenden status-Codes.
Rückgabecode | Beschreibung |
---|---|
|
Ein PIO-transmit-Objekt ist bereits aus einem vorherigen SerCx2PioTransmitCreate-Aufruf vorhanden. |
|
Der Wert "Config->Size" entspricht nicht sizeof(SERCX2_PIO_TRANSMIT_CONFIG). |
|
Die angegebene Kombination implementierter Rückruffunktionen ist ungültig. Der Treiber muss die Funktionen EvtSerCx2PioTransmitWriteBuffer, EvtSerCx2PioTransmitEnableReadyNotification und EvtSerCx2PioTransmitCancelReadyNotification implementieren. Der Treiber muss entweder alle drei oder keine der Funktionen EvtSerCx2PioTransmitDrainFifo, EvtSerCx2PioTransmitCancelDrainFifo und EvtSerCx2PioTransmitPurgeFifo implementieren. |
|
Es stehen nicht genügend Ressourcen zum Ausführen des angeforderten Vorgangs zur Verfügung. |
Hinweise
Ihr serieller Controllertreiber ruft diese Methode auf, um ein PIO-Übertragungsobjekt zu erstellen. SerCx2 verwendet dieses Objekt zum Ausführen von PIO-Übertragungstransaktionen. Dabei handelt es sich um Transaktionen, die programmierte E/A (PIO) verwenden, um Daten in den seriellen Controller zu schreiben, der übertragen werden soll.
In der Regel ruft ein serieller Controllertreiber SerCx2PioTransmitCreate über seine EvtDriverDeviceAdd-Funktion auf. Der Treiber darf diese Methode erst aufrufen, nachdem die SerCx2InitializeDevice-Methode erfolgreich aufgerufen wurde.
Optional kann ein serieller Controllertreiber den Attribute-Parameter verwenden, um einen Kontext für das PIO-transmission-Objekt zu erstellen und Zeiger auf die Funktionen EvtCleanupCallback und EvtDestroyCallback zu liefern, die aufgerufen werden, um das Objekt für das Löschen vorzubereiten. Weitere Informationen finden Sie unter WDF_OBJECT_ATTRIBUTES.
Wenn der Attributes-Parameter auf eine WDF_OBJECT_ATTRIBUTES-Struktur verweist, darf der Aufrufer die Werte, die die WDF_OBJECT_ATTRIBUTES_INIT Initialisierungsfunktion in die Member ParentObject, ExecutionLevel und SynchronizationScope dieser Struktur schreibt, nicht überschreiben.
Weitere Informationen zum Erstellen von PIO-Übertragungsobjekten finden Sie unter SERCX2PIOTRANSMIT. Weitere Informationen zu PIO-Übertragungsvorgängen finden Sie unter SerCx2 PIO-Transmit Transactions.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 8.1. |
Zielplattform | Universell |
Header | sercx.h |
IRQL | <= DISPATCH_LEVEL |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für