ホーム › Security.Authorization › IAzClientContext2
IAzClientContext2
COMIDispatch (デュアル)✅ IDispatch を実装(デュアルインターフェース)。HSP では
comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。メソッド 6
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
vtbl 20 HRESULT GetAssignedScopesPage(INT lOptions, INT PageSize, VARIANT* pvarCursor, VARIANT* pvarScopeNames)
| lOptions | INT | in | 取得動作を制御するオプションフラグを指定する。 |
| PageSize | INT | in | 1ページあたりに取得するスコープ名の数を指定する。 |
| pvarCursor | VARIANT* | inout | ページング位置を保持するカーソルを格納したVARIANTを渡し、更新されたカーソルを受け取るポインタである。 |
| pvarScopeNames | VARIANT* | out | クライアントに割り当てられたスコープ名の1ページ分を格納したVARIANTを受け取るポインタである。 |
| varRoles | VARIANT | in | クライアントコンテキストに追加するロール名の配列をVARIANTで指定する。 |
| bstrScopeName | LPWSTR | in | ロールを追加する対象のスコープ名をBSTRで指定する。 |
| varApplicationGroups | VARIANT | in | クライアントコンテキストに追加するアプリケーショングループの配列をVARIANTで指定する。 |
| varStringSids | VARIANT | in | クライアントコンテキストに追加するSID文字列の配列をVARIANTで指定する。 |
| bstrLDAPQueryDN | LPWSTR | in | LDAPクエリの評価に使用する識別名(DN)をBSTRで指定する。 |
| pbstrLDAPQueryDN | LPWSTR* | out | LDAPクエリの評価に使用される識別名(DN)を格納したBSTRを受け取るポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IAzClientContext2 "{2B0C92B8-208A-488A-8F81-E4EDB22111CD}" #usecom global IAzClientContext2 IID_IAzClientContext2 "{}" #comfunc global IAzClientContext2_GetAssignedScopesPage 20 int,int,var,var #comfunc global IAzClientContext2_AddRoles 21 int,wstr #comfunc global IAzClientContext2_AddApplicationGroups 22 int #comfunc global IAzClientContext2_AddStringSids 23 int #comfunc global IAzClientContext2_put_LDAPQueryDN 24 wstr #comfunc global IAzClientContext2_get_LDAPQueryDN 25 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IAzClientContext2 "{2B0C92B8-208A-488A-8F81-E4EDB22111CD}" #usecom global IAzClientContext2 IID_IAzClientContext2 "{}" #comfunc global IAzClientContext2_GetAssignedScopesPage 20 int,int,sptr,sptr #comfunc global IAzClientContext2_AddRoles 21 int,wstr #comfunc global IAzClientContext2_AddApplicationGroups 22 int #comfunc global IAzClientContext2_AddStringSids 23 int #comfunc global IAzClientContext2_put_LDAPQueryDN 24 wstr #comfunc global IAzClientContext2_get_LDAPQueryDN 25 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。