ホーム › Security.Authorization.UI › IEffectivePermission2
IEffectivePermission2
COMメソッド 1
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT ComputeEffectivePermissionWithSecondarySecurity(PSID pSid, PSID pDeviceSid, LPWSTR pszServerName, SECURITY_OBJECT* pSecurityObjects, DWORD dwSecurityObjectCount, TOKEN_GROUPS* pUserGroups, AUTHZ_SID_OPERATION* pAuthzUserGroupsOperations, TOKEN_GROUPS* pDeviceGroups, AUTHZ_SID_OPERATION* pAuthzDeviceGroupsOperations, AUTHZ_SECURITY_ATTRIBUTES_INFORMATION* pAuthzUserClaims, AUTHZ_SECURITY_ATTRIBUTE_OPERATION* pAuthzUserClaimsOperations, AUTHZ_SECURITY_ATTRIBUTES_INFORMATION* pAuthzDeviceClaims, AUTHZ_SECURITY_ATTRIBUTE_OPERATION* pAuthzDeviceClaimsOperations, EFFPERM_RESULT_LIST* pEffpermResultLists)
| pSid | PSID | in | 有効なアクセス権を計算する対象ユーザーのSIDを指定する。 |
| pDeviceSid | PSID | inoptional | デバイス要求の評価に使用するデバイスのSIDを指定する。NULL可。 |
| pszServerName | LPWSTR | in | アカウント情報を照会するサーバー名を指定する。NULLの場合はローカルコンピュータを使用する。 |
| pSecurityObjects | SECURITY_OBJECT* | inout | アクセス権の計算に使用するセキュリティオブジェクトの配列(SECURITY_OBJECT)へのポインタである。 |
| dwSecurityObjectCount | DWORD | in | pSecurityObjects配列に含まれるセキュリティオブジェクトの数を指定する。 |
| pUserGroups | TOKEN_GROUPS* | inoptional | ユーザーのグループメンバーシップを表すトークングループ(TOKEN_GROUPS)を指定する。NULL可。 |
| pAuthzUserGroupsOperations | AUTHZ_SID_OPERATION* | inoptional | 各ユーザーグループに対して適用する操作(置換、追加、削除)の配列を指定する。 |
| pDeviceGroups | TOKEN_GROUPS* | inoptional | デバイスのグループメンバーシップを表すトークングループ(TOKEN_GROUPS)を指定する。NULL可。 |
| pAuthzDeviceGroupsOperations | AUTHZ_SID_OPERATION* | inoptional | 各デバイスグループに対して適用する操作の配列を指定する。 |
| pAuthzUserClaims | AUTHZ_SECURITY_ATTRIBUTES_INFORMATION* | inoptional | ユーザーのセキュリティ属性(クレーム)情報を指定する。NULL可。 |
| pAuthzUserClaimsOperations | AUTHZ_SECURITY_ATTRIBUTE_OPERATION* | inoptional | 各ユーザークレームに対して適用する操作の配列を指定する。 |
| pAuthzDeviceClaims | AUTHZ_SECURITY_ATTRIBUTES_INFORMATION* | inoptional | デバイスのセキュリティ属性(クレーム)情報を指定する。NULL可。 |
| pAuthzDeviceClaimsOperations | AUTHZ_SECURITY_ATTRIBUTE_OPERATION* | inoptional | 各デバイスクレームに対して適用する操作の配列を指定する。 |
| pEffpermResultLists | EFFPERM_RESULT_LIST* | inout | 計算された有効なアクセス権の結果一覧(EFFPERM_RESULT_LIST)を受け取るポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IEffectivePermission2 "{941FABCA-DD47-4FCA-90BB-B0E10255F20D}" #usecom global IEffectivePermission2 IID_IEffectivePermission2 "{}" #comfunc global IEffectivePermission2_ComputeEffectivePermissionWithSecondarySecurity 3 sptr,sptr,wstr,var,int,var,var,var,var,var,var,var,var,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IEffectivePermission2 "{941FABCA-DD47-4FCA-90BB-B0E10255F20D}" #usecom global IEffectivePermission2 IID_IEffectivePermission2 "{}" #comfunc global IEffectivePermission2_ComputeEffectivePermissionWithSecondarySecurity 3 sptr,sptr,wstr,sptr,int,sptr,sptr,sptr,sptr,sptr,sptr,sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。