credential provider filter注意

Filter函数中判断凭证可见性的逻辑

不应该和CLSID_PasswordCredentialProvider比较,

应该和CLSID_My_CredentialProvider(你的凭证,也就是DLL的组件ID)比较。

 

具体原因还不确定,有空再研究,win7+vs2008编译的x64 DLL 在winserver2008r2中 可以屏蔽其它凭证;

但win10+vs2015编译的x64 DLL在winserver2008r2中 无法屏蔽其它凭证;

内部原理不是很清楚,不过调试发现rgclsidProviders会有很多个(我的是8个),

而vs2015编译的DLL 传入的rgclsidProviders中不存在和CLSID_PasswordCredentialProvider一样的情况

而vs2008编译的DLL 传入的rgclsidProviders中有一个和CLSID_PasswordCredentialProvider一样值

你可能感兴趣的:(windows)