IEventClass
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
イベントオブジェクトのクラスを、それらのオブジェクトが実装するイベントインターフェイスに関連付けます。
メソッド 14
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
イベントクラスオブジェクトの CLSID です。(Get)
| pbstrEventClassID | LPWSTR* | out | イベントクラスの識別子を文字列として受け取る。 |
イベントクラスオブジェクトの CLSID です。(Put)
| bstrEventClassID | LPWSTR | in | イベントクラスに設定する識別子を文字列で指定する。 |
イベントクラスオブジェクトの ProgID です。(Get)
| pbstrEventClassName | LPWSTR* | out | イベントクラスの名前を文字列として受け取る。 |
イベントクラスオブジェクトの ProgID です。(Put)
| bstrEventClassName | LPWSTR | in | イベントクラスに設定する名前を文字列で指定する。 |
イベントクラスオブジェクトの作成者のセキュリティ ID です。このプロパティは後方互換性のためにのみサポートされます。(Get)
| pbstrOwnerSID | LPWSTR* | out | イベントクラスの所有者を表す SID を文字列として受け取る。 |
イベントクラスオブジェクトの作成者のセキュリティ ID です。このプロパティは後方互換性のためにのみサポートされます。(Put)
| bstrOwnerSID | LPWSTR | in | イベントクラスの所有者を表す SID を文字列で指定する。 |
イベントクラスオブジェクト上のイベントインターフェイスの ID です。このプロパティは後方互換性のためにのみサポートされます。(Get)
| pbstrFiringInterfaceID | LPWSTR* | out | イベントを発行する発火インターフェイスの ID を文字列として受け取る。 |
イベントクラスオブジェクト上のイベントインターフェイスの ID です。このプロパティは後方互換性のためにのみサポートされます。(Put)
| bstrFiringInterfaceID | LPWSTR | in | イベントを発行する発火インターフェイスの ID を文字列で指定する。 |
イベントクラスオブジェクトの表示可能なテキスト説明です。(Get)
| pbstrDescription | LPWSTR* | out | イベントクラスの説明文字列を受け取る。 |
イベントクラスオブジェクトの表示可能なテキスト説明です。(Put)
| bstrDescription | LPWSTR | in | イベントクラスに設定する説明文字列を指定する。 |
サブスクリプションオブジェクトのプロパティバッグへのプロパティ追加を支援できるコンポーネントの CLSID です。このプロパティは後方互換性のためにのみサポートされます。(Get)
| pbstrCustomConfigCLSID | LPWSTR* | out | カスタム構成コンポーネントの CLSID を文字列として受け取る。 |
サブスクリプションオブジェクトのプロパティバッグへのプロパティ追加を支援できるコンポーネントの CLSID です。このプロパティは後方互換性のためにのみサポートされます。(Put)
| bstrCustomConfigCLSID | LPWSTR | in | カスタム構成コンポーネントの CLSID を文字列で指定する。 |
イベントインターフェイスの記述を含むタイプライブラリのパスです。(Get)
| pbstrTypeLib | LPWSTR* | out | イベントクラスに関連付けられたタイプライブラリのパスまたは識別子を文字列として受け取る。 |
イベントインターフェイスの記述を含むタイプライブラリのパスです。(Put)
| bstrTypeLib | LPWSTR | in | イベントクラスに関連付けるタイプライブラリのパスまたは識別子を文字列で指定する。 |
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
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 不要)。#define global IID_IEventClass "{FB2B72A0-7A68-11D1-88F9-0080C7D771BF}" #usecom global IEventClass IID_IEventClass "{}" #comfunc global IEventClass_get_EventClassID 7 sptr #comfunc global IEventClass_put_EventClassID 8 wstr #comfunc global IEventClass_get_EventClassName 9 sptr #comfunc global IEventClass_put_EventClassName 10 wstr #comfunc global IEventClass_get_OwnerSID 11 sptr #comfunc global IEventClass_put_OwnerSID 12 wstr #comfunc global IEventClass_get_FiringInterfaceID 13 sptr #comfunc global IEventClass_put_FiringInterfaceID 14 wstr #comfunc global IEventClass_get_Description 15 sptr #comfunc global IEventClass_put_Description 16 wstr #comfunc global IEventClass_get_CustomConfigCLSID 17 sptr #comfunc global IEventClass_put_CustomConfigCLSID 18 wstr #comfunc global IEventClass_get_TypeLib 19 sptr #comfunc global IEventClass_put_TypeLib 20 wstr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。