IADsSecurityUtility::SetSecurityDescriptor-Methode (iads.h)
Die SetSecurityDescriptor-Methode legt den Sicherheitsdeskriptor für die angegebene Datei, Dateifreigabe oder den angegebenen Registrierungsschlüssel fest.
Syntax
HRESULT SetSecurityDescriptor(
[in] VARIANT varPath,
[in] long lPathFormat,
[in] VARIANT varData,
[in] long lDataFormat
);
Parameter
[in] varPath
Eine VARIANT-Zeichenfolge , die den Pfad des Objekts enthält, für das der Sicherheitsdeskriptor festgelegt werden soll. Mögliche Werte sind in der folgenden Liste aufgeführt.
Datei
Eine gültige Dateipfadsyntax. Beispiel: "c:\specs\public\adxml.doc" oder "\adsi\public\dsclient.exe".
Dateifreigabe
Eine gültige Dateipfadsyntax für eine Dateifreigabe. Beispiel: "\adsi\public".
Registrierungsschlüssel
Eine gültige Registrierungssyntax. Beispiel: "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADs".
[in] lPathFormat
Enthält einen der ADS_PATHTYPE_ENUM-Werte , der das Format des varPath-Parameters angibt.
[in] varData
Ein VARIANT-Wert , der den neuen Sicherheitsdeskriptor enthält. Das Format des Sicherheitsdeskriptors wird durch den lDataFormat-Parameter angegeben.
[in] lDataFormat
Enthält einen der ADS_SD_FORMAT_ENUM-Werte , der das Format des Sicherheitsdeskriptors angibt, der im VarData-Parameter enthalten ist. In der folgenden Liste werden die möglichen Werte für diesen Parameter und das Format des VarData-Parameters angegeben.
Rückgabewert
Gibt S_OK zurück, wenn erfolgreich oder andernfalls ein COM- oder Win32-Fehlercode. Mögliche Fehlercodes sind in der folgenden Liste aufgeführt.
Hinweise
Zugriffssteuerungseinträge müssen in der Zugriffssteuerungsliste eines Sicherheitsdeskriptors in der folgenden Reihenfolge angezeigt werden:
- Zugriffsverweigerungs-ACEs, die für das Objekt selbst gelten
- Zugriffsverweigerungs-ACEs, die für ein untergeordnetes Objekt gelten, z. B. einen Eigenschaftensatz oder eine Eigenschaft
- Zugriffsberechtigungs-ACEs, die für das Objekt selbst gelten
- Zugriffsberechtigungs-ACEs, die für ein untergeordnetes Objekt gelten, z. B. einen Eigenschaftssatz oder eine Eigenschaft
- Alle geerbten ACEs
Beispiele
Im folgenden Codebeispiel wird gezeigt, wie ein Sicherheitsdeskriptor für eine Datei festgelegt wird.
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
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista |
Unterstützte Mindestversion (Server) | Windows Server 2008 |
Zielplattform | Windows |
Kopfzeile | iads.h |
DLL | Activeds.dll |