Función GetPrivateObjectSecurity (securitybaseapi.h)

La función GetPrivateObjectSecurity recupera información del descriptor de seguridad de un objeto privado.

Sintaxis

BOOL GetPrivateObjectSecurity(
  [in]            PSECURITY_DESCRIPTOR ObjectDescriptor,
  [in]            SECURITY_INFORMATION SecurityInformation,
  [out, optional] PSECURITY_DESCRIPTOR ResultantDescriptor,
  [in]            DWORD                DescriptorLength,
  [out]           PDWORD               ReturnLength
);

Parámetros

[in] ObjectDescriptor

Puntero a una estructura de SECURITY_DESCRIPTOR . Este es el descriptor de seguridad que se va a consultar.

[in] SecurityInformation

Conjunto de marcas de bits que indican las partes del descriptor de seguridad que se van a recuperar. Este parámetro puede ser una combinación de las marcas de bits de SECURITY_INFORMATION .

[out, optional] ResultantDescriptor

Puntero a un búfer que recibe una copia de la información solicitada del descriptor de seguridad especificado. La estructura SECURITY_DESCRIPTOR se devuelve en formato relativo propio .

[in] DescriptorLength

Especifica el tamaño, en bytes, del búfer al que apunta el parámetro ResultantDescriptor .

[out] ReturnLength

Puntero a una variable que la función establece en cero si el descriptor se copia correctamente. Si el búfer es demasiado pequeño para el descriptor de seguridad, esta variable recibe el número de bytes necesarios. Si el valor de esta variable es mayor que el valor del parámetro DescriptorLength cuando la función devuelve, la función devuelve FALSE y ninguno del descriptor de seguridad se copia en el búfer.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.

Comentarios

Esta función está pensada solo para que la usen los administradores de recursos. Para implementar la semántica de control de acceso estándar para actualizar los descriptores de seguridad, un administrador de recursos debe comprobar que se cumplen las condiciones siguientes antes de llamar a GetPrivateObjectSecurity:

  • Si se establece el propietario del objeto, el proceso de llamada debe tener WRITE_OWNER permiso o ser el propietario del objeto.
  • Si se establece la lista de control de acceso discrecional del objeto, el proceso de llamada debe tener WRITE_DAC permiso o ser el propietario del objeto.
  • Si se establece la lista de control de acceso del sistema del objeto, se debe habilitar el privilegio SE_SECURITY_NAME para el proceso de llamada.
Si no se cumplen las condiciones anteriores, no se produce un error en una llamada a esta función, pero no se aplica la directiva de acceso estándar.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado securitybaseapi.h (incluya Windows.h)
Library Advapi32.lib
Archivo DLL Advapi32.dll

Consulte también

Funciones de cliente/servidor Access Control

Información general de Access Control de cliente/servidor

CreatePrivateObjectSecurity

DestroyPrivateObjectSecurity

GetFileSecurity

GetKernelObjectSecurity

GetUserObjectSecurity

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

SetPrivateObjectSecurity