松尾です > - SetVTIconID() に WINAPI がありません。 > つけたほうがよいと思われますが、いかがですか? つけたほうがよさそうですね。 いれておきます 。 > - ttpcmn.def ファイルへの記述 defファイルに書くほうが良いのかなという気になってきました。 NotifyMessage(W)() は変更ないので、defの内容はそのままにしておきました。 CreateNotifyIcon() 等は名前が変わったのでdefから削除しました。 新しく追加した(名前を変更した)関数は、 序数でGetProcAddress()してほしくないという気持ちで defからなくしていました。 defからなくせば、Cソース内のみの修正となって 保守が楽だなと思っていました。 シンボルの前後に"_"と"@n"が追加されるのは これは関数を呼び出せているのでokかなと思っていました。 インポートライブラリ(ttpcmn.lib)が シンボル名の違いを吸収しているんだと思います。 GetProcAddress("関数名") ではなく、 GetProcAddress("_関数名@N") でないと アドレスが引けなくなりそうです。 でもこういう使い方はしなくて、 プラグインはインポートライブラリ(ttpcmn.lib) をリンクするのかなと思います。 # MinGWでリンク時に何か警告が出たりしていましたが # 調査は後回しにしています defに指定のないエクスポートしたシンボルの序数は 序数の未使用な値を小さい順で利用していくようですね。 (多分序数はDLL内のエクスポートシンボルリストのインデックスだと思います) これが問題がありそうです。 削除した関数の序数を使っていない状態とするには 新しいシンボルを追加するとき 新しく採番してdefに書く必要があるのかもしれないです。 なかなか面倒ですね・・ 何とか簡単にならないか調べてみます。