Función SetNamedSecurityInfoA (aclapi.h)
La función SetNamedSecurityInfo establece la información de seguridad especificada en el descriptor de seguridad de un objeto especificado. El autor de la llamada identifica el objeto por nombre.
Sintaxis
DWORD SetNamedSecurityInfoA(
[in] LPSTR pObjectName,
[in] SE_OBJECT_TYPE ObjectType,
[in] SECURITY_INFORMATION SecurityInfo,
[in, optional] PSID psidOwner,
[in, optional] PSID psidGroup,
[in, optional] PACL pDacl,
[in, optional] PACL pSacl
);
Parámetros
[in] pObjectName
Puntero a un cadena terminada en nullque especifica el nombre del objeto para el que se va a establecer la información de seguridad. Puede ser el nombre de un archivo o directorio local o remoto en un sistema de archivos NTFS, recurso compartido de red, clave del Registro, semáforo, evento, exclusión mutua, asignación de archivos o temporizador de espera.
Para obtener descripciones de los formatos de cadena de los distintos tipos de objeto, vea SE_OBJECT_TYPE.
[in] ObjectType
Valor de la enumeración SE_OBJECT_TYPE que indica el tipo de objeto denominado por el parámetro pObjectName.
[in] SecurityInfo
Conjunto de marcas de bits que indican el tipo de información de seguridad que se va a establecer. Este parámetro puede ser una combinación de las marcas de bits SECURITY_INFORMATION.
[in, optional] psidOwner
Puntero a una estructura SID que identifica al propietario del objeto. Si el autor de la llamada no tiene la constante SeRestorePrivilege (consulte Constantes de privilegios), este siD debe estar contenido en el token del autor de la llamada y debe tener habilitado el permiso SE_GROUP_OWNER. El parámetro SecurityInfo debe incluir la marca OWNER_SECURITY_INFORMATION. Para establecer el propietario, el autor de la llamada debe tener WRITE_OWNER acceso al objeto o tener habilitado el privilegio SE_TAKE_OWNERSHIP_NAME. Si no establece el propietario SID, este parámetro puede ser NULL.
[in, optional] psidGroup
Puntero a un SID que identifica el grupo principal del objeto. El parámetro SecurityInfo debe incluir la marca GROUP_SECURITY_INFORMATION. Si no establece el SID del grupo principal, este parámetro puede ser NULL.
[in, optional] pDacl
Puntero a la nueva DACL para el objeto . El parámetro
[in, optional] pSacl
Puntero al nuevo SACL para el objeto . El parámetro securityInfo de
Si establece SACL_SECURITY_INFORMATION o SCOPE_SECURITY_INFORMATION, el autor de la llamada debe tener habilitado el privilegio SE_SECURITY_NAME. Si no establece la SACL, este parámetro puede ser NULL.
Valor devuelto
Si la función se ejecuta correctamente, la función devuelve ERROR_SUCCESS.
Si se produce un error en la función, devuelve un código de error distinto de cero definido en WinError.h.
Observaciones
Si va a establecer el lista de control de acceso discrecional (DACL) o cualquier elemento de la lista de control de acceso del sistema de (SACL) de un objeto, el sistema propaga automáticamente las entradas de control de acceso heredables (ACE) a objetos secundarios existentes, según las reglas de de herencia.
Puede usar la función SetNamedSecurityInfo con los siguientes tipos de objetos:
- Archivos o directorios locales o remotos en un NTFS
- Impresoras locales o remotas
- Servicios locales o remotos de Windows
- Recursos compartidos de red
- Claves del Registro
- Semáforos, eventos, exclusión mutua y temporizadores de espera
- Objetos de asignación de archivos
- Objetos de servicio de directorio
Esta función transfiere información en texto no cifrado. La información transferida por esta función se firma a menos que se haya desactivado la firma para el sistema, pero no se realiza ningún cifrado.
Al actualizar los derechos de acceso de una carpeta indicada por una ruta de acceso UNC, por ejemplo \Test\TestFolder, se quita la ACE heredada original y no se incluye la ruta de acceso al volumen completa.
Ejemplos
Para obtener un ejemplo que use esta función, vea Modificar las ACL de un objeto o tomar propiedad de objeto.
Nota
El encabezado aclapi.h define SetNamedSecurityInfo como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows XP [aplicaciones de escritorio | Aplicaciones para UWP] |
servidor mínimo admitido | Windows Server 2003 [aplicaciones de escritorio | Aplicaciones para UWP] |
de la plataforma de destino de |
Windows |
encabezado de |
aclapi.h |
biblioteca de |
Advapi32.lib |
DLL de |
Advapi32.dll |
Consulte también
funciones básicas de control de acceso
GetNamedSecurityInfo de
setSecurityInfo de