Função SeQuerySecurityDescriptorInfo (ntifs.h)

A rotina SeQuerySecurityDescriptorInfo recupera uma cópia do descritor de segurança de um objeto.

Sintaxe

NTSTATUS SeQuerySecurityDescriptorInfo(
  [in]      PSECURITY_INFORMATION SecurityInformation,
  [out]     PSECURITY_DESCRIPTOR  SecurityDescriptor,
  [in, out] PULONG                Length,
  [in, out] PSECURITY_DESCRIPTOR  *ObjectsSecurityDescriptor
);

Parâmetros

[in] SecurityInformation

Ponteiro para um valor de SECURITY_INFORMATION especificando quais informações de segurança estão sendo consultadas.

Valor Significado
DACL_SECURITY_INFORMATION Indica que a DACL (lista de controle de acesso discricionário) do objeto está sendo consultada. Requer acesso READ_CONTROL.
GROUP_SECURITY_INFORMATION Indica que o identificador de grupo primário do objeto está sendo consultado. Requer acesso READ_CONTROL.
OWNER_SECURITY_INFORMATION Indica que o identificador do proprietário do objeto está sendo consultado. Requer acesso READ_CONTROL.
SACL_SECURITY_INFORMATION Indica que a ACL do sistema (SACL) do objeto está sendo consultada. Requer acesso ACCESS_SYSTEM_SECURITY.

[out] SecurityDescriptor

Buffer de usuário alocado pelo chamador que SeQuerySecurityDescriptorInfo preenche com uma cópia do descritor de segurança especificado no formato auto-relativo.

[in, out] Length

Ponteiro para uma variável que especifica o tamanho, em bytes, do buffer apontado por SecurityDescriptor. Após o retorno, SeQuerySecurityDescriptorInfo define essa variável como o número de bytes necessários para armazenar as informações solicitadas.

[in, out] ObjectsSecurityDescriptor

Ponteiro para um ponteiro para o descritor de segurança de um objeto. O descritor de segurança deve estar no formato auto-relativo.

Retornar valor

Código de retorno Descrição
STATUS_SUCCESS
A chamada para SeQuerySecurityDescriptorInfo foi bem-sucedida.
STATUS_BUFFER_TOO_SMALL
O buffer é muito pequeno para o descritor de segurança. Nenhuma das informações de segurança foi copiada para o buffer.

Comentários

Um descritor de segurança pode estar em formato absoluto ou auto-relativo. Um descritor de segurança em formato absoluto contém ponteiros para as informações presentes nele em vez das informações em si. Um descritor de segurança em formato autorrelativo contém as informações em um bloco de memória contíguo. Em um descritor de segurança auto-relativo, uma estrutura SECURITY_DESCRIPTOR sempre inicia as informações, mas os outros componentes do descritor de segurança podem seguir a estrutura SECURITY_DESCRIPTOR em qualquer ordem. Em vez de usar endereços de memória, os componentes do descritor de segurança são identificados por deslocamentos desde o início do descritor de segurança. Esse formato é útil quando um for preciso armazenar um descritor de segurança em um disco ou transmiti-lo por meio de um protocolo de comunicação.

Como o descritor de segurança é retornado em formato auto-relativo, o chamador de SeQuerySecurityDescriptorInfo deve converter o valor retornado no parâmetro SecurityDescriptor para o tipo PISECURITY_DESCRIPTOR_RELATIVE.

Para obter mais informações sobre segurança e controle de acesso, consulte Modelo de segurança do Windows para desenvolvedores de driver e a documentação sobre esses tópicos no SDK do Windows.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho ntifs.h (inclua Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Confira também

ACL

RtlAbsoluteToSelfRelativeSD

RtlCreateSecurityDescriptor

RtlCreateSecurityDescriptorRelative

RtlGetOwnerSecurityDescriptor

RtlLengthSecurityDescriptor

RtlSetDaclSecurityDescriptor

RtlSetOwnerSecurityDescriptor

RtlValidSecurityDescriptor

SECURITY_DESCRIPTOR