Win32 API 日本語リファレンス
ホームNetworking.ActiveDirectory › IADsAccessControlEntry

IADsAccessControlEntry

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IIDb4f3a14c-9bdd-11d0-852c-00c04fd8d503継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 14

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

vtbl 7 HRESULT get_AccessMask(INT* retval)
retvalINT*outACEが許可・拒否するアクセス権ビットマスクを受け取る出力先。INT*で返る。
vtbl 8 HRESULT put_AccessMask(INT lnAccessMask)
lnAccessMaskINTin設定するアクセス権ビットマスクを指定する。
vtbl 9 HRESULT get_AceType(INT* retval)
retvalINT*outACEの種別(許可/拒否/監査等)を受け取る出力先。ADS_ACETYPE_*の値。
vtbl 10 HRESULT put_AceType(INT lnAceType)
lnAceTypeINTin設定するACEの種別(ADS_ACETYPE_*)を指定する。
vtbl 11 HRESULT get_AceFlags(INT* retval)
retvalINT*outACEの継承・監査制御フラグを受け取る出力先。ADS_ACEFLAG_*のビット値。
vtbl 12 HRESULT put_AceFlags(INT lnAceFlags)
lnAceFlagsINTin設定するACEの継承・監査制御フラグ(ADS_ACEFLAG_*)を指定する。
vtbl 13 HRESULT get_Flags(INT* retval)
retvalINT*outObjectType等が有効かを示すフラグを受け取る出力先。ADS_FLAGTYPE_*の値。
vtbl 14 HRESULT put_Flags(INT lnFlags)
lnFlagsINTin設定するフラグ(ObjectTypeの有無等、ADS_FLAGTYPE_*)を指定する。
vtbl 15 HRESULT get_ObjectType(LPWSTR* retval)
retvalLPWSTR*outACEが対象とするオブジェクト型のGUID文字列を受け取る出力先。BSTRで返る。
vtbl 16 HRESULT put_ObjectType(LPWSTR bstrObjectType)
bstrObjectTypeLPWSTRin設定する対象オブジェクト型のGUID文字列をBSTRで指定する。
vtbl 17 HRESULT get_InheritedObjectType(LPWSTR* retval)
retvalLPWSTR*out継承元として制限する子オブジェクト型のGUID文字列を受け取る出力先。BSTRで返る。
vtbl 18 HRESULT put_InheritedObjectType(LPWSTR bstrInheritedObjectType)
bstrInheritedObjectTypeLPWSTRin設定する継承制限対象のオブジェクト型GUID文字列をBSTRで指定する。
vtbl 19 HRESULT get_Trustee(LPWSTR* retval)
retvalLPWSTR*out権限の対象となるトラスティ(ユーザー/グループ)名を受け取る出力先。BSTRで返る。
vtbl 20 HRESULT put_Trustee(LPWSTR bstrTrustee)
bstrTrusteeLPWSTRin設定するトラスティ(ユーザー/グループ)名をBSTRで指定する。

HSP用 COM定義

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

出力引数:
#define global IID_IADsAccessControlEntry "{B4F3A14C-9BDD-11D0-852C-00C04FD8D503}"
#usecom global IADsAccessControlEntry IID_IADsAccessControlEntry "{}"
#comfunc global IADsAccessControlEntry_get_AccessMask           7 var
#comfunc global IADsAccessControlEntry_put_AccessMask           8 int
#comfunc global IADsAccessControlEntry_get_AceType              9 var
#comfunc global IADsAccessControlEntry_put_AceType              10 int
#comfunc global IADsAccessControlEntry_get_AceFlags             11 var
#comfunc global IADsAccessControlEntry_put_AceFlags             12 int
#comfunc global IADsAccessControlEntry_get_Flags                13 var
#comfunc global IADsAccessControlEntry_put_Flags                14 int
#comfunc global IADsAccessControlEntry_get_ObjectType           15 var
#comfunc global IADsAccessControlEntry_put_ObjectType           16 wstr
#comfunc global IADsAccessControlEntry_get_InheritedObjectType  17 var
#comfunc global IADsAccessControlEntry_put_InheritedObjectType  18 wstr
#comfunc global IADsAccessControlEntry_get_Trustee              19 var
#comfunc global IADsAccessControlEntry_put_Trustee              20 wstr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。