Partilhar via


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 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

O 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 em formato auto-relativo.

Valor de retorno

Código de retorno Descrição
STATUS_SUCCESS
A chamada para SeQuerySecurityDescriptorInfo 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.

Observações

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 que ele contém, em vez de conter as informações em si. Um descritor de segurança em formato auto-relativo contém as informações em um bloco contíguo de memória. Em um descritor de segurança auto-relativo, uma estrutura de 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 descritor de segurança deve ser armazenado em um disco ou transmitido 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 digitar 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
da Plataforma de Destino Universal
cabeçalho ntifs.h (inclua Ntifs.h)
biblioteca NtosKrnl.lib
de DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Consulte também

acl

RtlAbsoluteToSelfRelativeSD

rtlCreateSecurityDescriptor

RtlCreateSecurityDescriptorRelative

rtlGetOwnerSecurityDescriptor

rtlLengthSecurityDescriptor

rtlSetDaclSecurityDescriptor

rtlSetOwnerSecurityDescriptor

rtlValidSecurityDescriptor

SECURITY_DESCRIPTOR