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


Функция 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_INFONULL, функция отображает диалоговое окно в центре экрана.

Эта функция игнорирует элемент 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 [только классические приложения]
целевая платформа Виндоус
заголовка sspi.h
библиотеки Credui.lib
DLL Credui.dll