Share via


Método IADsSecurityUtility::SetSecurityDescriptor (iads.h)

El método SetSecurityDescriptor establece el descriptor de seguridad para el archivo, el recurso compartido de archivos o la clave del Registro especificados.

Sintaxis

HRESULT SetSecurityDescriptor(
  [in] VARIANT varPath,
  [in] long    lPathFormat,
  [in] VARIANT varData,
  [in] long    lDataFormat
);

Parámetros

[in] varPath

Cadena VARIANT que contiene la ruta de acceso del objeto para la que se va a establecer el descriptor de seguridad. Los valores posibles se muestran en la lista siguiente.

Archivo

Una sintaxis de ruta de acceso de archivo válida. Por ejemplo: "c:\specs\public\adxml.doc" o "\adsi\public\dsclient.exe".

Recurso compartido de archivos

Una sintaxis de ruta de acceso de archivo válida para un recurso compartido de archivos. Por ejemplo: "\adsi\public".

Clave del Registro

Sintaxis del Registro válida. Por ejemplo, "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADs".

[in] lPathFormat

Contiene uno de los valores de ADS_PATHTYPE_ENUM que especifica el formato del parámetro varPath .

[in] varData

Variant que contiene el nuevo descriptor de seguridad. El formato del descriptor de seguridad se especifica mediante el parámetro lDataFormat .

[in] lDataFormat

Contiene uno de los valores de ADS_SD_FORMAT_ENUM que especifica el formato del descriptor de seguridad contenido en el parámetro VarData . En la lista siguiente se identifican los valores posibles para este parámetro y el formato del parámetro VarData .

Valor devuelto

Devuelve S_OK si el código de error es CORRECTO o COM o Win32. Los códigos de error posibles se muestran en la lista siguiente.

Comentarios

Las entradas de control de acceso deben aparecer en el orden siguiente en la lista de control de acceso de un descriptor de seguridad:

  • ACE denegadas de acceso que se aplican al propio objeto
  • ACE denegadas de acceso que se aplican a un elemento secundario del objeto, como un conjunto de propiedades o una propiedad
  • ACE permitidas por acceso que se aplican al propio objeto
  • ACE permitidas para acceso que se aplican a un elemento secundario del objeto, como un conjunto de propiedades o una propiedad
  • Todas las ACE heredadas

Ejemplos

En el ejemplo de código siguiente se muestra cómo establecer un descriptor de seguridad para un archivo.

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

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado iads.h
Archivo DLL Activeds.dll

Consulte también

ADS_PATHTYPE_ENUM

ADS_SD_FORMAT_ENUM

ConvertSecurityDescriptor

IADsSecurityDescriptor

IADsSecurityUtility