私はプラグインベースのアーキテクチャを備えたプログラムに取り組んでいます。すべてのプラグインはDLLであり、一部のプラグインは他のプラグインDLLに依存する可能性があります。次のことができるようになりたいです。
- プログラムの起動時に、pluginsフォルダーをスキャンします。
- 見つかったプラグインごとに、そのプラグインがすでにロードされているかどうかを確認します。(以前にロードされたプラグインが依存関係としてロードされた場合、それは可能性があります)。
- そうでない場合は、ロードします。
最初と3番目のステップは簡単ですが、2番目のステップを実行するにはどうすればよいですか?DLLのファイル名を指定すると、そのDLLが現在のプロセスに現在ロードされているかどうかを通知するwinapi呼び出しはありますか?(または、ファイル名とプロセスハンドルを使用するものですか?)
「とにかくロードするだけ」という答えはありません。私はそれがうまくいくことを知っています。私はそれを避けようとしています。