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 zuordnen, um den Gerätenamen zu speichern.

Bemerkungen

Ihr Treiber kann eine Sicherheitseinstellung mithilfe einer Teilmenge der Security Descriptor Definition Language (SDDL) angeben. Die Datei "Wdmsec.h" definiert eine Reihe von SDDL_DEVOBJ_XXX formatierten Konstanten, die Sie verwenden können. Weitere Informationen zu Sicherheitsdeskriptoren und SDDL finden Sie unter Sichern 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 Aufrufen WdfDeviceInitAssignSDDLStringmuss ihr Treiber WdfDeviceInitAssignNameaufrufen, oder er muss WdfDeviceInitSetCharacteristics aufrufen und FILE_AUTOGENERATED_DEVICE_NAME angeben, da Sie keinen Sicherheitsdeskriptor für ein nicht benanntes Geräteobjekt bereitstellen können.

Wenn der Treiber WdfDeviceInitAssignSDDLStringaufruft, muss er dies tun, bevor er WdfDeviceCreateaufruft. Weitere Informationen zum Aufrufen WdfDeviceCreatefinden Sie unter Creating a Framework Device Object.

Weitere Informationen zu Sicherheitsproblemen finden Sie unter Sicherheitsprobleme für Framework-Based Drivers.

Wenn Sie einen UMDF-Treiber schreiben, müssen Sie die INF-Datei Des 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 von Geräteobjektregistrierungseigenschaften 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- Universal
Minimale KMDF-Version 1.0
Header- wdfdevice.h (einschließen Wdf.h)
Library Wdf01000.sys (siehe Framework-Bibliotheksversionsverwaltung.)
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)