Win32 API 日本語リファレンス
ホームUI.Shell › ICredentialProviderEvents

ICredentialProviderEvents

COM
IID34201e5a-a787-41a3-a5a4-bd6dcf2a854e継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

資格情報プロバイダーが、資格情報のリストやそのフィールドの変更を通知するために使用する非同期コールバック機構を提供します。

解説(Remarks)

使用する場面

ICredentialProviderEvents の実装は、資格情報プロバイダーを実装する外部の開発者が使用するために提供されます。

実装する場面

外部の開発者が ICredentialProviderEvents を自ら実装する必要はありません。

メソッド 1

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT CredentialsChanged(UINT_PTR upAdviseContext)

列挙された資格情報のリストが変更されたことを、Logon UI または Credential UI に通知します。

upAdviseContextUINT_PTRinどの資格情報プロバイダーが再列挙を要求したかを一意に識別する整数へのポインターです。資格情報プロバイダーは、Advise から受け取ったインターフェイス ポインターをこのパラメーターで渡し返す必要があります。

戻り値

型: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。

解説(Remarks)

従来、多くの資格情報プロバイダーは UI を更新するために ICredentialProviderEvents::CredentialsChanged を使用していました。これは機能はしますが、呼び出し元の資格情報プロバイダーからすべての資格情報が再列挙されます。この再列挙が原因で、このイベントの処理によって、状況によっては UI のちらつきやフォーカスの変化が発生することがあります。そのため、UI の更新のみを目的として ICredentialProviderEvents::CredentialsChanged を使用することは推奨されません。新しい推奨事項は次のとおりです。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

#define global IID_ICredentialProviderEvents "{34201E5A-A787-41A3-A5A4-BD6DCF2A854E}"
#usecom global ICredentialProviderEvents IID_ICredentialProviderEvents "{}"
#comfunc global ICredentialProviderEvents_CredentialsChanged  3 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。