IIdentityProvider
COM公式ドキュメント
ID プロバイダーを表します。
メソッド 8
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
ID の列挙に使用できる IEnumUnknown インターフェイス ポインターを取得します。
| eIdentityType | IDENTITY_TYPE | in | 列挙する ID の種類を示す IDENTITY_TYPE 列挙型の値です。 |
| pFilterkey | PROPERTYKEY* | inoptional | プロパティを指定するプロパティ キーへのポインターです。このパラメーターの値が NULL でない場合、このパラメーターで指定されたプロパティをサポートする ID のみが列挙されます。 |
| pFilterPropVarValue | PROPVARIANT* | inoptional | プロパティ値へのポインターです。このパラメーターと pFilterkey パラメーターの値がどちらも NULL でない場合、このパラメーターで指定されたプロパティ値を持つ ID のみが列挙されます。 |
| ppIdentityEnum | IEnumUnknown** | out | ID の列挙に使用できる IEnumUnknown インターフェイス ポインターへのポインターです。 |
戻り値
メソッドが成功した場合は S_OK を返します。
メソッドが失敗した場合はエラー コードを返します。一般的なエラー コードの一覧については、Common HRESULT Values を参照してください。
指定されたユーザー名に関連付けられた新しい ID を作成します。
| lpszUserName | LPWSTR | in | 新しい ID に関連付けるユーザー名です。 |
| ppPropertyStore | IPropertyStore** | out | 新しい ID に関連付けられたプロパティ ストアを表す IPropertyStore インターフェイスへのポインターです。 |
| pKeywordsToAdd | PROPVARIANT* | in | 新しい ID に関連付けるプロパティです。 |
戻り値
メソッドが成功した場合は S_OK を返します。
メソッドが失敗した場合はエラー コードを返します。一般的なエラー コードの一覧については、Common HRESULT Values を参照してください。
ID をシステムにインポートします。
| pPropertyStore | IPropertyStore* | inoptional | システム上に新しい ID を作成するために必要なすべての情報を指定する IPropertyStore インターフェイスへのポインターです。 |
戻り値
メソッドが成功した場合は S_OK を返します。
メソッドが失敗した場合はエラー コードを返します。一般的なエラー コードの一覧については、Common HRESULT Values を参照してください。
指定された ID を ID ストアから削除するか、指定されたプロパティを ID から削除します。
| lpszUniqueID | LPWSTR | in | ID に関連付けられた一意の名前です。 |
| pKeywordsToDelete | PROPVARIANT* | in | 削除するプロパティの名前です。このパラメーターの値が NULL の場合、ID そのものが削除されます。 |
戻り値
メソッドが成功した場合は S_OK を返します。
メソッドが失敗した場合はエラー コードを返します。一般的なエラー コードの一覧については、Common HRESULT Values を参照してください。
指定された ID に関連付けられた IPropertyStore インターフェイス インスタンスへのポインターを取得します。
| lpszUniqueID | LPWSTR | in | 検索する一意の ID です。 |
| ppPropertyStore | IPropertyStore** | out | 指定された ID に関連付けられた IPropertyStore インターフェイスのインスタンスへのポインターです。 |
戻り値
メソッドが成功した場合は S_OK を返します。
メソッドが失敗した場合はエラー コードを返します。一般的なエラー コードの一覧については、Common HRESULT Values を参照してください。
ID プロバイダーに関連付けられた IPropertyStore インターフェイスへのポインターを取得します。
| ppPropertyStore | IPropertyStore** | out | この ID プロバイダーに関連付けられたグローバルな IPropertyStore インターフェイスへのポインターです。 |
戻り値
メソッドが成功した場合は S_OK を返します。
メソッドが失敗した場合はエラー コードを返します。一般的なエラー コードの一覧については、Common HRESULT Values を参照してください。
呼び出し元アプリケーションが、通知を受け取る ID イベントの一覧を指定できるようにします。
| pIdentityAdvise | IIdentityAdvise* | inoptional | 呼び出し元アプリケーションが実装する IIdentityAdvise インターフェイスへのポインターです。このインターフェイスは、dwIdentityUpdateEvents パラメーターで指定されたイベントのいずれかが発生したときに ID プロバイダーが呼び出すことのできるメソッドを提供します。 | ||||||||||||||
| dwIdentityUpdateEvents | DWORD | in | 呼び出し元アプリケーションが通知を受け取る ID イベントです。このパラメーターの値には、次の値の 0 個以上をビットごとの OR 演算で組み合わせて指定できます。
| ||||||||||||||
| pdwCookie | DWORD* | out | この接続を識別する値へのポインターです。この接続の使用を終了したら、この値を UnAdvise メソッドに渡して接続を削除してください。 |
戻り値
メソッドが成功した場合は S_OK を返します。
メソッドが失敗した場合はエラー コードを返します。一般的なエラー コードの一覧については、Common HRESULT Values を参照してください。
Advise メソッドの呼び出しによって作成された接続を削除します。
| dwCookie | DWORD | in | 削除する接続を識別する値です。 |
戻り値
メソッドが成功した場合は S_OK を返します。
メソッドが失敗した場合はエラー コードを返します。一般的なエラー コードの一覧については、Common HRESULT Values を参照してください。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IIdentityProvider "{0D1B9E0C-E8BA-4F55-A81B-BCE934B948F5}" #usecom global IIdentityProvider IID_IIdentityProvider "{}" #comfunc global IIdentityProvider_GetIdentityEnum 3 int,var,var,sptr #comfunc global IIdentityProvider_Create 4 wstr,sptr,var #comfunc global IIdentityProvider_Import 5 sptr #comfunc global IIdentityProvider_Delete 6 wstr,var #comfunc global IIdentityProvider_FindByUniqueID 7 wstr,sptr #comfunc global IIdentityProvider_GetProviderPropertyStore 8 sptr #comfunc global IIdentityProvider_Advise 9 sptr,int,var #comfunc global IIdentityProvider_UnAdvise 10 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IIdentityProvider "{0D1B9E0C-E8BA-4F55-A81B-BCE934B948F5}" #usecom global IIdentityProvider IID_IIdentityProvider "{}" #comfunc global IIdentityProvider_GetIdentityEnum 3 int,sptr,sptr,sptr #comfunc global IIdentityProvider_Create 4 wstr,sptr,sptr #comfunc global IIdentityProvider_Import 5 sptr #comfunc global IIdentityProvider_Delete 6 wstr,sptr #comfunc global IIdentityProvider_FindByUniqueID 7 wstr,sptr #comfunc global IIdentityProvider_GetProviderPropertyStore 8 sptr #comfunc global IIdentityProvider_Advise 9 sptr,int,sptr #comfunc global IIdentityProvider_UnAdvise 10 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。