Condividi tramite


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

Vedi anche

ADS_PATHTYPE_ENUM

ADS_SD_FORMAT_ENUM

ConvertSecurityDescriptor

IADsSecurityDescriptor

IADsSecurityUtility