Freigeben über


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