コールバック関数(64bit)を作成します
val = callback64_new(p1, p2)
p1 : 作成するコールバック関数の引数の数 p2 : コールバック時にジャンプするサブルーチンラベル
(プラグイン / モジュール : hspint64.dll)
コールバック関数(64bit)を作成し、コールバック関数の情報が格納されたコールバック型の変数を返します。 p1 には 作成するコールバック関数の引数の数を指定します。 p2 には コールバックされるときに実行されるサブルーチンラベルを指定します。 なお、コールバック関数のポインタ(アドレス)を取得するには、callback64_getptr 関数を使用してください。 varptr や varptr64 では取得できません。
#include "hsp3_64.as" #include "hspint64.as" #include "user32.as" title "EnumWindows() の実験 ※コールバック関数のテスト" // コールバック関数作成 EnumWindowsProc = callback64_new( 2, *lbEnumWindowsProc) pEnumWindowsProc = callback64_getptr( EnumWindowsProc) // EnumWindows() を呼び出す nCount = 0 cfunc64v EnumWindows, pEnumWindowsProc, varptr(nCount) stop *lbEnumWindowsProc p1_hWnd = callback64_getprm( EnumWindowsProc, 0, RET_INT64 ) ;p2_lParam = callback64_getprm( EnumWindowsProc, 1, RET_INT64 ) // ウィンドウタイトルを表示 sdim strAnsi, 1024 + 1 cfunc64v GetWindowTextA, p1_hWnd, varptr(strAnsi), 1024 if strAnsi != "" : mes cnvatos(strAnsi) // 継続するので 1 を返す callback64_setret EnumWindowsProc, 1 return
callback64_getptr | コールバック関数のポインタ(アドレス)を取得します | (hspint64.dll) |
callback64_getprm | コールバック関数に渡された引数データを取得します | (hspint64.dll) |
callback64_setret | コールバック関数の戻り値を設定します | (hspint64.dll) |
プラグイン / モジュール | hspint64.dll |
バージョン | 1.03 |
作成日 | 2021/06/13 |
著作者 | inovia |
URL | https://hsp.moe/ |
備考 | #include "hsp3_64.as"
#include "hspint64.as" 以上2つのファイルをインクルードすること。 (ソースコード上の記述個所は一番上を推奨) |
タイプ | int64型拡張プラグイン |
グループ | callback64 |
対応環境 |
|
移植のヒント | 64bit版 Windows のみ |
hs ファイル | hsphelp\hspint64.hs |