Compartilhar via


Função FltBuildDefaultSecurityDescriptor (fltkernel.h)

FltBuildDefaultSecurityDescriptor cria um descritor de segurança padrão para uso com FltCreateCommunicationPort.

Sintaxe

NTSTATUS FLTAPI FltBuildDefaultSecurityDescriptor(
  [out] PSECURITY_DESCRIPTOR *SecurityDescriptor,
  [in]  ACCESS_MASK          DesiredAccess
);

Parâmetros

[out] SecurityDescriptor

Ponteiro para uma variável alocada pelo chamador que recebe um ponteiro opaco para o SECURITY_DESCRIPTOR recém-criado.

[in] DesiredAccess

Máscara de bits de sinalizadores que especificam o tipo de acesso que o chamador requer para o objeto de porta. O conjunto de sinalizadores DesiredAccess definidos pelo sistema determina os direitos de acesso específicos a seguir para objetos de porta de comunicação do driver de minifiltro.

Sinalizadores DesiredAccess Significado
FLT_PORT_CONNECT O chamador pode se conectar à porta.
FLT_PORT_ALL_ACCESS FLT_PORT_CONNECT | STANDARD_RIGHTS_ALL

Retornar valor

FltBuildDefaultSecurityDescriptor retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado, como um dos seguintes:

Código de retorno Descrição
STATUS_INSUFFICIENT_RESOURCES
FltBuildDefaultSecurityDescriptor encontrou uma falha de alocação de pool. Este é um código de erro.

Comentários

Ao criar uma porta de comunicação do driver de minifiltro, um driver de minifiltro pode chamar FltBuildDefaultSecurityDescriptor para criar um descritor de segurança padrão para a porta. Em seguida, o driver de minifiltro cria a porta chamando InitializeObjectAttributes e FltCreateCommunicationPort. O descritor de segurança é passado como um parâmetro para InitializeObjectAttributes.

FltBuildDefaultSecurityDescriptor faz com que o sistema aloque um descritor de segurança padrão do pool de páginas. Quando esse descritor de segurança é aplicado a um objeto, somente usuários com privilégios de sistema ou administrador têm acesso ao objeto.

Os drivers de minifiltro geralmente chamam FltBuildDefaultSecurityDescriptor imediatamente antes de chamar FltCreateCommunicationPort e FltFreeSecurityDescriptor imediatamente após chamar FltCreateCommunicationPort.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho fltkernel.h (inclua Fltkernel.h)
Biblioteca FltMgr.lib
IRQL <= APC_LEVEL

Confira também

ACCESS_MASK

FltCreateCommunicationPort

FltFreeSecurityDescriptor

InitializeObjectAttributes

RtlCreateSecurityDescriptor

RtlCreateSecurityDescriptorRelative

SECURITY_DESCRIPTOR