ICredentialProviderCredentialEvents 接口是 Windows Credential Provider API 的一部分,用于向凭据对象发送事件通知。Credential Provider 允许开发者实现这个接口,以接收来自 Credential Provider 的事件,如连接、断开连接等。

以下是 ICredentialProviderCredentialEvents 接口的基本定义:
DECLARE_INTERFACE_IID_(ICredentialProviderCredentialEvents, IUnknown)
{
    STDMETHOD(SetFieldState)(
        _In_ DWORD dwFieldID,
        _In_ CREDENTIAL_PROVIDER_FIELD_STATE cpfs
    ) PURE;

    STDMETHOD(SetFieldInteractiveState)(
        _In_ DWORD dwFieldID,
        _In_ CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE cpfis
    ) PURE;

    STDMETHOD(SetFieldString)(
        _In_ DWORD dwFieldID,
        _In_opt_ PCWSTR psz
    ) PURE;

    STDMETHOD(SetFieldCheckbox)(
        _In_ DWORD dwFieldID,
        _In_ BOOL bChecked,
        _In_opt_ PCWSTR pszLabel
    ) PURE;

    STDMETHOD(SetFieldBitmap)(
        _In_ DWORD dwFieldID,
        _In_opt_ HBITMAP hbmp
    ) PURE;

    STDMETHOD(SetFieldComboBoxSelectedItem)(
        _In_ DWORD dwFieldID,
        _In_ DWORD dwSelectedItem
    ) PURE;

    STDMETHOD(SetFieldSubmitButton)(
        _In_ DWORD dwFieldID,
        _In_ DWORD dwAdjacentTo
    ) PURE;
};

这个接口包含了一系列方法,用于通知凭据对象发生的事件,例如设置字段的状态、交互状态、字符串值、复选框状态等。开发者可以实现这个接口,以在 Credential Provider 的生命周期中更新 UI 和处理用户输入。

主要方法包括:

  •  SetFieldState: 设置字段的状态。

  
  •  SetFieldInteractiveState: 设置字段的交互状态。

  
  •  SetFieldString: 设置字段的字符串值。

  
  •  SetFieldCheckbox: 设置字段的复选框状态。

  
  •  SetFieldBitmap: 设置字段的位图值。

  
  •  SetFieldComboBoxSelectedItem: 设置字段的下拉框选中项。

  
  •  SetFieldSubmitButton: 设置字段的提交按钮。


这些方法允许 Credential Provider 向凭据对象发送通知,以便更新 UI 和响应用户的输入。如果需要更详细的信息,建议查阅最新的 Microsoft 官方文档或头文件。


转载请注明出处:http://www.zyzy.cn/article/detail/25121/Win32 API/Credentialprovider.h/ICredentialProviderCredentialEvents