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