Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > Win32APIライブラリ > Win32APIクラス > Call

instance method Win32API#Call

call(*args)[permalink][rdoc]
Call(*args)

[TODO]

API を呼び出します。 指定する引数と戻り値は Win32API.new の引数の指定に従います。 特にポインタを渡してそのポインタの指す領域に値が設定される場合は その領域をあらかじめ確保しておく必要があります。

例えば、引数のバッファに書き込む関数を呼び出すには以下のようにします。

api = Win32API.new('foo.dll', 'foo', 'p', 'v')
buf = "\0" * 256
api.call(buf)

ポインタの配列を渡す場合は以下のようにします。

api = Win32API.new('foo.dll', 'foo', 'p', 'v')
args = ["\0" * 256, "\0" * 256, "\0" * 256]
api.call(args.pack("p3"))
call(*args)[permalink][rdoc]
Call(*args)

[TODO]

DL::Symbol#call により関数を実行します。