開発環境がXP Professional SP3、Visual Studio 2005(VC8) SP1で作成した物をWin95OS上でRegSvr32を行うと失敗します。
DllRegisterServer関数を呼ぶ前の段階のLoadLibrary関数で失敗しているようです。
LoadLibraryはエラー 31(ERROR_GEN_FAILURE) で失敗していました。
※別のOS(Win98、NT4.0、Win2000)では事象は発生しませんでした。
どのようなことが原因としてあげられるでしょうか。
よろしくお願いします。
MSDNのLoadLibrary関数のところに書いてある
>Windows 95:LoadLibrary を使用して、数値識別子が 0x7FFF より大きいリ
> ソースを保持するモジュールをロードすると、LoadLibrary は失敗します。
> 32 ビットコードから 16 ビット DLL を直接呼び出そうとした場合も、
> LoadLibrary は失敗します。サブシステムのバージョンが 4.0 を上回る
> DLL をロードしようとした場合も、同じく LoadLibrary は失敗します。
> DllMain 関数が Win32 関数の Unicode 版を呼び出そうとした場合も、
> LoadLibrary は失敗します。
この辺りに当てはまるものはありませんか?
同じ表題で微妙に内容が異なる質問をしているみたいでしたので、とりあえず
こちらにだけ回答してみました。
LoadLibraryの時点で失敗しているとなるとそのOCXが使うDLLが無いとか?
あるいはOCXのDLLとしての初期化で失敗してるのだろうか?
Windows95 はサポートされていないらしいです
http://www.usefullcode.net/2006/12/visual_studio_2005windows_95.html
回答ありがとうございました。
VS2005ではWindows95をサポートしていないようですね。
この件は解決とさせて頂きます。
ツイート | ![]() |