RE:SusieプラグインのGetPluginInfo()を動的リンクで呼び出すとき (みやさか) 2001/06/14 03:33
> SusiePlug-inを自分で作っているソフトで動的リンクしようと
> したのですが、Spi_api.txtにある通りGetPluginInfo関数を
> 呼び出してみたところ、バグってしまいました。

#この状況で「バグってしまった」という言い方は、プログラマが使う表現と
#しては不適切な表現なのですが(^^;。

どういう風に動かないのか、それがわからないので何ともいえませんが、

> モジュールの読み込みには失敗してないので引数の渡し方の
> 失敗だと思うのですが、この情報を格納する文字列バッファは
> どういったものを渡せばよいのでしょうか?
> char型の配列を作ってLPSTR型にキャストして渡したのですが、
> これではダメということでしょうか。

バッファはそれでいいはずです。ほかには、バッファの大きさ(buflen)や
情報番号(infono)が間違っていないか、確認してみてはどうでしょうか。

あと、GetPluginInfo() を指す関数ポインタ( GetProcAddress() の戻り値を
保存する )の定義ですけど、これがもし、

int (*GetPluginInfo)(int,LPSTR,int);

となっていたら、GetPluginInfo() がリターンした直後にクラッシュします。

int (PASCAL *GetPluginInfo)(int,LPSTR,int);
 または
int (WINAPI *GetPluginInfo)(int,LPSTR,int);

のように、呼び出し規約 PASCAL or WINAPI の明示が絶対に必要です。


--「RE:SusieプラグインのGetPluginInfo()を動的リンクで呼び出すとき」に対するコメント--
タイトル(Subject):
お名前(Your name):
Mail address:
Password: :入力しておくとあとで削除できます
Your message:




7thBridge P ver0.26 (c)Takechin