Win32 API 日本語リファレンス
ホームSecurity.Authorization › IAzClientContext

IAzClientContext

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IIDeff1f00b-488a-466d-afd9-a401c5f9eef5継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 13

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT AccessCheck(LPWSTR bstrObjectName, VARIANT varScopeNames, VARIANT varOperations, VARIANT varParameterNames, VARIANT varParameterValues, VARIANT varInterfaceNames, VARIANT varInterfaceFlags, VARIANT varInterfaces, VARIANT* pvarResults)
bstrObjectNameLPWSTRinアクセスチェック対象のオブジェクト名をBSTRで指定する。監査用に使用される。
varScopeNamesVARIANTinアクセスチェックを行うスコープ名の配列をVARIANTで指定する。
varOperationsVARIANTinアクセスを確認する操作IDの配列をVARIANTで指定する。
varParameterNamesVARIANTinビジネスルールに渡すパラメータ名の配列をVARIANTで指定する。
varParameterValuesVARIANTinビジネスルールに渡すパラメータ値の配列をVARIANTで指定する。
varInterfaceNamesVARIANTinビジネスルールに渡すインタフェース名の配列をVARIANTで指定する。
varInterfaceFlagsVARIANTin各インタフェースに対応するフラグの配列をVARIANTで指定する。
varInterfacesVARIANTinビジネスルールに渡すインタフェースオブジェクトの配列をVARIANTで指定する。
pvarResultsVARIANT*out各操作に対するアクセスチェックの結果(エラーコードの配列)を格納したVARIANTを受け取るポインタである。
vtbl 8 HRESULT GetBusinessRuleString(LPWSTR* pbstrBusinessRuleString)
pbstrBusinessRuleStringLPWSTR*outアクセスチェックで設定されたビジネスルール文字列を格納したBSTRを受け取るポインタである。
vtbl 9 HRESULT get_UserDn(LPWSTR* pbstrProp)
pbstrPropLPWSTR*outクライアントの識別名(DN)を格納したBSTRを受け取るポインタである。
vtbl 10 HRESULT get_UserSamCompat(LPWSTR* pbstrProp)
pbstrPropLPWSTR*outクライアントのSAM互換アカウント名を格納したBSTRを受け取るポインタである。
vtbl 11 HRESULT get_UserDisplay(LPWSTR* pbstrProp)
pbstrPropLPWSTR*outクライアントの表示名を格納したBSTRを受け取るポインタである。
vtbl 12 HRESULT get_UserGuid(LPWSTR* pbstrProp)
pbstrPropLPWSTR*outクライアントのGUIDを格納したBSTRを受け取るポインタである。
vtbl 13 HRESULT get_UserCanonical(LPWSTR* pbstrProp)
pbstrPropLPWSTR*outクライアントの正規名(canonical name)を格納したBSTRを受け取るポインタである。
vtbl 14 HRESULT get_UserUpn(LPWSTR* pbstrProp)
pbstrPropLPWSTR*outクライアントのユーザープリンシパル名(UPN)を格納したBSTRを受け取るポインタである。
vtbl 15 HRESULT get_UserDnsSamCompat(LPWSTR* pbstrProp)
pbstrPropLPWSTR*outクライアントのDNS形式のSAM互換アカウント名を格納したBSTRを受け取るポインタである。
vtbl 16 HRESULT GetProperty(INT lPropId, VARIANT varReserved, VARIANT* pvarProp)
lPropIdINTin取得するプロパティを識別するプロパティIDを指定する。
varReservedVARIANTin予約済みであり、未使用のVARIANTを指定する。
pvarPropVARIANT*out取得したプロパティの値を格納したVARIANTを受け取るポインタである。
vtbl 17 HRESULT GetRoles(LPWSTR bstrScopeName, VARIANT* pvarRoleNames)
bstrScopeNameLPWSTRinロールを取得する対象のスコープ名をBSTRで指定する。
pvarRoleNamesVARIANT*outクライアントが属するロールの名前一覧を格納したVARIANTを受け取るポインタである。
vtbl 18 HRESULT get_RoleForAccessCheck(LPWSTR* pbstrProp)
pbstrPropLPWSTR*outアクセスチェックに使用するロール名を格納したBSTRを受け取るポインタである。
vtbl 19 HRESULT put_RoleForAccessCheck(LPWSTR bstrProp)
bstrPropLPWSTRinアクセスチェックに使用するロール名をBSTRで指定する。

HSP用 COM定義

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

出力引数:
#define global IID_IAzClientContext "{EFF1F00B-488A-466D-AFD9-A401C5F9EEF5}"
#usecom global IAzClientContext IID_IAzClientContext "{}"
#comfunc global IAzClientContext_AccessCheck             7 wstr,int,int,int,int,int,int,int,var
#comfunc global IAzClientContext_GetBusinessRuleString   8 var
#comfunc global IAzClientContext_get_UserDn              9 var
#comfunc global IAzClientContext_get_UserSamCompat       10 var
#comfunc global IAzClientContext_get_UserDisplay         11 var
#comfunc global IAzClientContext_get_UserGuid            12 var
#comfunc global IAzClientContext_get_UserCanonical       13 var
#comfunc global IAzClientContext_get_UserUpn             14 var
#comfunc global IAzClientContext_get_UserDnsSamCompat    15 var
#comfunc global IAzClientContext_GetProperty             16 int,int,var
#comfunc global IAzClientContext_GetRoles                17 wstr,var
#comfunc global IAzClientContext_get_RoleForAccessCheck  18 var
#comfunc global IAzClientContext_put_RoleForAccessCheck  19 wstr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。