Compartir a través de


Función GetKernelObjectSecurity (securitybaseapi.h)

La función GetKernelObjectSecurity recupera una copia del descriptor de seguridad que protege un objeto kernel.

Sintaxis

BOOL GetKernelObjectSecurity(
  [in]            HANDLE               Handle,
  [in]            SECURITY_INFORMATION RequestedInformation,
  [out, optional] PSECURITY_DESCRIPTOR pSecurityDescriptor,
  [in]            DWORD                nLength,
  [out]           LPDWORD              lpnLengthNeeded
);

Parámetros

[in] Handle

Identificador de un objeto kernel.

[in] RequestedInformation

Especifica un valor de SECURITY_INFORMATION que identifica la información de seguridad que se solicita.

[out, optional] pSecurityDescriptor

Puntero a un búfer que la función rellena con una copia del descriptor de seguridad del objeto especificado. El proceso de llamada debe tener derecho a ver los aspectos especificados del estado de seguridad del objeto. La estructura SECURITY_DESCRIPTOR se devuelve en formato auto relativo .

[in] nLength

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

[out] lpnLengthNeeded

Puntero a una variable que recibe el número de bytes necesarios para el búfer al que apunta el parámetro pSecurityDescriptor . Si el valor de esta variable es mayor que el valor del parámetro nLength cuando se devuelve la función, no se copia ninguno del descriptor de seguridad 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

Para leer el propietario, el grupo o la DACL desde el descriptor de seguridad del objeto kernel, se debe haber concedido al proceso de llamada READ_CONTROL acceso cuando se abrió el identificador. Para obtener READ_CONTROL acceso, el autor de la llamada debe ser el propietario del objeto o la DACL del objeto debe conceder el acceso.

Para leer sacl desde el descriptor de seguridad, se debe haber concedido al proceso de llamada ACCESS_SYSTEM_SECURITY acceso cuando se abrió el identificador. La manera adecuada de obtener este acceso es habilitar el privilegio SE_SECURITY_NAME en el token actual del autor de la llamada, abrir el identificador para ACCESS_SYSTEM_SECURITY acceso y, a continuación, deshabilitar el privilegio.

Requisitos

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

Consulte también

GetFileSecurity

GetPrivateObjectSecurity

GetUserObjectSecurity

Access Control de bajo nivel

Funciones de Access Control de bajo nivel

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

SetKernelObjectSecurity