CredUIConfirmCredentialsA 函数 (wincred.h)

CredUIConfirmCredentials 函数在 CredUIPromptForCredentialsCredUICmdLinePromptForCredentials 之后调用,以确认所收获凭据的有效性。 如果将CREDUI_FLAGS_EXPECT_CONFIRMATION标志传递给“prompt”函数(CredUIPromptForCredentialsCredUICmdLinePromptForCredentials),并且“prompt”函数返回NO_ERROR,则必须调用 CredUIConfirmCredentials

调用“prompt”函数后,在调用 CredUIConfirmCredentials 之前,调用方必须通过使用凭据访问 pszTargetName 指定的资源来确定凭据是否实际有效。 该验证测试的结果将传递到 bConfirm 参数中的 CredUIConfirmCredentials

语法

CREDUIAPI DWORD CredUIConfirmCredentialsA(
  [in] PCSTR pszTargetName,
  [in] BOOL  bConfirm
);

参数

[in] pszTargetName

指向 以 null 结尾的字符串的指针,该字符串包含凭据的目标名称,通常是域或服务器应用程序名称。 此值必须与 pszTargetName 传递给 CredUIPromptForCredentialsCredUICmdLinePromptForCredentials 的值相同

[in] bConfirm

指定从提示函数返回的凭据是否有效。 如果 为 TRUE,则凭据存储在凭据管理器中,由 CredUIPromptForCredentialsCredUICmdLinePromptForCredentials 定义。 如果 为 FALSE,则不存储凭据并清理各种内存片段。

返回值

返回操作的状态。 调用方可以检查此状态,以确定凭据确认操作是否成功。 大多数应用程序会忽略此状态代码,因为应用程序与资源的连接已经完成。 操作可能会失败,因为未在等待确认的凭据列表中找到凭据,或者写入或删除凭据的尝试失败。 无法找到列表上的凭据可能是因为凭据从未排队,或者由于排队的凭据太多。 在放弃较旧的凭据之前,最多可以排队五个凭据,因为较新的凭据已排队。

返回代码 说明
NO_ERROR - (零)
确认操作成功。
ERROR_NOT_FOUND
在确认等待列表中找不到使用者凭据。
ERROR_INVALID_PARAMETER
尝试确认正在等待的凭据失败,因为凭据包含无效或不一致的数据。

注解

注意

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

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 wincred.h
Library Credui.lib
DLL Credui.dll