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 |