04_varptr64.hsp

sample\hspint64.dll\04_varptr64.hsp » Plain Format

// hsp3_64.as → hspint64.as の順にインクルードしてください。
// また、varptr や callfunc をマクロで置き換えている都合上、
// hspint64.as のインクルードは なるべく上に書いておくことをお勧めします。
// なお、varptr や callfunc をマクロの置換をしない場合は、以下のコメントを解除してください。
// #define CANCEL_UNDEF_HSPINT64 

#include "hsp3_64.as"
#include "hspint64.as"

#uselib "user32.dll"
#func MessageBoxW "MessageBoxW" sptr,wstr,wstr,int

// varptr64
// 変数データのポインタ(64bit)を返します

sdim buf, 64
mes "変数bufのポインタ: " + varptr64(buf)
mes "MessageBoxW関数のポインタ: " + varptr64(MessageBoxW)

// なお、 #define CANCEL_UNDEF_HSPINT64 のコメントアウトを解除していなければ、
// varptr を書いた場合でも、varptr64 を自動的に呼び出します。

mes "変数bufのポインタ: " + varptr(buf)
mes "MessageBoxW関数のポインタ: " + varptr(MessageBoxW)