DLL参照数

今作ってるソフト、特定の条件で落ちる…
その原因を探ってたら朝5時になってた。
原因はわかったからよかったんだけど。
今日は、3195歩。


【DLL参照数】
DLLをソフトに読み込んだ場合、今開放可能かを調べるために、DllCanUnloadNow関数を呼び出すことができる。
S_OKを返した場合、そのDLLは開放できることを意味する。
ATLの場合、CAtlModuleのLockメソッドとUnlockメソッドでDLL参照数を増減できるようになる。
これを行っていなかった為に、不意にDLLが開放されてしまっていた…。
ただ、WebBrowserコンポーネントを使うDLLだったのでWebBrowserコンポーネントを使っている限り、WebBrowserコンポーネントがDLL参照数を加算してくれるので、今まで特にエラーが発生しなかったようだ。

コメントを残す

メールアドレスが公開されることはありません。