Função GetKernelObjectSecurity (securitybaseapi.h)

A função GetKernelObjectSecurity recupera uma cópia do descritor de segurança que protege um objeto kernel.

Sintaxe

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

Parâmetros

[in] Handle

Um identificador para um objeto kernel.

[in] RequestedInformation

Especifica um valor SECURITY_INFORMATION que identifica as informações de segurança que estão sendo solicitadas.

[out, optional] pSecurityDescriptor

Um ponteiro para um buffer que a função preenche com uma cópia do descritor de segurança do objeto especificado. O processo de chamada deve ter o direito de exibir os aspectos especificados do status de segurança do objeto. A estrutura SECURITY_DESCRIPTOR é retornada no formato auto-relativo .

[in] nLength

Especifica o tamanho, em bytes, do buffer apontado pelo parâmetro pSecurityDescriptor .

[out] lpnLengthNeeded

Um ponteiro para uma variável que recebe o número de bytes necessários para o buffer apontado pelo parâmetro pSecurityDescriptor . Se o valor dessa variável for maior que o valor do parâmetro nLength quando a função retornar, nenhum descritor de segurança será copiado para o buffer.

Valor retornado

Se a função for bem-sucedida, o valor retornado será diferente de zero.

Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.

Comentários

Para ler o proprietário, o grupo ou a DACL do descritor de segurança do objeto kernel, o processo de chamada deve ter sido concedido READ_CONTROL acesso quando o identificador foi aberto. Para obter READ_CONTROL acesso, o chamador deve ser o proprietário do objeto ou a DACL do objeto deve conceder o acesso.

Para ler o SACL do descritor de segurança, o processo de chamada deve ter sido concedido ACCESS_SYSTEM_SECURITY acesso quando o identificador foi aberto. A maneira adequada de obter esse acesso é habilitar o privilégio SE_SECURITY_NAME no token atual do chamador, abrir o identificador para acesso ACCESS_SYSTEM_SECURITY e, em seguida, desabilitar o privilégio.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [aplicativos da área de trabalho | aplicativos UWP]
Servidor mínimo com suporte Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho securitybaseapi.h (inclua Windows.h)
Biblioteca Advapi32.lib
DLL Advapi32.dll

Confira também

GetFileSecurity

GetPrivateObjectSecurity

GetUserObjectSecurity

Controle de Acesso de baixo nível

Funções de Controle de Acesso de baixo nível

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

SetKernelObjectSecurity