IADsSecurityUtility ::SetSecurityDescriptor, méthode (iads.h)
La méthode SetSecurityDescriptor définit le descripteur de sécurité pour le fichier, le partage de fichiers ou la clé de Registre spécifié.
Syntaxe
HRESULT SetSecurityDescriptor(
[in] VARIANT varPath,
[in] long lPathFormat,
[in] VARIANT varData,
[in] long lDataFormat
);
Paramètres
[in] varPath
Chaîne VARIANT qui contient le chemin d’accès de l’objet pour lequel définir le descripteur de sécurité. Les valeurs possibles sont répertoriées dans la liste suivante.
Fichier
Syntaxe de chemin d’accès de fichier valide. Par exemple : « c:\specs\public\adxml.doc » ou « \adsi\public\dsclient.exe ».
Partage de fichiers
Syntaxe de chemin de fichier valide pour un partage de fichiers. Par exemple : « \adsi\public ».
Clé de Registre
Syntaxe de Registre valide. Par exemple, « HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADs ».
[in] lPathFormat
Contient l’une des valeurs ADS_PATHTYPE_ENUM qui spécifie le format du paramètre varPath .
[in] varData
VARIANT qui contient le nouveau descripteur de sécurité. Le format du descripteur de sécurité est spécifié par le paramètre lDataFormat .
[in] lDataFormat
Contient l’une des valeurs ADS_SD_FORMAT_ENUM qui spécifie le format du descripteur de sécurité contenu dans le paramètre VarData . La liste suivante identifie les valeurs possibles pour ce paramètre et le format du paramètre VarData .
Valeur retournée
Retourne S_OK en cas de réussite ou un code d’erreur COM ou Win32 dans le cas contraire. Les codes d’erreur possibles sont répertoriés dans la liste suivante.
Remarques
Les entrées de contrôle d’accès doivent apparaître dans l’ordre suivant dans la liste de contrôle d’accès d’un descripteur de sécurité :
- ACL avec accès refusé qui s’appliquent à l’objet lui-même
- ACL avec accès refusé qui s’appliquent à un enfant de l’objet, comme un jeu de propriétés ou une propriété
- ACL autorisés par accès qui s’appliquent à l’objet lui-même
- ACL autorisées par accès qui s’appliquent à un enfant de l’objet, comme un jeu de propriétés ou une propriété
- Toutes les ACL héritées
Exemples
L’exemple de code suivant montre comment définir un descripteur de sécurité pour un fichier.
Dim dacl as IADsAccessControlList
Dim sd as IADsSecurityDescriptor
Dim newAce as New AccessControlEntry
Dim sdUtil as New ADsSecurityUtility
Set sd = sdUtil.GetSecurityDescriptor("c:\specs\adsixml.doc", ADS_PATH_FILE, ADS_SD_FORMAT_IID )
Set dacl = sd.DiscretionaryAcl
' Add a new ACE for Jeff Smith.
newAce.Trustee = "Fabrikam\jeffsmith"
newAce.AccessMask = ADS_RIGHT_GENERIC_READ Or ADS_RIGHT_GENERIC_EXECUTE
newAce.AceType = ADS_ACETYPE_ACCESS_ALLOWED
dacl.AddAce newAce
sd.DiscretionaryAcl = dacl
sdUtil.SetSecurityDescriptor "c:\specs\adsixml.doc", ADS_PATH_FILE, sd, ADS_SD_FORMAT_IID
Cleanup:
If (Err.Number<>0) Then
MsgBox("An error has occurred. " & Err.Number)
End If
Set dacl = Nothing
Set sd = Nothing
Set newAce = Nothing
Set sdUtil = Nothing
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista |
Serveur minimal pris en charge | Windows Server 2008 |
Plateforme cible | Windows |
En-tête | iads.h |
DLL | Activeds.dll |