ホーム › Security.Authorization.UI › IEffectivePermission
IEffectivePermission
COMメソッド 1
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT GetEffectivePermission(GUID* pguidObjectType, PSID pUserSid, LPWSTR pszServerName, PSECURITY_DESCRIPTOR pSD, OBJECT_TYPE_LIST** ppObjectTypeList, DWORD* pcObjectTypeListLength, DWORD** ppGrantedAccessList, DWORD* pcGrantedAccessListLength)
| pguidObjectType | GUID* | in | 有効なアクセス権を計算する対象のオブジェクト種別を表すGUIDへのポインタである。 |
| pUserSid | PSID | in | 有効なアクセス権を計算する対象ユーザーのSIDを指定する。 |
| pszServerName | LPWSTR | in | アカウント情報を照会するサーバー名を指定する。NULLの場合はローカルコンピュータを使用する。 |
| pSD | PSECURITY_DESCRIPTOR | in | アクセス権の計算に使用するセキュリティ記述子を指定する。 |
| ppObjectTypeList | OBJECT_TYPE_LIST** | inout | アクセス権を計算したオブジェクト種別の一覧(OBJECT_TYPE_LIST)を受け取るポインタである。 |
| pcObjectTypeListLength | DWORD* | inout | 返されたオブジェクト種別一覧の要素数を受け取るポインタである。 |
| ppGrantedAccessList | DWORD** | inout | 各オブジェクト種別に対して付与される有効なアクセス権マスクの配列を受け取るポインタである。 |
| pcGrantedAccessListLength | DWORD* | inout | 返されたアクセス権マスク配列の要素数を受け取るポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IEffectivePermission "{3853DC76-9F35-407C-88A1-D19344365FBC}" #usecom global IEffectivePermission IID_IEffectivePermission "{}" #comfunc global IEffectivePermission_GetEffectivePermission 3 var,sptr,wstr,sptr,var,var,var,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IEffectivePermission "{3853DC76-9F35-407C-88A1-D19344365FBC}" #usecom global IEffectivePermission IID_IEffectivePermission "{}" #comfunc global IEffectivePermission_GetEffectivePermission 3 sptr,sptr,wstr,sptr,sptr,sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。