Freigeben über


SerCxDeviceInitConfig-Funktion (sercx.h)

Die SerCxDeviceInitConfig-Methode wird vom seriellen Controllertreiber aufgerufen, um die serielle Frameworkerweiterung (SerCx) an die E/A-Pipeline für ein framework-Geräteobjekt (FDO oder PDO) anzufügen, das erstellt wird.

Syntax

NTSTATUS SerCxDeviceInitConfig(
  [in, out] PWDFDEVICE_INIT DeviceInit
);

Parameter

[in, out] DeviceInit

Ein Zeiger auf die WDFDEVICE_INIT Struktur, die konfiguriert werden soll.

Rückgabewert

SerCxDeviceInitConfig gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich ist. Mögliche Fehlerrückgabewerte sind der folgende status Code.

Rückgabecode Beschreibung
STATUS_INSUFFICIENT_RESOURCES
Systemressourcen (in der Regel Arbeitsspeicher) konnten nicht zugeordnet werden.

Hinweise

Diese Methode ordnet die Konfigurationsinformationen von SerCx der WDFDEVICE_INIT-Struktur für das zu erstellende Framework-Geräteobjekt (PDO oder FDO) zu. Rufen Sie SerCxDeviceInitConfig auf, bevor Sie die WdfDeviceCreate-Methode aufrufen, um das Geräteobjekt zu erstellen.

Die Rückruffunktion EvtDriverDeviceAdd des Controllertreibers empfängt einen Zeiger auf eine initialisierte WDFDEVICE_INIT-Struktur als Eingabeparameter.

SerCx legt einen Standardsicherheitsdeskriptor fest, den der Treiber des seriellen Controllers bei Bedarf überschreiben kann. Beispielsweise ermöglicht dieser Standardsicherheitsdeskriptor einem Benutzermodustreiber das Senden einer E/A-Anforderung an ein Peripheriegerät, das mit einem Port des seriellen Controllers verbunden ist. Um diese Einstellung im Sicherheitsdeskriptor zu ändern, kann der Treiber des seriellen Controllers die WdfDeviceInitAssignSDDLString-Methode aufrufen. Dieser Aufruf muss nach dem SerCxDeviceInitConfig-Aufruf erfolgen, aber vor dem Aufruf der WdfDeviceCreate-Methode .

Beispiele

Im folgenden Codebeispiel übergibt die EvtDriverDeviceAdd-Rückruffunktion eines Controllertreibers eine initialisierte WDFDEVICE_INIT Struktur an die SerCxDeviceInitConfig-Methode . Der Aufruf von SerCxDeviceInitConfig muss vor dem WdfDeviceCreate-Aufruf erfolgen, der die FDO für das serielle Controllergerät (UART) erstellt.

//
// FxDeviceInit is a pointer to an initialized WDFDEVICE_INIT structure.
// Drivers receive a pointer to this structure as an input parameter to an
// EvtDriverDeviceAdd callback function, or as a return value from the
// WdfControlDeviceInitAllocate method.
//

status = SerCxDeviceInitConfig(FxDeviceInit);

if (!NT_SUCCESS(status))
{
    return status;
}

// 
// Set WDF and SerCx device-level configuration options.
//

...

//
// Call the WdfDeviceCreate method.
//

...

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 8.
Zielplattform Universell
Header sercx.h
IRQL PASSIVE_LEVEL

Weitere Informationen

EvtDriverDeviceAdd

WDFDEVICE_INIT

WdfDeviceCreate

WdfDeviceInitAssignSDDLString