SerCx2InitializeDeviceInit-Funktion (sercx.h)
Mit der SerCx2InitializeDeviceInit-Methode kann Version 2 der seriellen Frameworkerweiterung (SerCx2) erweiterungsspezifische Eigenschaften beim Treiberframework während der Erstellung des Framework-Geräteobjekts für den seriellen Controller registriert werden.
Syntax
NTSTATUS SerCx2InitializeDeviceInit(
[in, out] PWDFDEVICE_INIT DeviceInit
);
Parameter
[in, out] DeviceInit
Ein Zeiger auf eine WDFDEVICE_INIT-Struktur, bei der es sich um eine undurchsichtige Struktur handelt, die Informationen speichert, die das Kernel Mode Driver Framework (KMDF) zum Erstellen eines Framework-Geräteobjekts verwendet. Der serielle Controllertreiber empfängt einen Zeiger auf diese Struktur als Eingabeparameter für die EvtDriverDeviceAdd Rückruffunktion des Treibers.
Rückgabewert
SerCx2InitializeDeviceInit 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 DeviceInit Parameter ist NULL. |
|
Unzureichende Ressourcen sind verfügbar, um den angeforderten Vorgang auszuführen. |
Bemerkungen
Der serielle Controllertreiber muss diese Methode aus seiner EvtDriverDeviceAdd Rückruffunktion aufrufen, bevor ein WDFDEVICE-Objekt für den seriellen Controller erstellt wird.
SerCx2InitializeDeviceInit fügt erweiterungsspezifische Informationen an die WDFDEVICE_INIT Struktur des Treibers an. Mit diesen Informationen kann SerCx2 bestimmte Aktionen im Namen des seriellen Controllertreibers ausführen. Beispielsweise empfängt SerCx2 E/A-Anforderungen, die Clients an den seriellen Controller senden.
Der serielle Controllertreiber muss SerCx2InitializeDeviceInit aufrufen, bevor ein Framework-Geräteobjekt erstellt wird, das den seriellen Controller darstellt, und bevor die SerCx2InitializeDevice- Methode aufgerufen wird, um die Initialisierung des Geräteobjekts abzuschließen. Der Treiber ruft eine Methode wie WdfDeviceCreate auf, um das Geräteobjekt zu erstellen.
SerCx2InitializeDeviceInit legt einen Standardsicherheitsdeskriptor fest, mit dem sowohl Kernelmodustreiber als auch Benutzermodustreiber E/A-Anforderungen an SerCx2 senden können. Mit dem Deskriptor können Anwendungen diese Anforderungen nur senden, wenn sie mit Administratorrechten ausgeführt werden. Um diesen Deskriptor anzugeben, verwendet SerCx2 die folgende SDDL-Zeichenfolge:
"D:P(A;;GA;;;SY)(A;;GA;;;BA)(A;;GA;;;UD)"
Bei Bedarf kann der serielle Controllertreiber die Standardeinstellung überschreiben, indem die WdfDeviceInitAssignSDDLString Methode mit dem gewünschten Sicherheitsdeskriptor aufgerufen wird. Der Treiber muss WdfDeviceInitAssignSDDLString aufrufen, nachdem SerCx2InitializeDeviceInit aufgerufen wurde, aber bevor WdfDeviceCreateaufgerufen wird. Weitere Informationen zu SDDL-Zeichenfolgen finden Sie unter SDDL für Device Objects.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar ab Windows 8.1. |
Zielplattform- | Universal |
Header- | sercx.h |
IRQL- | PASSIVE_LEVEL |