callfunc64i

外部関数の呼び出し(戻り値int64型)

val = callfunc64i(p1,p2,p3)

p1 : パラメーターが格納されている配列変数
p2 : 関数アドレス(64bit)
p3 : パラメーター数

(プラグイン / モジュール : hspint64.dll)

解説

callfunc関数の64bit対応版です。
なお、hspint64.as をインクルードした場合は、既存のcallfunc関数は、callfunc64i関数に置き換えられています。
同様な関数に可変長引数版のcfunc64もあります(こちらを推奨)。

p2で指定されているアドレス(64bit)をネイティブな関数として呼び出します。
関数の戻り値はint64型で返却します。int型やvoidの場合でもこの関数で構いません。
戻り値がdoublefloat(intキャスト)の場合は、callfunc64d,callfunc64fを使用してください。

呼び出しの引数として、p1で指定された数値型配列変数に格納されている値を使用します。p3でパラメーター数を指定することができます。

例 :
	a.0=1
	a.1=2
	a.2=3
	res = callfunc64i( a, proc, 3 )

上の例では、procが示すアドレスの関数を(1,2,3)という引数で呼び出します。
呼び出した関数の戻り値が、そのままcallfunc64iの戻り値となります。
この関数は、自前で関数アドレスを用意して呼び出す特殊な状況に使用するものです。
通常は使用する必要がありません。また、外部関数呼び出しに失敗した場合には、フリーズや予期しない結果が起こる場合があるので、十分に注意して使用するようにしてください。

関連項目

cfunc64外部関数の呼び出し(可変長引数版)(hspint64.dll)
callfunc64d外部関数の呼び出し(戻り値double型)(hspint64.dll)
callfunc64f外部関数の呼び出し(戻り値float(intキャスト)型)(hspint64.dll)
callfunc外部関数の呼び出し

サンプル逆引き (1)

40_callfunc64系.hsp

情報

プラグイン / モジュールhspint64.dll
バージョン1.03
作成日2021/06/13
著作者inovia
URLhttps://hsp.moe/
備考#include "hsp3_64.as"
#include "hspint64.as"
以上2つのファイルをインクルードすること。
(ソースコード上の記述個所は一番上を推奨)
タイプint64型拡張プラグイン
グループcallfunc
対応環境
  • Windows 版 HSP
移植のヒント64bit版 Windows のみ
hs ファイルhsphelp\hspint64.hs