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

IEffectivePermission2

COM
IID941fabca-dd47-4fca-90bb-b0e10255f20d継承元IUnknown自前メソッド開始 vtbl3

メソッド 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)
pSidPSIDin有効なアクセス権を計算する対象ユーザーのSIDを指定する。
pDeviceSidPSIDinoptionalデバイス要求の評価に使用するデバイスのSIDを指定する。NULL可。
pszServerNameLPWSTRinアカウント情報を照会するサーバー名を指定する。NULLの場合はローカルコンピュータを使用する。
pSecurityObjectsSECURITY_OBJECT*inoutアクセス権の計算に使用するセキュリティオブジェクトの配列(SECURITY_OBJECT)へのポインタである。
dwSecurityObjectCountDWORDinpSecurityObjects配列に含まれるセキュリティオブジェクトの数を指定する。
pUserGroupsTOKEN_GROUPS*inoptionalユーザーのグループメンバーシップを表すトークングループ(TOKEN_GROUPS)を指定する。NULL可。
pAuthzUserGroupsOperationsAUTHZ_SID_OPERATION*inoptional各ユーザーグループに対して適用する操作(置換、追加、削除)の配列を指定する。
pDeviceGroupsTOKEN_GROUPS*inoptionalデバイスのグループメンバーシップを表すトークングループ(TOKEN_GROUPS)を指定する。NULL可。
pAuthzDeviceGroupsOperationsAUTHZ_SID_OPERATION*inoptional各デバイスグループに対して適用する操作の配列を指定する。
pAuthzUserClaimsAUTHZ_SECURITY_ATTRIBUTES_INFORMATION*inoptionalユーザーのセキュリティ属性(クレーム)情報を指定する。NULL可。
pAuthzUserClaimsOperationsAUTHZ_SECURITY_ATTRIBUTE_OPERATION*inoptional各ユーザークレームに対して適用する操作の配列を指定する。
pAuthzDeviceClaimsAUTHZ_SECURITY_ATTRIBUTES_INFORMATION*inoptionalデバイスのセキュリティ属性(クレーム)情報を指定する。NULL可。
pAuthzDeviceClaimsOperationsAUTHZ_SECURITY_ATTRIBUTE_OPERATION*inoptional各デバイスクレームに対して適用する操作の配列を指定する。
pEffpermResultListsEFFPERM_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 指定が可能。