Função LsaEnumerateAccountsWithUserRight (ntsecapi.h)

A função LsaEnumerateAccountsWithUserRight retorna as contas no banco de dados de um objeto de política LSA (Autoridade de Segurança Local) que contém um privilégio especificado. As contas retornadas por essa função mantêm o privilégio especificado diretamente por meio da conta de usuário, não como parte da associação a um grupo.

Sintaxe

NTSTATUS LsaEnumerateAccountsWithUserRight(
  [in]  LSA_HANDLE          PolicyHandle,
  [in]  PLSA_UNICODE_STRING UserRight,
  [out] PVOID               *Buffer,
  [out] PULONG              CountReturned
);

Parâmetros

[in] PolicyHandle

Um identificador para um objeto Policy . O identificador deve ter direitos de usuário POLICY_LOOKUP_NAMES e POLICY_VIEW_LOCAL_INFORMATION. Para obter mais informações, consulte Abrindo um identificador de objeto de política.

[in] UserRight

Ponteiro para uma estrutura LSA_UNICODE_STRING que especifica o nome de um privilégio. Para obter uma lista de privilégios, consulte Constantes de privilégios e constantes de direitos de conta.

Se esse parâmetro for NULL, a função enumera todas as contas no banco de dados LSA do sistema associado ao objeto Policy .

[out] Buffer

Ponteiro para uma variável que recebe um ponteiro para uma matriz de estruturas LSA_ENUMERATION_INFORMATION . O membro Sid de cada estrutura é um ponteiro para o SID ( identificador de segurança ) de uma conta que contém o privilégio especificado.

Quando você não precisar mais das informações, libere a memória passando o ponteiro retornado para a função LsaFreeMemory .

[out] CountReturned

Ponteiro para uma variável que recebe o número de entradas retornadas no parâmetro EnumerationBuffer .

Retornar valor

Se a função for bem-sucedida, a função retornará STATUS_SUCCESS.

Se a função falhar, ela retornará um código NTSTATUS , que pode ser um dos valores a seguir ou um dos valores retornados da função de política LSA.

Valor Descrição
STATUS_NO_SUCH_PRIVILEGE
A cadeia de caracteres de privilégio especificada não era um privilégio válido.
STATUS_NO_MORE_ENTRIES
Não havia contas com o privilégio especificado.
 

Você pode usar a função LsaNtStatusToWinError para converter o código NTSTATUS em um código de erro do Windows.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho ntsecapi.h
Biblioteca Advapi32.lib
DLL Advapi32.dll

Confira também

LSA_ENUMERATION_INFORMATION

LSA_UNICODE_STRING

LsaFreeMemory

LsaOpenPolicy