#func

外部DLL呼び出し命令登録

#func 新規名称 関数名 タイプ

解説

外部DLLを呼び出すための新しい命令をコンパイラに登録します。

新規名称、関数名、タイプをスペースで区切って書きます。関数名は
大小文字を含めて厳密に書かなければなりません。
func命令が処理されると、コンパイラに新規名称で指定した命令が追加
されます。新しい命令は、他のHSP命令と同様に処理されます。

	つまり、

	新規命令 p1,p2,p3,p4

のようにパラメータを4つまで渡すことのできる命令となります。
パラメータのp1,p2,p3,p4の内容はタイプによって異なります。

タイプは、呼び出しパラメータのバリエーションに対応した数値で設定します。
タイプの数値には以下のような種類があります。

(p1~p3までのパラメータ)

  タイプ0 : 新規命令 p1,p2,p3,p4
    ( p1=int, p2=int, p3=int )
  タイプ1 : 新規命令 p1,p2,p3,p4
    ( p1=変数バッファへのポインタ, p2=int, p3=int )
  タイプ2 : 新規命令 p2,p3,p4
    ( p1=BMSCR構造体へのポインタ, p2=int, p3=int )
  タイプ3 : 新規命令 p1,p2,p3,p4
    ( p1=変数情報PVAL構造体へのポインタ, p2=int, p3=int )
  タイプ4 : 新規命令 p2,p3,p4
    ( p1=int, p2=str, p3=int )
  タイプ5 : 新規命令 p1,p2,p3,p4
    ( p1=変数バッファへのポインタ, p2=str, p3=int )
  タイプ6 : 新規命令 p2,p3,p4
    ( p1=BMSCR構造体へのポインタ, p2=str, p3=int )
  タイプ7 : 新規命令 p1,p2,p3,p4
    ( p1=変数情報PVAL構造体へのポインタ, p2=str, p3=int )

	(p4のパラメータ)
	  各タイプ+$00 : p4=int
	  各タイプ+$10 : p4=システム変数refstrへのポインタ
	  各タイプ+$20 : p4=ファイルハンドルdpminfoへのポインタ
	  各タイプ+$30 : p4=パレットデータrgbptrへのポインタ

	(その他)
	  各タイプ+$80  : ver2.5専用のPVAL構造体を使用する
	  各タイプ+$100 : HSP終了時に自動的に呼び出される関数
	                  (クリーンアップ関数)の指定

パラメータの表記で、intは数値、strは文字列となります。
intのパラメータが省略されている場合は、0がDLLに渡されます。
それ以外のパラメータの省略はできません。
p1が、BMSCR構造体へのポインタの場合はパラメータの数が1つ少なく
なるので注意してください。

外部DLLへのリンクは、HSP2.EXEの起動時に行なわれます。もし、指定
したDLL名や、そこに含まれている関数名が1つでも見つからなかった
時には、「DLL not found」というエラーが表示されHSPは終了します。

関連項目

#uselib外部DLLの指定

サンプル逆引き (1)

HSPDX.AS

情報

バージョン2.61
作成日2004/03/01
著作者onitama
URLhttp://www.onionsoft.net/
備考ver2.61標準命令
タイプ内蔵命令
グループプリプロセッサ命令
hs ファイルhsphelp\i_prep.HS