想要实现自动解锁证书。
我使用了SampleV2CredentialProvider演示,并按照以下步骤在“ CSampleCredential :: Initialize”中写入了帐户密码
hr = SHStrDupW(L“ mypassword”,&_rgFieldStrings [SFI_PASSWORD]);
,然后在SetSelected中更改* pAutoLogin = true。
无论如何弹出“登录”窗口,如果不单击按钮,我无法直接登录系统。
我还更改了CSampleProvider :: GetCredentialCount中的* pbAutoLogonWithDefault = true,但该按钮仍然弹出。
答案 0 :(得分:0)
我刚刚检查了我的凭据提供程序之一的代码。
在ICredentialProvider::GetCredentialCount
方法内部,执行以下操作:
DWORD dwSize;
*pdwCount = 0;
*pdwDefault = -1;
*pbAutoLogonWithDefault = FALSE;
dwSize = 0;
// do some internal calculations
if(dwSize > 0)
{
*pdwCount = 1;
*pdwDefault = 0;
*pbAutoLogonWithDefault = TRUE;
}
在ICredentialProviderCredential::SetSelected
之外,我仅这样做:
*pbAutoLogon = TRUE;
一切正常。
(这些代码段完全是真实项目中的复制粘贴)