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
STATUS_INVALID_DEVICE_REQUEST
Die -Methode wurde mit dem falschen IRQL aufgerufen, oder der Device-Parameter ist kein gültiges WDFDEVICE-Handle.
STATUS_INFO_LENGTH_MISMATCH
Der Wert der Konfigurationsgröße-> ist nicht gleich sizeof(SERCX2_CONFIG).
STATUS_INVALID_PARAMETER
Das RequestAttributes-Element ist ungültig, oder erforderliche Rückruffunktionen fehlen in der Liste der Funktionszeiger. Weitere Informationen finden Sie in den Hinweisen.
STATUS_INSUFFICIENT_RESOURCES
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

EvtDriverDeviceAdd

SERCX2_CONFIG

SerCx2InitializeDeviceInit

WdfDeviceCreate

WdfDeviceInitSetRequestAttributes