Metodo IADsSecurityUtility::SetSecurityDescriptor (iads.h)
Il metodo SetSecurityDescriptor imposta il descrittore di sicurezza per il file, la condivisione file o la chiave del Registro di sistema specificata.
Sintassi
HRESULT SetSecurityDescriptor(
[in] VARIANT varPath,
[in] long lPathFormat,
[in] VARIANT varData,
[in] long lDataFormat
);
Parametri
[in] varPath
Stringa VARIANT contenente il percorso dell'oggetto per cui impostare il descrittore di sicurezza. I valori possibili sono elencati nell'elenco seguente.
File
Sintassi del percorso di file valida. Ad esempio: "c:\specs\public\adxml.doc" o "\adsi\public\dsclient.exe".
Condivisione file
Sintassi del percorso di file valida per una condivisione file. Ad esempio: "\adsi\public".
Chiave del Registro di sistema
Sintassi valida del Registro di sistema. Ad esempio, "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADs".
[in] lPathFormat
Contiene uno dei valori ADS_PATHTYPE_ENUM che specifica il formato del parametro varPath .
[in] varData
VALORE VARIANT che contiene il nuovo descrittore di sicurezza. Il formato del descrittore di sicurezza viene specificato dal parametro lDataFormat .
[in] lDataFormat
Contiene uno dei valori ADS_SD_FORMAT_ENUM che specifica il formato del descrittore di sicurezza contenuto nel parametro VarData . L'elenco seguente identifica i valori possibili per questo parametro e il formato del parametro VarData .
Valore restituito
Restituisce S_OK se ha esito positivo o se un codice di errore COM o Win32 in caso contrario. I codici di errore possibili sono elencati nell'elenco seguente.
Commenti
Le voci di controllo di accesso devono essere visualizzate nell'ordine seguente nell'elenco di controllo di accesso di un descrittore di sicurezza:
- ACL negati di accesso che si applicano all'oggetto stesso
- ACL negati dall'accesso che si applicano a un elemento figlio dell'oggetto, ad esempio un set di proprietà o una proprietà
- ACL consentiti per l'accesso che si applicano all'oggetto stesso
- ACL consentiti per l'accesso che si applicano a un elemento figlio dell'oggetto, ad esempio un set di proprietà o una proprietà
- Tutti gli ACL ereditati
Esempio
Nell'esempio di codice seguente viene illustrato come impostare un descrittore di sicurezza per un file.
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
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista |
Server minimo supportato | Windows Server 2008 |
Piattaforma di destinazione | Windows |
Intestazione | iads.h |
DLL | Activeds.dll |