Función GetNamedSecurityInfoA (aclapi.h)
La función getNamedSecurityInfo de
Sintaxis
DWORD GetNamedSecurityInfoA(
[in] LPCSTR pObjectName,
[in] SE_OBJECT_TYPE ObjectType,
[in] SECURITY_INFORMATION SecurityInfo,
[out, optional] PSID *ppsidOwner,
[out, optional] PSID *ppsidGroup,
[out, optional] PACL *ppDacl,
[out, optional] PACL *ppSacl,
[out, optional] PSECURITY_DESCRIPTOR *ppSecurityDescriptor
);
Parámetros
[in] pObjectName
Puntero a una cadena terminada en null que especifica el nombre del objeto desde el que se va a recuperar la información de seguridad. Para obtener descripciones de los formatos de cadena de los distintos tipos de objeto, vea SE_OBJECT_TYPE.
[in] ObjectType
Especifica un 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 recuperar. Este parámetro puede ser una combinación de las marcas de bits SECURITY_INFORMATION.
[out, optional] ppsidOwner
Puntero a una variable que recibe un puntero al SID del propietario en el descriptor de seguridad de devuelto en ppSecurityDescriptor o NULL si el descriptor de seguridad no tiene ningún SID de propietario. El puntero devuelto solo es válido si establece la marca OWNER_SECURITY_INFORMATION. Además, este parámetro puede ser NULL si no necesita el SID del propietario.
[out, optional] ppsidGroup
Puntero a una variable que recibe un puntero al SID del grupo principal en el descriptor de seguridad devuelto o NULL si el descriptor de seguridad no tiene ningún SID de grupo. El puntero devuelto solo es válido si establece la marca GROUP_SECURITY_INFORMATION. Además, este parámetro puede ser NULL si no necesita el SID de grupo.
[out, optional] ppDacl
Puntero a una variable que recibe un puntero a la DACL en el descriptor de seguridad devuelto o NULL si el descriptor de seguridad no tiene DACL. El puntero devuelto solo es válido si establece la marca DACL_SECURITY_INFORMATION. Además, este parámetro puede ser NULL si no necesita la DACL.
[out, optional] ppSacl
Puntero a una variable que recibe un puntero al SACL en el descriptor de seguridad devuelto o NULL si el descriptor de seguridad no tiene SACL. El puntero devuelto solo es válido si establece la marca SACL_SECURITY_INFORMATION. Además, este parámetro puede ser NULL si no necesita sacl.
[out, optional] ppSecurityDescriptor
Puntero a una variable que recibe un puntero al descriptor de seguridad del objeto. Cuando haya terminado de usar el puntero, libere el búfer devuelto llamando a la función LocalFree
Este parámetro es necesario si alguno de los ppsidOwner, ppsidGroup, ppDaclo parámetros ppSacl no es NULL.
Valor devuelto
Si la función se ejecuta correctamente, se ERROR_SUCCESS el valor devuelto.
Si se produce un error en la función, el valor devuelto es un código de error distinto de cero definido en WinError.h.
Observaciones
Si alguno de los ppsidOwner, ppsidGroup, ppDaclo parámetros ppSacl no sonNULLy el parámetro SecurityInfo especifica que se recuperan del objeto , esos parámetros apuntarán a los parámetros correspondientes del descriptor de seguridad devueltos en ppSecurityDescriptor. Si el descriptor de seguridad no contiene la información solicitada, el parámetro correspondiente se establecerá en NULL.
Para leer el propietario, grupo o DACL del descriptor de seguridad del objeto, la DACL del objeto debe conceder READ_CONTROL acceso al autor de la llamada o el autor de la llamada debe ser el propietario del objeto.
Para leer la lista de control de acceso del sistema del objeto, el privilegio SE_SECURITY_NAME debe estar habilitado para el proceso de llamada. Para obtener información sobre las implicaciones de seguridad de habilitar privilegios, consulte Ejecución con privilegios especiales.
Puede usar la función GetNamedSecurityInfo con los siguientes tipos de objetos:
- Archivos o directorios locales o remotos en un sistema de archivos 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.
Para obtener más información sobre cómo controlar el acceso a objetos a través de cuentas de usuario, cuentas de grupo o sesiones de inicio de sesión, vea Cómo controlan los DACL el acceso a un objeto.
Ejemplos
Para obtener un ejemplo que usa GetNamedSecurityInfo, vea Modificar las ACL de un objeto.
Nota
El encabezado aclapi.h define GetNamedSecurityInfo 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
setSecurityInfo de