Partager via


WdfDeviceInitAssignSDLString, fonction (wdfdevice.h)

[S’applique uniquement à KMDF]

La méthode WdfDeviceInitAssignSDDLString affecte un paramètre de sécurité pour un appareil.

Syntaxe

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

Paramètres

[in] DeviceInit

Pointeur vers une structure WDFDEVICE_INIT.

[in, optional] SDDLString

Pointeur vers une structure UNICODE_STRING qui décrit une chaîne Unicode. Cette chaîne est une représentation SDDL d’un descripteur de sécurité.

Valeur de retour

Si l’opération réussit, WdfDeviceInitAssignSDLString retourne STATUS_SUCCESS. Les valeurs de retour supplémentaires sont les suivantes :

Retourner le code Description
STATUS_INSUFFICIENT_RESOURCES
Le système ne peut pas allouer d’espace pour stocker le nom de l’appareil.

Remarques

Votre pilote peut spécifier un paramètre de sécurité à l’aide d’un sous-ensemble du langage SDDL (Security Descriptor Definition Language). Le fichier Wdmsec.h définit un ensemble de constantes au format SDDL_DEVOBJ_XXX que vous pouvez utiliser. Pour plus d’informations sur les descripteurs de sécurité et SDDL, consultez sécurisation des objets d’appareil.

Les administrateurs système peuvent remplacer le descripteur de sécurité spécifié en ajoutant un descripteur de sécurité au Registre. Pour plus d’informations, consultez IoCreateDeviceSecure.

Avant d’appeler WdfDeviceInitAssignSDLString, votre pilote doit appeler WdfDeviceInitAssignName, ou il doit appeler WdfDeviceInitSetCharacteristics et spécifier FILE_AUTOGENERATED_DEVICE_NAME, car vous ne pouvez pas fournir de descripteur de sécurité pour un objet d’appareil non nommé.

Si le pilote appelle WdfDeviceInitAssignSDDLString, il doit le faire avant d’appeler WdfDeviceCreate. Pour plus d’informations sur l’appel WdfDeviceCreate, consultez Création d’un objet d’appareil Framework.

Pour plus d’informations sur les problèmes de sécurité, consultez Problèmes de sécurité pour les pilotes Framework-Based.

Si vous écrivez un pilote UMDF, vous devez modifier le fichier INF de votre pilote pour fournir un descripteur de sécurité approprié pour la pile. Pour plus d’informations, consultez sécurisation des objets d’appareil. Pour plus d’informations sur l’utilisation du Registre, consultez Définition des propriétés du Registre d’objets d’appareil lors de l’installation.

Exemples

L’exemple de code suivant affecte un paramètre de sécurité pour un appareil.

NTSTATUS status;

status = WdfDeviceInitAssignSDDLString(
                                       pDeviceInit,
                                       &SDDL_DEVOBJ_SYS_ALL_ADM_ALL
                                       );

Exigences

Exigence Valeur
plateforme cible Universel
version minimale de KMDF 1.0
d’en-tête wdfdevice.h (include Wdf.h)
bibliothèque Wdf01000.sys (voir Versioning de la bibliothèque Framework.)
IRQL PASSIVE_LEVEL
règles de 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)