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 |