Поделиться через


функция обратного вызова LSA_OPEN_SAM_USER (ntsecpkg.h)

Извлекает дескриптор для учетной записи пользователя в базе данных диспетчера учетных записей безопасности (SAM).

Синтаксис

LSA_OPEN_SAM_USER LsaOpenSamUser;

NTSTATUS LsaOpenSamUser(
  [in]  PSECURITY_STRING Name,
  [in]  SECPKG_NAME_TYPE NameType,
  [in]  PSECURITY_STRING Prefix,
  [in]  BOOLEAN AllowGuest,
  [in]  ULONG Reserved,
  [out] PVOID *UserHandle
)
{...}

Параметры

[in] Name

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

[in] NameType

Значение перечисления SECPKG_NAME_TYPE , указывающее тип имени учетной записи в поле Имя. Этот параметр может принимать одно из указанных ниже значений.

Значение Значение
SecNameSamCompatible
Имя совместимо с SAM. Пример имени в формате, совместимом с SAM, — ExampleDomain\Username.
SecNameAlternateId
Имя находится в свойстве AltSecId учетной записи SAM. Это значение используется с параметром Prefix .
SecNameFlat
Имя — это неструктурированное имя участника-пользователя (UPN) в стиле имени учетной записи.
SecNameDN
Name — это различающееся имя объекта. Дополнительные сведения см. в подразделе "Примечания".

[in] Prefix

Указатель на структуру UNICODE_STRING , указывающую префикс для использования с именами, которые используют NameType secNameAlternateId.

[in] AllowGuest

Указывает, следует ли использовать гостевую учетную запись, если учетная запись SAM не найдена. Этот параметр может принимать одно из указанных ниже значений.

Значение Значение
FALSE
Если пользователь не найден, вызов функции OpenSamUser завершается ошибкой .
TRUE
Если пользователь не найден и гостевая учетная запись включена, используется гостевая учетная запись.

[in] Reserved

Зарезервировано. Укажите ноль.

[out] UserHandle

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

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

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

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

Код возврата Описание
STATUS_INVALID_PARAMETER
NameType — SecNameAlternateId, а префиксNULL.
STATUS_NO_SUCH_USER
Не удалось найти учетную запись SAM.

Комментарии

Чтобы закрыть дескриптор, полученный параметром UserHandle , вызовите функцию CloseSamUser .

Различающееся имя пользователя определяет имя, домен и полный путь к объекту Active Directory , представляющего пользователя.

Указатель на функцию OpenSamUser доступен в структуре LSA_SECPKG_FUNCTION_TABLE , полученной функцией SpInitialize .

Требования

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

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

CloseSamUser

LSA_SECPKG_FUNCTION_TABLE

SpInitialize