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


Функция SspiPromptForCredentialsA (sspi.h)

Позволяет приложению интерфейса поставщика поддержки безопасности (SSPI) запрашивать у пользователя ввод учетных данных.

Синтаксис

unsigned long SEC_ENTRY SspiPromptForCredentialsA(
  [in]                PCSTR                           pszTargetName,
  [in]                PCREDUI_INFOA                   pUiInfo,
  [in]                unsigned long                   dwAuthError,
  [in]                PCSTR                           pszPackage,
  [in]                PSEC_WINNT_AUTH_IDENTITY_OPAQUE pInputAuthIdentity,
  [out]               PSEC_WINNT_AUTH_IDENTITY_OPAQUE *ppAuthIdentity,
  [in, out, optional] int                             *pfSave,
  [in]                unsigned long                   dwFlags
);

Параметры

[in] pszTargetName

Имя используемого целевого объекта.

[in] pUiInfo

Указатель на структуру CREDUI_INFO , содержащую сведения для настройки внешнего вида диалогового окна, отображаемого этой функцией.

Если элемент hwndParent структуры CREDUI_INFO не имеет значения NULL, эта функция отображает модальное диалоговое окно по центру родительского окна.

Если элемент hwndParent структуры CREDUI_INFO имеет значение NULL, функция отображает диалоговое окно по центру экрана.

Эта функция игнорирует элемент hbmBanner структуры CREDUI_INFO .

[in] dwAuthError

Код ошибки Windows, определенный в Winerror.h, который отображается в диалоговом окне. Если собранные ранее учетные данные были недопустимыми, вызывающий объект использует этот параметр для передачи сообщения об ошибке из API, который собрал учетные данные (например, Winlogon) в эту функцию. Соответствующее сообщение об ошибке форматируется и отображается в диалоговом окне. Задайте значение этого параметра равным нулю, чтобы сообщение об ошибке не отображалось.

[in] pszPackage

Имя используемого пакета безопасности.

[in] pInputAuthIdentity

Структура удостоверения, используемая для заполнения полей учетных данных в диалоговом окне. Чтобы оставить поля учетных данных пустыми, задайте для этого параметра значение NULL.

[out] ppAuthIdentity

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

Завершив использование этой структуры, освободите ее, вызвав функцию SspiFreeAuthIdentity .

[in, out, optional] pfSave

Указатель на логическое значение, указывающее, выбрано ли поле Сохранить проверка в диалоговом окне, отображаемом этой функцией. В выходных данных значение этого параметра указывает, было ли выбрано поле Сохранить проверка, когда пользователь нажимал кнопку Отправить в диалоговом окне. Присвойте этому параметру значение NULL, чтобы игнорировать поле Сохранить проверка.

Этот параметр игнорируется, если флаг CREDUIWIN_CHECKBOX не задан в параметре dwFlags .

[in] dwFlags

Флаги, определяющие поведение этой функции. В настоящее время определен следующий флаг.

Значение Значение
SSPIPFC_CREDPROV_DO_NOT_SAVE
0x00000001
Значение параметра pfSave игнорируется, а учетные данные, собранные этой функцией, не сохраняются.

Windows 7 и Windows Server 2008 R2: Значение параметра pfSave игнорируется, а учетные данные, собранные этой функцией, не сохраняются. Было SSPIPFC_SAVE_CRED_BY_CALLER только имя этого возможного значения.

SSPIPFC_NO_CHECKBOX
0x00000002
Значение означает, что поставщики учетных данных паролей и смарт-карта не будут отображать флажок "Запомнить мои учетные данные" для пользователя. Функция SspiPromptForCredentials передает это значение флага, SSPIPFC_NO_CHECKBOX, в параметр pvInAuthBuffer функции CredUIPromptForWindowsCredentials .

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

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

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

Комментарии

Примечание

Заголовок sspi.h определяет SspiPromptForCredentials как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Целевая платформа Windows
Header sspi.h
Библиотека Credui.lib
DLL Credui.dll