Credential Provider 使用场景是如何定义的
How does Credential Provider Usage Scenarios are defined
我目前正在尝试了解自定义凭证提供程序是如何制作的。
我有一个样本可以帮助我。该示例特别为 WinLogon 实现了 ICredentialProvider 和 ICredentialProviderFilter。
我的工作是实现 CPUS_CREDUI 使用场景。
但是,有很多东西我在最初的实现中没有得到,所以我什至不能期望自己实现。
我找到的所有文档只解释了每个部分的实际作用。这是我心中唯一的部分'clear enough'。
问题是我无法将这些部分连接在一起。
不同的函数似乎是由 Windows 自己调用的。我怎么知道调用者是什么,使用了哪些参数,诸如此类的事情?
如果我知道,我可能会对整个过程有更好的理解。
例如:
有一个 CREDENTIAL_PROVIDER_USAGE_SCENARIO 类型的循环参数,它似乎改变了代码中进一步初始化 CP 的方式。
它似乎首先在 CredentialProvider 构造函数中定义,但因为我不知道构造函数的调用者是什么......
我猜它是由 WinLogon 调用的,但如果是这样,实际上定义了哪些参数?
样本的日志始终显示此参数值为'CPUS_LOGON'。
如果这是 WinLogon 调用 CP 构造函数的结果(如果我之前的假设为真),那么如何调用 CPUS_CREDUI 因为它是 post Logon ?
这是我目前的主要问题。谢谢你,如果有人能解开我。
我也愿意接受您提供给我的所有其他信息。
看看微软的docs
对您的凭据提供者的第一个电话是 SetUsageScenario
HRESULT SetUsageScenario(
CREDENTIAL_PROVIDER_USAGE_SCENARIO cpus,
DWORD dwFlags
);
第一个参数是scenario
如果您的提供商不是为提供的场景设计的,您可以 return E_INVALIDARG
.
我目前正在尝试了解自定义凭证提供程序是如何制作的。
我有一个样本可以帮助我。该示例特别为 WinLogon 实现了 ICredentialProvider 和 ICredentialProviderFilter。 我的工作是实现 CPUS_CREDUI 使用场景。
但是,有很多东西我在最初的实现中没有得到,所以我什至不能期望自己实现。
我找到的所有文档只解释了每个部分的实际作用。这是我心中唯一的部分'clear enough'。
问题是我无法将这些部分连接在一起。
不同的函数似乎是由 Windows 自己调用的。我怎么知道调用者是什么,使用了哪些参数,诸如此类的事情? 如果我知道,我可能会对整个过程有更好的理解。
例如:
有一个 CREDENTIAL_PROVIDER_USAGE_SCENARIO 类型的循环参数,它似乎改变了代码中进一步初始化 CP 的方式。 它似乎首先在 CredentialProvider 构造函数中定义,但因为我不知道构造函数的调用者是什么...... 我猜它是由 WinLogon 调用的,但如果是这样,实际上定义了哪些参数?
样本的日志始终显示此参数值为'CPUS_LOGON'。 如果这是 WinLogon 调用 CP 构造函数的结果(如果我之前的假设为真),那么如何调用 CPUS_CREDUI 因为它是 post Logon ?
这是我目前的主要问题。谢谢你,如果有人能解开我。
我也愿意接受您提供给我的所有其他信息。
看看微软的docs
对您的凭据提供者的第一个电话是 SetUsageScenario
HRESULT SetUsageScenario(
CREDENTIAL_PROVIDER_USAGE_SCENARIO cpus,
DWORD dwFlags
);
第一个参数是scenario
如果您的提供商不是为提供的场景设计的,您可以 return E_INVALIDARG
.