COM コールバックインターフェース クラス定義開始
#defcbcom class_name interface_name
class_name : HSP 側で付ける任意のクラス名 (例 MyDropTarget) interface_name : 事前に #usecom で IID を登録した COM インターフェース名
(プラグイン / モジュール : hspcbcom)
HSP 側で COM インターフェース (例: IDropTarget, IBindStatusCallback) を実装するための クラス宣言を開始する。中に #cbmethod を列挙してメソッドを vtable index にマッピングする。 最後に #endcbcom で締める。 IUnknown の QueryInterface / AddRef / Release は自動実装される (vtable slot 0..2)。 ユーザーが書くのは vtable index 3 以降のメソッドのみ。
#define IID_IDropTarget "{00000122-0000-0000-c000-000000000046}"
#usecom IDropTarget IID_IDropTarget "{}"
#defcbcom MyDT IDropTarget
#cbmethod 3 int comobj, int, intptr, intptr, *dt_enter
#cbmethod 4 int int, intptr, intptr, *dt_over
#cbmethod 5 int, *dt_leave
#cbmethod 6 int comobj, int, intptr, intptr, *dt_drop
#endcbcom
| #cbmethod | COM コールバッククラスにメソッドを登録する | (hspcbcom) |
| #endcbcom | COM コールバッククラス定義終了 | (hspcbcom) |
| newcomcb | COM コールバッククラスのインスタンスを生成する | (hspcbcom) |
| プラグイン / モジュール | hspcbcom |
| バージョン | 0.1 |
| 作成日 | 2026/04/14 |
| 著作者 | IronHSP project |
| URL | https://github.com/inovia/IronHSP |
| 備考 | hspcbcom (#defcbcom / #cbmethod / #endcbcom / newcomcb / comprm 等) は IronHSP の
hsp3net ランタイムに組み込まれているため、追加の include は不要です。 hsp3net 専用 (vanilla hsp3 では使えません)。 |
| タイプ | 内蔵命令 |
| グループ | hspcbcom - COM コールバックインターフェース |
| 対応環境 |
|
| hs ファイル | hsphelp\hspcbcom.hs |