Функция LsaEnumerateAccountsWithUserRight (ntsecapi.h)

Функция LsaEnumerateAccountsWithUserRight возвращает учетные записи в базе данных объекта политикилокального центра безопасности (LSA), которые имеют указанные привилегии. Учетные записи, возвращаемые этой функцией, имеют указанные привилегии непосредственно через учетную запись пользователя, а не как часть членства в группе.

Синтаксис

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

Параметры

[in] PolicyHandle

Дескриптор объекта Policy . Дескриптор должен иметь права пользователя POLICY_LOOKUP_NAMES и POLICY_VIEW_LOCAL_INFORMATION. Дополнительные сведения см. в разделе Открытие дескриптора объекта политики.

[in] UserRight

Указатель на структуру LSA_UNICODE_STRING , указывающую имя привилегии. Список привилегий см. в разделах Константы привилегий и Константы прав учетной записи.

Если этот параметр имеет значение NULL, функция перечисляет все учетные записи в базе данных LSA системы, связанной с объектом Policy .

[out] Buffer

Указатель на переменную, получающую указатель на массив LSA_ENUMERATION_INFORMATION структур. Элемент SID каждой структуры является указателем на идентификатор безопасности (SID) учетной записи, которая имеет указанные привилегии.

Если сведения больше не нужны, освободите память, передав возвращенный указатель на функцию LsaFreeMemory .

[out] CountReturned

Указатель на переменную, которая получает количество записей, возвращаемых в параметре EnumerationBuffer .

Возвращаемое значение

Если функция выполнена успешно, функция возвращает STATUS_SUCCESS.

Если функция завершается ошибкой, она возвращает код NTSTATUS , который может быть одним из следующих значений или одним из возвращаемых значений функции политики LSA.

Значение Описание
STATUS_NO_SUCH_PRIVILEGE
Указанная строка привилегий не является допустимой.
STATUS_NO_MORE_ENTRIES
Не было учетных записей с указанными привилегиями.
 

Для преобразования кода NTSTATUS в код ошибки Windows можно использовать функцию LsaNtStatusToWinError.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header ntsecapi.h
Библиотека Advapi32.lib
DLL Advapi32.dll

См. также раздел

LSA_ENUMERATION_INFORMATION

LSA_UNICODE_STRING

LsaFreeMemory

LsaOpenPolicy