3

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

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

  1. 第一个问题。从 GetSerialization 运行我的代码是个好主意吗?

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

  1. 第二个问题。你会推荐我用什么方法来实现这个功能?

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

任何帮助,将不胜感激)

4

1 回答 1

1
  1. 我只是有同样的歧义,并在其中进行所有服务器交互GetSerialisation- 它工作正常。从按下提交到登录的延迟大约 2 秒。
  2. 尝试使用带有运行点的文本字段: '. ' ' . ' ' . ' ' . ' ' . ' ' .'
  3. Advise 用于为您的调用提供上下文LogonUI。例如,设置具有更新值的文本字段。
于 2014-11-20T10:05:38.317 回答