Win32 API 日本語リファレンス
ホームSystem.Com.Events › IEventClass

IEventClass

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IIDfb2b72a0-7a68-11d1-88f9-0080c7d771bf継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 14

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

vtbl 7 HRESULT get_EventClassID(LPWSTR* pbstrEventClassID)
pbstrEventClassIDLPWSTR*outイベントクラスの識別子を文字列として受け取る。
vtbl 8 HRESULT put_EventClassID(LPWSTR bstrEventClassID)
bstrEventClassIDLPWSTRinイベントクラスに設定する識別子を文字列で指定する。
vtbl 9 HRESULT get_EventClassName(LPWSTR* pbstrEventClassName)
pbstrEventClassNameLPWSTR*outイベントクラスの名前を文字列として受け取る。
vtbl 10 HRESULT put_EventClassName(LPWSTR bstrEventClassName)
bstrEventClassNameLPWSTRinイベントクラスに設定する名前を文字列で指定する。
vtbl 11 HRESULT get_OwnerSID(LPWSTR* pbstrOwnerSID)
pbstrOwnerSIDLPWSTR*outイベントクラスの所有者を表す SID を文字列として受け取る。
vtbl 12 HRESULT put_OwnerSID(LPWSTR bstrOwnerSID)
bstrOwnerSIDLPWSTRinイベントクラスの所有者を表す SID を文字列で指定する。
vtbl 13 HRESULT get_FiringInterfaceID(LPWSTR* pbstrFiringInterfaceID)
pbstrFiringInterfaceIDLPWSTR*outイベントを発行する発火インターフェイスの ID を文字列として受け取る。
vtbl 14 HRESULT put_FiringInterfaceID(LPWSTR bstrFiringInterfaceID)
bstrFiringInterfaceIDLPWSTRinイベントを発行する発火インターフェイスの ID を文字列で指定する。
vtbl 15 HRESULT get_Description(LPWSTR* pbstrDescription)
pbstrDescriptionLPWSTR*outイベントクラスの説明文字列を受け取る。
vtbl 16 HRESULT put_Description(LPWSTR bstrDescription)
bstrDescriptionLPWSTRinイベントクラスに設定する説明文字列を指定する。
vtbl 17 HRESULT get_CustomConfigCLSID(LPWSTR* pbstrCustomConfigCLSID)
pbstrCustomConfigCLSIDLPWSTR*outカスタム構成コンポーネントの CLSID を文字列として受け取る。
vtbl 18 HRESULT put_CustomConfigCLSID(LPWSTR bstrCustomConfigCLSID)
bstrCustomConfigCLSIDLPWSTRinカスタム構成コンポーネントの CLSID を文字列で指定する。
vtbl 19 HRESULT get_TypeLib(LPWSTR* pbstrTypeLib)
pbstrTypeLibLPWSTR*outイベントクラスに関連付けられたタイプライブラリのパスまたは識別子を文字列として受け取る。
vtbl 20 HRESULT put_TypeLib(LPWSTR bstrTypeLib)
bstrTypeLibLPWSTRinイベントクラスに関連付けるタイプライブラリのパスまたは識別子を文字列で指定する。

HSP用 COM定義

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

出力引数:
#define global IID_IEventClass "{FB2B72A0-7A68-11D1-88F9-0080C7D771BF}"
#usecom global IEventClass IID_IEventClass "{}"
#comfunc global IEventClass_get_EventClassID       7 var
#comfunc global IEventClass_put_EventClassID       8 wstr
#comfunc global IEventClass_get_EventClassName     9 var
#comfunc global IEventClass_put_EventClassName     10 wstr
#comfunc global IEventClass_get_OwnerSID           11 var
#comfunc global IEventClass_put_OwnerSID           12 wstr
#comfunc global IEventClass_get_FiringInterfaceID  13 var
#comfunc global IEventClass_put_FiringInterfaceID  14 wstr
#comfunc global IEventClass_get_Description        15 var
#comfunc global IEventClass_put_Description        16 wstr
#comfunc global IEventClass_get_CustomConfigCLSID  17 var
#comfunc global IEventClass_put_CustomConfigCLSID  18 wstr
#comfunc global IEventClass_get_TypeLib            19 var
#comfunc global IEventClass_put_TypeLib            20 wstr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。