CredUIConfirmCredentialsW 函数 (wincred.h)

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

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

语法

CREDUIAPI DWORD CredUIConfirmCredentialsW(
  [in] PCWSTR pszTargetName,
  [in] BOOL   bConfirm
);

参数

[in] pszTargetName

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

[in] bConfirm

指定从 prompt 函数返回的凭据是否有效。 如果 为 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