我正在开发基于 Microsoft 示例的自定义智能卡凭据提供程序 http://www.microsoft.com/en-us/download/details.aspx?id=5372 .特别是,我使用的是带有包装提供程序的示例,因此我只需要向现有功能添加一些新功能。 按下提交按钮后,提供商应向我的服务器发送身份验证请求,如果得到肯定答复,它应进一步使用标准 Windows 机制。
我已经成功地将我的请求代码放在 GetSerialization 方法的开头。但是由于这个操作可能需要很长时间,我需要通知用户当前的进度。
- 第一个问题。从 GetSerialization 运行我的代码是个好主意吗?
由于不允许开发人员在登录屏幕上绘制自定义控件(如进度条),我决定创建一个包含当前操作状态的小窗口并将其显示在右上角。同时,我需要禁用 PIN 字段和提交按钮,直到操作完成。但正如我在这里注意到的 Disabling areas on Credential Provider , GetSerialization 是不可能的。
第二个问题。你会推荐我用什么方式来实现这个功能?
第三个。我如何使用 Credentials::Advice 方法来确定到底发生了什么?因为我只得到 ICredentialProviderCredentialEvents* pcpce 作为参数,我可以用它来调用它的方法,但我仍然不知道这个事件的来源是什么。是否按下了某个键或提交按钮或其他东西?
任何帮助将不胜感激)
最佳答案
- 我只是遇到了同样的歧义,并在
GetSerialisation
中进行了所有服务器交互 - 它工作正常。从按下提交到登录大约延迟 2 秒。 - 尝试使用带有连续点的文本字段:
'. ' ' 。 ' ' 。 ' ' 。 ' ' 。 ' '.'
- Advise 用于为您调用
LogonUI
提供上下文。例如,设置具有更新值的文本字段。
关于c++ - 凭证提供者。显示一种进度条并禁用密码或 PIN 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25749910/