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 zugewiesene 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 Statuscodes.
Rückgabecode | Beschreibung |
---|---|
|
Die Methode wurde bei der falschen IRQL aufgerufen, oder der parameter Device ist kein gültiges WDFDEVICE-Handle. |
|
Der Wert |
|
Das RequestAttributes Member ist ungültig, oder erforderliche Rückruffunktionen fehlen in der Liste der Funktionszeiger. Weitere Informationen finden Sie in den Hinweisen. |
|
Unzureichende Ressourcen sind verfügbar, um den angeforderten Vorgang auszuführen. |
Bemerkungen
Vor dem Aufrufen dieser Methode muss der serielle Controllertreiber zuvor den SerCx2InitializeDeviceInit-Methode aufgerufen haben.
Der serielle Controllertreiber muss diese Methode aus seinem EvtDriverDeviceAdd Rückruffunktion aufrufen, nachdem ein Framework-Geräteobjekt für den seriellen Controller erstellt wurde. 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 von SerCx2 erforderlich. Der Treiber muss die EvtSerCx2PurgeFifos, EvtSerCx2Controlund EvtSerCx2ApplyConfig Rückruffunktionen implementieren. Andernfalls schlägt der SerCx2InitializeDevice Aufruf fehl und gibt STATUS_INVALID_PARAMETER zurück.
Wenn das RequestAttributes Member der SERCX2_CONFIG Struktur auf einen anderen Wert als WDF_NO_OBJECT_ATTRIBUTES festgelegt ist, darf der Treiber die Werte, die in das ParentObject, ExecutionLevel, geschrieben wurden, nicht überschreiben und SynchronizationScope Member dieser Struktur durch die WDF_OBJECT_ATTRIBUTES_INIT-Funktion. 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 SerCx2InitializeDeviceangibt. Weitere Informationen finden Sie unter SerCx2 Custom-Receive Transactions und SerCx2 Custom-Transmit Transactions.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar ab Windows 8.1. |
Zielplattform- | Universal |
Header- | sercx.h |
IRQL- | PASSIVE_LEVEL |