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 |
---|---|
|
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 |