Condividi tramite


Funzione WdfDeviceInitAssignSDDLString (wdfdevice.h)

[Si applica solo a KMDF]

Il metodo WdfDeviceInitAssignSDDLString assegna un'impostazione di sicurezza per un dispositivo.

Sintassi

NTSTATUS WdfDeviceInitAssignSDDLString(
  [in]           PWDFDEVICE_INIT  DeviceInit,
  [in, optional] PCUNICODE_STRING SDDLString
);

Parametri

[in] DeviceInit

Puntatore a una struttura WDFDEVICE_INIT .

[in, optional] SDDLString

Puntatore a una struttura UNICODE_STRING che descrive una stringa Unicode. Questa stringa è una rappresentazione SDDL di un descrittore di sicurezza.

Valore restituito

Se l'operazione ha esito positivo, WdfDeviceInitAssignSDDLString restituisce STATUS_SUCCESS. I valori restituiti aggiuntivi includono:

Codice restituito Descrizione
STATUS_INSUFFICIENT_RESOURCES
Il sistema non può allocare spazio per archiviare il nome del dispositivo.

Commenti

Il driver può specificare un'impostazione di sicurezza usando un subset di SDDL (Security Descriptor Definition Language). Il file Wdmsec.h definisce un set di costanti formattate SDDL_DEVOBJ_XXX che è possibile usare. Per altre informazioni sui descrittori di sicurezza e SDDL, vedere Protezione degli oggetti dispositivo.

Gli amministratori di sistema possono eseguire l'override del descrittore di sicurezza specificato aggiungendo un descrittore di sicurezza al Registro di sistema. Per altre informazioni, vedere IoCreateDeviceSecure.

Prima di chiamare WdfDeviceInitAssignSDDLString, il driver deve chiamare WdfDeviceInitAssignName oppure deve chiamare WdfDeviceInitSetCharacteristics e specificare FILE_AUTOGENERATED_DEVICE_NAME, perché non è possibile fornire un descrittore di sicurezza per un oggetto dispositivo senza nome.

Se il driver chiama WdfDeviceInitAssignSDDLString, deve farlo prima di chiamare WdfDeviceCreate. Per altre informazioni sulla chiamata a WdfDeviceCreate, vedere Creazione di un oggetto dispositivo framework.

Per altre informazioni sui problemi di sicurezza, vedere Problemi di sicurezza per i driver di Framework-Based.

Se si scrive un driver UMDF, è necessario modificare il file INF del driver per fornire un descrittore di sicurezza appropriato per lo stack. Per altre informazioni, vedere Protezione degli oggetti dispositivo. Per altre informazioni sull'uso del Registro di sistema, vedere Impostazione delle proprietà del Registro oggetti dispositivo durante l'installazione.

Esempio

Nell'esempio di codice seguente viene assegnata un'impostazione di sicurezza per un dispositivo.

NTSTATUS status;

status = WdfDeviceInitAssignSDDLString(
                                       pDeviceInit,
                                       &SDDL_DEVOBJ_SYS_ALL_ADM_ALL
                                       );

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Versione KMDF minima 1.0
Intestazione wdfdevice.h (include Wdf.h)
Libreria Wdf01000.sys (vedere Controllo delle versioni della libreria framework).
IRQL PASSIVE_LEVEL
Regole di conformità DDI ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf)