概要
秀丸マクロからloaddllされたdllの関数を呼び出す方式は、
- dllfunc
- dllfuncw
- dllfuncstr
- dllfuncstrw
と4つあります。
このうち、dllfuncとdllfuncstrは、マルチバイト形式であり、Unicodeの範囲には対応できませんので、現在ではほとんど意味を持ちません。
Hm.CppInvokeでも、対象としているのは原則「dllfuncw」と「dllfuncstrw」の2つだけです。
関数呼び出しや返り値の型チェックの例
C++側のソース
秀丸マクロ側のソース
dllfuncwの「w」を削除したみたり、あるいは、「$r = dllfuncstrw(#dll, "test", -33, "333");」などと文字列を返す形を要求してみたりしてください。
呼び出し方が違うということでエラーを出すことができることでしょう。