SerCx2InitializeDevice-Funktion (sercx.h)
Die SerCx2InitializeDevice-Methode beendet die Initialisierung des Framework-Geräteobjekts für den seriellen Controller.
Syntax
NTSTATUS SerCx2InitializeDevice(
[in] WDFDEVICE Device,
[in] PSERCX2_CONFIG Config
);
Parameter
[in] Device
Ein WDFDEVICE-Handle für das Framework-Geräteobjekt, das den seriellen Controller darstellt. Weitere Informationen finden Sie in den Hinweisen.
[in] Config
Ein Zeiger auf eine vom Aufrufer zugeordnete SERCX2_CONFIG-Struktur , die Zeiger auf eine Reihe von Ereignisrückruffunktionen enthält, die vom seriellen Controllertreiber implementiert werden. Version 2 des seriellen Framework-Controllers (SerCx2) ruft diese Funktionen auf, um den seriellen Controller zu konfigurieren und grundlegende Vorgänge auszuführen, die unabhängig von den vom Treiber unterstützten E/A-Transaktionstypen (PIO, System DMA oder benutzerdefiniert) sind.
Rückgabewert
SerCx2InitializeDevice gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich ist. Mögliche Fehlerrückgabewerte sind die folgenden status Codes.
Rückgabecode | Beschreibung |
---|---|
|
Die -Methode wurde mit dem falschen IRQL aufgerufen, oder der Device-Parameter ist kein gültiges WDFDEVICE-Handle. |
|
Der Wert der Konfigurationsgröße-> ist nicht gleich sizeof(SERCX2_CONFIG). |
|
Das RequestAttributes-Element ist ungültig, oder erforderliche Rückruffunktionen fehlen in der Liste der Funktionszeiger. Weitere Informationen finden Sie in den Hinweisen. |
|
Für die Ausführung des angeforderten Vorgangs sind nicht genügend Ressourcen verfügbar. |
Hinweise
Vor dem Aufrufen dieser Methode muss der Treiber des seriellen Controllers zuvor die SerCx2InitializeDeviceInit-Methode aufgerufen haben.
Der serielle Controllertreiber muss diese Methode über seine EvtDriverDeviceAdd-Rückruffunktion aufrufen, nachdem er ein Framework-Geräteobjekt für den seriellen Controller erstellt hat. Der Treiber ruft in der Regel eine Methode wie WdfDeviceCreate auf, um das Framework-Geräteobjekt zu erstellen und ein WDFDEVICE-Handle für dieses Objekt abzurufen.
Drei der Funktionszeiger in der SERCX2_CONFIG-Struktur sind für SerCx2 erforderlich. Der Treiber muss die Rückruffunktionen EvtSerCx2PurgeFifos, EvtSerCx2Control und EvtSerCx2ApplyConfig implementieren. Andernfalls schlägt der SerCx2InitializeDevice-Aufruf fehl und gibt STATUS_INVALID_PARAMETER zurück.
Wenn der RequestAttributes-Member der SERCX2_CONFIG-Struktur auf einen anderen Wert als WDF_NO_OBJECT_ATTRIBUTES festgelegt ist, darf der Treiber die Werte, die von der funktion WDF_OBJECT_ATTRIBUTES_INIT in die Member ParentObject, ExecutionLevel und SynchronizationScope dieser Struktur geschrieben werden, nicht überschreiben. Andernfalls schlägt der SerCx2InitializeDevice-Aufruf fehl und gibt STATUS_INVALID_PARAMETER zurück.
Wenn der Treiber die WdfDeviceInitSetRequestAttributes-Methode aufruft , um die Attribute festzulegen, die für Anforderungsobjekte verwendet werden sollen, müssen die in diesem Aufruf angegebenen Anforderungsattribute mit den Anforderungsattributen übereinstimmen, die der Treiber im Aufruf von SerCx2InitializeDevice angibt. Weitere Informationen finden Sie unter SerCx2 Custom-Receive Transactions und SerCx2 Custom-Transmit Transactions.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 8.1. |
Zielplattform | Universell |
Header | sercx.h |
IRQL | PASSIVE_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