EXEC_PTR

分類分類/システム/ポインタ
種類命令
引数{文字列=「stdcall」}CALLTYPE,{参照渡し}FUNC,{整数}SIZE,{参照渡し}RECT,RET
説明関数ポインタFUNCを実行する。SIZEは引数スタックのサイズ、RECTは引数スタックに積む実データ、RETは返り値の型名を文字列で指定する。CALLTYPEはstdcallかcdeclを指定する(デフォルトはstdcall)。
識別id:162

サンプル

MessageBoxを呼び出すサンプルです。

●LoadLibrary(lpFileName) =DLL("kernel32.dll",
"HMODULE LoadLibraryA(
  LPCTSTR lpFileName   // モジュールのファイル名
)")
●GetProcAddress(hModule,lpProcName) =DLL("kernel32.dll",
"PFUNC GetProcAddress(
  HMODULE hModule,    // DLL モジュールのハンドル
  LPCSTR lpProcName   // 関数名
)")
●FreeLibrary(hModule) =DLL("kernel32.dll",
"BOOL FreeLibrary(
  HMODULE hModule   // DLL モジュールのハンドル
)")

DLLハンドルはLoadLibrary(「user32.dll」)
もしそれが0ならば
 終わる

関数ポインタはGetProcAddress(DLLハンドル,「MessageBoxA」)
もしそれが0ならば
 終わる

タイトルとは文字列=「サンプル」
テキストとは文字列=「テスト」

引数とは文字列
引数に4*4を確保#サイズが4バイト以下の引数が4つなので
母艦のハンドルを引数の1に「int」でバイナリ設定
POINTER(テキスト)を引数の5に「int」でバイナリ設定
POINTER(タイトル)を引数の9に「int」でバイナリ設定
1を引数の13に「int」でバイナリ設定

EXEC_PTR(「stdcall」,関数ポインタ,4*4,引数,「long」)

FreeLibrary(DLLハンドル)