Condividi tramite


Funzione LsaEnumerateAccountsWithUserRight (ntsecapi.h)

La funzione LsaEnumerateAccountsWithUserRight restituisce gli account nel database di un oggetto Policydell'autorità di sicurezza locale (LSA) che contiene un privilegio specificato. Gli account restituiti da questa funzione mantengono il privilegio specificato direttamente tramite l'account utente, non come parte dell'appartenenza a un gruppo.

Sintassi

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

Parametri

[in] PolicyHandle

Handle a un oggetto Policy . L'handle deve avere POLICY_LOOKUP_NAMES e POLICY_VIEW_LOCAL_INFORMATION diritti utente. Per altre informazioni, vedere Apertura di un handle oggetto Criteri.

[in] UserRight

Puntatore a una struttura LSA_UNICODE_STRING che specifica il nome di un privilegio. Per un elenco di privilegi, vedere Costanti dei privilegi e Costanti dei diritti dell'account.

Se questo parametro è NULL, la funzione enumera tutti gli account nel database LSA del sistema associato all'oggetto Policy .

[out] Buffer

Puntatore a una variabile che riceve un puntatore a una matrice di strutture LSA_ENUMERATION_INFORMATION . Il membro Sid di ogni struttura è un puntatore all'identificatore di sicurezza (SID) di un account che contiene il privilegio specificato.

Quando non sono più necessarie le informazioni, liberare la memoria passando il puntatore restituito alla funzione LsaFreeMemory .

[out] CountReturned

Puntatore a una variabile che riceve il numero di voci restituite nel parametro EnumerationBuffer .

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce STATUS_SUCCESS.

Se la funzione ha esito negativo, restituisce un codice NTSTATUS , che può essere uno dei valori seguenti o uno dei valori restituiti della funzione Criteri LSA.

Valore Descrizione
STATUS_NO_SUCH_PRIVILEGE
La stringa dei privilegi specificata non era un privilegio valido.
STATUS_NO_MORE_ENTRIES
Non sono presenti account con il privilegio specificato.
 

È possibile usare la funzione LsaNtStatusToWinError per convertire il codice NTSTATUS in un codice di errore di Windows.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione ntsecapi.h
Libreria Advapi32.lib
DLL Advapi32.dll

Vedi anche

LSA_ENUMERATION_INFORMATION

LSA_UNICODE_STRING

LsaFreeMemory

LsaOpenPolicy