WdfDeviceInitAssignSDDLString-Funktion (wdfdevice.h)
[Gilt nur für KMDF]
Die WdfDeviceInitAssignSDDLString-Methode weist eine Sicherheitseinstellung für ein Gerät zu.
Syntax
NTSTATUS WdfDeviceInitAssignSDDLString(
[in] PWDFDEVICE_INIT DeviceInit,
[in, optional] PCUNICODE_STRING SDDLString
);
Parameter
[in] DeviceInit
Ein Zeiger auf eine WDFDEVICE_INIT-Struktur .
[in, optional] SDDLString
Ein Zeiger auf eine UNICODE_STRING-Struktur , die eine Unicode-Zeichenfolge beschreibt. Diese Zeichenfolge ist eine SDDL-Darstellung eines Sicherheitsdeskriptors.
Rückgabewert
Wenn der Vorgang erfolgreich ist, gibt WdfDeviceInitAssignSDDLString STATUS_SUCCESS zurück. Weitere Rückgabewerte sind:
Rückgabecode | Beschreibung |
---|---|
|
Das System kann keinen Speicherplatz zum Speichern des Gerätenamens zuweisen. |
Hinweise
Ihr Treiber kann eine Sicherheitseinstellung mithilfe einer Teilmenge von Security Descriptor Definition Language (SDDL) angeben. Die Datei Wdmsec.h definiert einen Satz von SDDL_DEVOBJ_XXX formatierten Konstanten, die Sie verwenden können. Weitere Informationen zu Sicherheitsbeschreibungen und SDDL finden Sie unter Schützen von Geräteobjekten.
Systemadministratoren können den angegebenen Sicherheitsdeskriptor überschreiben, indem sie der Registrierung einen Sicherheitsdeskriptor hinzufügen. Weitere Informationen finden Sie unter IoCreateDeviceSecure.
Vor dem Aufruf von WdfDeviceInitAssignSDDLString muss Ihr Treiber WdfDeviceInitAssignName aufrufen oder WdfDeviceInitSetCharacteristics aufrufen und FILE_AUTOGENERATED_DEVICE_NAME angeben, da Sie keinen Sicherheitsdeskriptor für ein unbenannte Geräteobjekt bereitstellen können.
Wenn der Treiber WdfDeviceInitAssignSDDLString aufruft, muss er dies tun, bevor er WdfDeviceCreate aufruft. Weitere Informationen zum Aufrufen von WdfDeviceCreate finden Sie unter Erstellen eines Framework-Geräteobjekts.
Weitere Informationen zu Sicherheitsproblemen finden Sie unter Sicherheitsprobleme für Framework-Based Treiber.
Wenn Sie einen UMDF-Treiber schreiben, müssen Sie die INF-Datei Ihres Treibers ändern, um einen geeigneten Sicherheitsdeskriptor für den Stapel bereitzustellen. Weitere Informationen finden Sie unter Sichern von Geräteobjekten. Weitere Informationen zur Verwendung der Registrierung finden Sie unter Festlegen der Eigenschaften der Geräteobjektregistrierung während der Installation.
Beispiele
Im folgenden Codebeispiel wird eine Sicherheitseinstellung für ein Gerät zugewiesen.
NTSTATUS status;
status = WdfDeviceInitAssignSDDLString(
pDeviceInit,
&SDDL_DEVOBJ_SYS_ALL_ADM_ALL
);
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
KMDF-Mindestversion | 1.0 |
Kopfzeile | wdfdevice.h (einschließen von Wdf.h) |
Bibliothek | Wdf01000.sys (siehe Versionsverwaltung der Frameworkbibliothek).) |
IRQL | PASSIVE_LEVEL |
DDI-Complianceregeln | ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf) |