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

[AddCredential доступен для использования в операционных системах, указанных в разделе Требования. В последующих версиях он может быть изменен или недоступен. Приложения должны использовать функцию LsaCallAuthenticationPackage с типом сообщения KerbAddExtraCredentialsMessage . KerbAddExtraCredentialsMessage является значением перечисления KERB_PROTOCOL_MESSAGE_TYPE.]

Добавляет учетные данные в сеанс входа. Позже на эти учетные данные можно ссылаться с помощью вызова функции GetCredentials .

Синтаксис

LSA_ADD_CREDENTIAL LsaAddCredential;

NTSTATUS LsaAddCredential(
  [in] PLUID LogonId,
  [in] ULONG AuthenticationPackage,
  [in] PLSA_STRING PrimaryKeyValue,
  [in] PLSA_STRING Credentials
)
{...}

Параметры

[in] LogonId

Указатель на LUID , содержащий идентификатор сеанса входа в систему, к которому добавляются учетные данные.

[in] AuthenticationPackage

Идентификатор пакета проверки подлинности вызывающего пакета проверки подлинности. Это значение получается в вызове LsaApInitializePackage во время инициализации DLL.

[in] PrimaryKeyValue

Строка, содержащая значение, на которое позже пакет проверки подлинности должен будет ссылаться в качестве первичного ключа данных учетных данных. Это можно использовать, например, для сохранения имени домена или сервера, с которым связаны учетные данные. Формат и значение этой строки зависят от пакета проверки подлинности. Обратите внимание, что строковое значение не обязательно должно быть уникальным, даже для указанного сеанса входа. Например, для одного домена может быть два пароля, каждый из которых содержит пароли, сохраненные в качестве учетных данных, и доменное имя, хранящееся в качестве первичного ключа.

[in] Credentials

Строка, представляющая учетные данные пользователя. Формат и значение этой строки зависят от пакета проверки подлинности.

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

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

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

Код возврата Описание
STATUS_NO_SUCH_LOGON_SESSION
Не удалось найти указанный сеанс входа.
 

Функция LsaNtStatusToWinError преобразует код NTSTATUS в код ошибки Windows.

Комментарии

Текст строки учетных данных должен быть относительным; то есть он не должен содержать указателей на память за пределами учетных данных. Учетные данные копируются, и все указатели за пределами самих учетных данных больше не будут действительными в копии. В частности, строки, указанные в учетных данных, должны содержать заголовок UNICODE_STRING и текст в буфере учетных данных. Указатели на строки в тексте учетных данных следует изменить на смещения.

Требования

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

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

GetCredentials

LSA_DISPATCH_TABLE

LSA_SECPKG_FUNCTION_TABLE