ホーム › Security.Authentication.Identity.Provider › IIdentityProvider
IIdentityProvider
COMメソッド 8
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT GetIdentityEnum(IDENTITY_TYPE eIdentityType, PROPERTYKEY* pFilterkey, PROPVARIANT* pFilterPropVarValue, IEnumUnknown** ppIdentityEnum)
| eIdentityType | IDENTITY_TYPE | in | 列挙する ID の種類を表す IDENTITY_TYPE 値を指定する。 |
| pFilterkey | PROPERTYKEY* | inoptional | 列挙をフィルタリングするプロパティを示す PROPERTYKEY へのポインタを指定する。フィルタリングしない場合は NULL を指定できる。 |
| pFilterPropVarValue | PROPVARIANT* | inoptional | フィルタキーに対して一致させるプロパティ値を表す PROPVARIANT へのポインタを指定する。 |
| ppIdentityEnum | IEnumUnknown** | out | 条件に一致する ID を列挙する IEnumUnknown インターフェイスを受け取るポインタである。 |
vtbl 4 HRESULT Create(LPWSTR lpszUserName, IPropertyStore** ppPropertyStore, PROPVARIANT* pKeywordsToAdd)
| lpszUserName | LPWSTR | in | 作成する ID のユーザー名を指定する。 |
| ppPropertyStore | IPropertyStore** | out | 作成された ID のプロパティを保持する IPropertyStore インターフェイスを受け取るポインタである。 |
| pKeywordsToAdd | PROPVARIANT* | in | 新しい ID に追加するキーワードを表す PROPVARIANT へのポインタを指定する。 |
vtbl 5 HRESULT Import(IPropertyStore* pPropertyStore)
| pPropertyStore | IPropertyStore* | inoptional | インポートする ID のプロパティを保持する IPropertyStore インターフェイスへのポインタを指定する。 |
vtbl 6 HRESULT Delete(LPWSTR lpszUniqueID, PROPVARIANT* pKeywordsToDelete)
| lpszUniqueID | LPWSTR | in | 削除する ID を一意に識別する文字列を指定する。 |
| pKeywordsToDelete | PROPVARIANT* | in | 削除時に対象とするキーワードを表す PROPVARIANT へのポインタを指定する。 |
vtbl 7 HRESULT FindByUniqueID(LPWSTR lpszUniqueID, IPropertyStore** ppPropertyStore)
| lpszUniqueID | LPWSTR | in | 検索する ID を一意に識別する文字列を指定する。 |
| ppPropertyStore | IPropertyStore** | out | 見つかった ID のプロパティを保持する IPropertyStore インターフェイスを受け取るポインタである。 |
vtbl 8 HRESULT GetProviderPropertyStore(IPropertyStore** ppPropertyStore)
| ppPropertyStore | IPropertyStore** | out | ID プロバイダー自身のプロパティを保持する IPropertyStore インターフェイスを受け取るポインタである。 |
vtbl 9 HRESULT Advise(IIdentityAdvise* pIdentityAdvise, DWORD dwIdentityUpdateEvents, DWORD* pdwCookie)
| pIdentityAdvise | IIdentityAdvise* | inoptional | ID 更新の通知を受け取るコールバックを表す IIdentityAdvise インターフェイスへのポインタを指定する。 |
| dwIdentityUpdateEvents | DWORD | in | 通知を受け取りたい ID 更新イベントの種類を示すフラグを指定する。 |
| pdwCookie | DWORD* | out | 通知を後で解除するために使用する接続クッキーを受け取る DWORD へのポインタである。 |
| dwCookie | DWORD | in | Advise で取得した接続クッキーを指定し、対応する通知の登録を解除する。 |
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 指定が可能。