ホーム › Security.Authorization.UI › ISecurityInformation
ISecurityInformation
COMメソッド 7
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT GetObjectInformation(SI_OBJECT_INFO* pObjectInfo)
| pObjectInfo | SI_OBJECT_INFO* | inout | アクセス制御エディタに表示するオブジェクトの情報を格納するSI_OBJECT_INFO構造体を受け取るポインタである。 |
vtbl 4 HRESULT GetSecurity(OBJECT_SECURITY_INFORMATION RequestedInformation, PSECURITY_DESCRIPTOR* ppSecurityDescriptor, BOOL fDefault)
| RequestedInformation | OBJECT_SECURITY_INFORMATION | in | 取得を要求するセキュリティ情報の種類(所有者、グループ、DACL、SACL等)を指定する。 |
| ppSecurityDescriptor | PSECURITY_DESCRIPTOR* | inout | 要求されたオブジェクトのセキュリティ記述子を受け取るポインタである。 |
| fDefault | BOOL | in | TRUEの場合、現在の値ではなく既定のセキュリティ記述子を返すよう指定する。 |
vtbl 5 HRESULT SetSecurity(OBJECT_SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor)
| SecurityInformation | OBJECT_SECURITY_INFORMATION | in | 設定するセキュリティ情報の種類(所有者、グループ、DACL、SACL等)を指定する。 |
| pSecurityDescriptor | PSECURITY_DESCRIPTOR | in | オブジェクトに適用する新しいセキュリティ記述子を指定する。 |
vtbl 6 HRESULT GetAccessRights(GUID* pguidObjectType, SECURITY_INFO_PAGE_FLAGS dwFlags, SI_ACCESS** ppAccess, DWORD* pcAccesses, DWORD* piDefaultAccess)
| pguidObjectType | GUID* | in | アクセス権を取得する対象のオブジェクト種別を表すGUIDへのポインタである。 |
| dwFlags | SECURITY_INFO_PAGE_FLAGS | in | プロパティページの種類や動作を制御するフラグを指定する。 |
| ppAccess | SI_ACCESS** | inout | オブジェクトに対するアクセス権の配列(SI_ACCESS)を受け取るポインタである。 |
| pcAccesses | DWORD* | inout | 返されたアクセス権配列の要素数を受け取るポインタである。 |
| piDefaultAccess | DWORD* | inout | アクセス権配列内で既定として選択する項目のインデックスを受け取るポインタである。 |
| pguidObjectType | GUID* | in | 汎用アクセス権をマップする対象のオブジェクト種別を表すGUIDへのポインタである。 |
| pAceFlags | BYTE* | inout | ACEの継承フラグを示すBYTEへのポインタである。 |
| pMask | DWORD* | inout | 入力時の汎用アクセスマスクを渡し、対応する標準/固有アクセス権にマップした結果を受け取るポインタである。 |
vtbl 8 HRESULT GetInheritTypes(SI_INHERIT_TYPE** ppInheritTypes, DWORD* pcInheritTypes)
| ppInheritTypes | SI_INHERIT_TYPE** | inout | 子オブジェクトへの継承方法を表す継承種別の配列(SI_INHERIT_TYPE)を受け取るポインタである。 |
| pcInheritTypes | DWORD* | inout | 返された継承種別配列の要素数を受け取るポインタである。 |
vtbl 9 HRESULT PropertySheetPageCallback(HWND hwnd, PSPCB_MESSAGE uMsg, SI_PAGE_TYPE uPage)
| hwnd | HWND | in | プロパティシートページのウィンドウハンドルを指定する。 |
| uMsg | PSPCB_MESSAGE | in | ページの作成や破棄などの状態を示すコールバックメッセージを指定する。 |
| uPage | SI_PAGE_TYPE | in | 対象となるプロパティシートページの種類を指定する。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ISecurityInformation "{965FC360-16FF-11D0-91CB-00AA00BBB723}" #usecom global ISecurityInformation IID_ISecurityInformation "{}" #comfunc global ISecurityInformation_GetObjectInformation 3 var #comfunc global ISecurityInformation_GetSecurity 4 int,sptr,int #comfunc global ISecurityInformation_SetSecurity 5 int,sptr #comfunc global ISecurityInformation_GetAccessRights 6 var,int,var,var,var #comfunc global ISecurityInformation_MapGeneric 7 var,var,var #comfunc global ISecurityInformation_GetInheritTypes 8 var,var #comfunc global ISecurityInformation_PropertySheetPageCallback 9 sptr,int,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ISecurityInformation "{965FC360-16FF-11D0-91CB-00AA00BBB723}" #usecom global ISecurityInformation IID_ISecurityInformation "{}" #comfunc global ISecurityInformation_GetObjectInformation 3 sptr #comfunc global ISecurityInformation_GetSecurity 4 int,sptr,int #comfunc global ISecurityInformation_SetSecurity 5 int,sptr #comfunc global ISecurityInformation_GetAccessRights 6 sptr,int,sptr,sptr,sptr #comfunc global ISecurityInformation_MapGeneric 7 sptr,sptr,sptr #comfunc global ISecurityInformation_GetInheritTypes 8 sptr,sptr #comfunc global ISecurityInformation_PropertySheetPageCallback 9 sptr,int,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。