凭据提供程序.显示一种进度条并禁用密码或PIN字段

Credential Provider. Displaying a kind of progress bar and disabling password or PIN field

本文关键字:密码 字段 PIN 一种 程序 显示      更新时间:2023-10-16

我正在基于Microsoft的示例开发一个自定义智能卡凭据提供商http://www.microsoft.com/en-us/download/details.aspx?id=5372.特别是,我使用的是一个带有包装提供者的示例,所以我只需要在现有的函数中添加一些新函数。按下提交按钮后,提供商应该向我的服务器发送身份验证请求,如果答案是肯定的,它应该使用标准的Windows机制进一步进行。

我已经成功地将请求代码放置在GetSerialization方法的开头。但由于此操作可能需要很长时间,我需要通知用户当前的进度。

  1. 第一项质询。从GetSerialization运行我的代码是个好主意吗

由于开发人员不允许在登录屏幕上绘制自定义控件(如进度条),我决定创建一个包含当前操作状态的最顶部小窗口,并将其显示在右上角。同时,我需要禁用PIN字段和提交按钮,直到操作完成。但正如我在这里注意到的,禁用凭据提供程序上的区域,这是不可能的GetSerialization。

  1. 第二项质询。你建议我用什么方法来实现这个功能?

  2. 第三个。如何使用Credentials::Advice方法来确定具体发生了什么?因为我只得到ICredentialProviderCredentialEvents*pcpce作为一个参数,我可以用它来调用它的方法,但我仍然不知道这个事件的来源是什么。是按键还是提交按钮或其他什么?

如有任何帮助,我们将不胜感激)

  1. 我只是得到了同样的歧义,并在GetSerialisation中进行了所有服务器交互——这很好。从按下提交到登录大约延迟2秒
  2. 尝试使用带运行点的文本字段: '. ' ' . ' ' . ' ' . ' ' . ' ' .'
  3. Advise用于为您致电LogonUI提供背景信息。例如,设置具有更新值的文本字段