Compartilhar via


Função RtlNormalizeSecurityDescriptor (ntddk.h)

Essa rotina examina um descritor de segurança para obter maneiras de modificar seu layout, com a meta de que todos os dois descritores de segurança equivalentes devem ser capazes de ser instância única em $SDS o mais frequentemente possível e uma meta secundária de que o descritor de segurança armazenado deve ser o menor possível.

Sintaxe

NTSYSAPI BOOLEAN RtlNormalizeSecurityDescriptor(
  PSECURITY_DESCRIPTOR *SecurityDescriptor,
  ULONG                SecurityDescriptorLength,
  PSECURITY_DESCRIPTOR *NewSecurityDescriptor,
  PULONG               NewSecurityDescriptorLength,
  BOOLEAN              CheckOnly
);

Parâmetros

SecurityDescriptor

Ponteiro para um ponteiro para o SECURITY_DESCRIPTOR para normalizar. O descritor de segurança deve estar em formato auto-relativo. Se NewSecurityDescriptor não for fornecido, esse local poderá ser atualizado com um descritor de segurança recém-alocado do pool de páginas (liberando o descritor de segurança original) se forem feitas modificações.

SecurityDescriptorLength

Comprimento em bytes do descritor de segurança para normalizar.

NewSecurityDescriptor

Se estiver presente e apontar para NULL, receberá um ponteiro para um descritor de segurança recém-alocado do pool de páginas se forem feitas modificações, em vez de atualizar SecurityDescriptor.

Se estiver presente e apontar para não NULL, um descritor de segurança modificado será construído diretamente no buffer (considerado pelo menos de comprimento SecurityDescriptorLength) fornecido pelo chamador.

NewSecurityDescriptorLength

Opcionalmente, receberá o comprimento em bytes do descritor de segurança modificado se essa rotina fizer modificações.

CheckOnly

Um valor BOOLEAN que, se TRUE especificar que a rotina não deve tomar nenhuma ação quando as modificações seriam feitas de outra forma. Nesse caso, um descritor de segurança modificado não é criado.

Valor de retorno

Retorna TRUE se modificações foram feitas ou teriam sido feitas e FALSE caso contrário (incluindo falha).

Observações

Se essa rotina fizer modificações, ela retornará o descritor de segurança modificado, a menos que o chamador especifique CheckOnly indicando que só deseja saber se as modificações seriam feitas.

As transformações com suporte no momento são:

  • Organize as seções na ordem Sacl => Dacl = proprietário do> = grupo>.

  • Elimine o preenchimento desnecessário (além do alinhamento simples) entre as seções.

  • Zero bytes de alinhamento entre seções.

  • Elimine qualquer Sacl que não contenha ACEs.

  • Elimine ACEs ALLOW duplicadas no Sacl e na Dacl.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 10, versão 2004
cabeçalho ntddk.h (inclua Ntddk.h)
IRQL APC_LEVEL