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 结构的指针,该结构包含用于自定义此函数显示的对话框外观的信息。

如果 CREDUI_INFO 结构的 hwndParent 成员未 NULL,则此函数将显示以父窗口为中心的模式对话框。

如果 CREDUI_INFO 结构的 hwndParent 成员 NULL,则该函数将显示一个以屏幕为中心的对话框。

此函数忽略 CREDUI_INFO 结构的 hbmBanner 成员。

[in] dwAuthError

在 Winerror.h 中定义的 Windows 错误代码,显示在对话框中。 如果以前收集的凭据无效,调用方使用此参数将收集凭据的 API(例如 Winlogon)的错误消息传递给此函数。 相应的错误消息的格式设置并显示在对话框中。 将此参数的值设置为零,不显示错误消息。

[in] pszPackage

要使用的安全包的名称。

[in] pInputAuthIdentity

用于填充对话框中凭据字段的标识结构。 若要将凭据字段留空,请将此参数的值设置为 NULL

[out] ppAuthIdentity

表示此函数收集的凭据的标识结构。

使用此结构后,通过调用 SspiFreeAuthIdentity 函数来释放它。

[in, out, optional] pfSave

指向一个布尔值的指针,该值在输入时指定是否在此函数显示的对话框中选中 保存 复选框。 输出时,此参数的值指定当用户在对话框中单击 “提交”按钮时是否选中了“保存”复选框。 将此参数设置为 NULL 以忽略“保存”复选框

如果未在 dwFlags 参数中设置 CREDUIWIN_CHECKBOX 标志,则忽略此参数。

[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 函数在 CredUIPromptForWindowsCredentials 函数的 pvInAuthBuffer 参数中传递此标志值SSPIPFC_NO_CHECKBOX。

返回值

如果函数成功,则返回 SEC_E_OK

如果函数失败,它将返回非零错误代码。

言论

注意

sspi.h 标头将 SspiPromptForCredentials 定义为基于 UNICODE 预处理器常量定义自动选择此函数的 ANSI 或 Unicode 版本的别名。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows 7 [仅限桌面应用]
支持的最低服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 窗户
标头 sspi.h
Credui.lib
DLL Credui.dll