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

IDsAdminNotifyHandler

COM
IIDe4a2b8b3-5a18-11d2-97c1-00a0c9a06d2d継承元IUnknown自前メソッド開始 vtbl3

メソッド 4

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT Initialize(IDataObject* pExtraInfo, DWORD* puEventFlags)
pExtraInfoIDataObject*in通知対象オブジェクト情報を保持するIDataObject。
puEventFlagsDWORD*inoutハンドラーが処理するイベント種別を示すフラグを受け取る出力ポインタ。
vtbl 4 HRESULT Begin(DWORD uEvent, IDataObject* pArg1, IDataObject* pArg2, DWORD* puFlags, LPWSTR* pBstr)
uEventDWORDin開始する操作のイベント種別(削除/移動/名前変更/プロパティ等)。
pArg1IDataObject*inイベントに関連する第1引数のオブジェクト情報(IDataObject)。
pArg2IDataObject*inイベントに関連する第2引数のオブジェクト情報(IDataObject)。NULL可。
puFlagsDWORD*inout操作の続行可否や挙動を示すフラグを受け取る出力ポインタ。
pBstrLPWSTR*inoutユーザーへ表示するメッセージ文字列を受け取る出力BSTRポインタ。
vtbl 5 HRESULT Notify(DWORD nItem, DWORD uFlags)
nItemDWORDin通知対象アイテムのインデックスまたは件数。
uFlagsDWORDin通知の状態を示すフラグ(成功/失敗等)。
vtbl 6 HRESULT End()

HSP用 COM定義

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

出力引数:
#define global IID_IDsAdminNotifyHandler "{E4A2B8B3-5A18-11D2-97C1-00A0C9A06D2D}"
#usecom global IDsAdminNotifyHandler IID_IDsAdminNotifyHandler "{}"
#comfunc global IDsAdminNotifyHandler_Initialize  3 sptr,var
#comfunc global IDsAdminNotifyHandler_Begin       4 int,sptr,sptr,var,var
#comfunc global IDsAdminNotifyHandler_Notify      5 int,int
#comfunc global IDsAdminNotifyHandler_End         6
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。