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 |