Función LsaEnumerateAccountsWithUserRight (ntsecapi.h)

La función LsaEnumerateAccountsWithUserRight devuelve las cuentas de la base de datos de un objeto Policy de autoridad de seguridad local (LSA) que contiene un privilegio especificado. Las cuentas devueltas por esta función contienen el privilegio especificado directamente a través de la cuenta de usuario, no como parte de la pertenencia a un grupo.

Sintaxis

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

Parámetros

[in] PolicyHandle

Identificador de un objeto Policy . El identificador debe tener derechos de usuario POLICY_LOOKUP_NAMES y POLICY_VIEW_LOCAL_INFORMATION. Para obtener más información, vea Apertura de un identificador de objeto de directiva.

[in] UserRight

Puntero a una estructura de LSA_UNICODE_STRING que especifica el nombre de un privilegio. Para obtener una lista de privilegios, consulte Constantes de privilegios y Constantes de derechos de cuenta.

Si este parámetro es NULL, la función enumera todas las cuentas de la base de datos LSA del sistema asociado al objeto Policy .

[out] Buffer

Puntero a una variable que recibe un puntero a una matriz de estructuras de LSA_ENUMERATION_INFORMATION . El miembro Sid de cada estructura es un puntero al identificador de seguridad (SID) de una cuenta que contiene el privilegio especificado.

Cuando ya no necesite la información, libere la memoria pasando el puntero devuelto a la función LsaFreeMemory .

[out] CountReturned

Puntero a una variable que recibe el número de entradas devueltas en el parámetro EnumerationBuffer .

Valor devuelto

Si la función se realiza correctamente, la función devuelve STATUS_SUCCESS.

Si se produce un error en la función, devuelve un código NTSTATUS , que puede ser uno de los siguientes valores o uno de los valores devueltos de la función de directiva LSA.

Valor Descripción
STATUS_NO_SUCH_PRIVILEGE
La cadena de privilegio especificada no era un privilegio válido.
STATUS_NO_MORE_ENTRIES
No había cuentas con el privilegio especificado.
 

Puede usar la función LsaNtStatusToWinError para convertir el código NTSTATUS en un código de error de Windows.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado ntsecapi.h
Library Advapi32.lib
Archivo DLL Advapi32.dll

Consulte también

LSA_ENUMERATION_INFORMATION

LSA_UNICODE_STRING

LsaFreeMemory

LsaOpenPolicy