プログラムで、DLL がマネージ コードかアンマネージ コードかを判断するにはどうすればよいですか? このコードを使用して、すべてのマネージ DLL が MSIL であることを確認しています。ただし、管理されていない DLL では例外がスローされるため、DLL が管理されているかどうかを最初に確認する方法が必要です。
1207 次
1 に答える
4
最も簡単なオプションは、そのままファイルを開いて例外をキャッチすることです。アンマネージ アセンブリは、 で例外をスローしますAssembly.LoadFrom
。
ただし、これをより厳密に判断したい場合は、適切な情報について PE ヘッダーを自分で調べる必要があります。この記事ではプロセスを詳しく説明しますが、DLL の PE ヘッダーのIMAGE_OPTIONAL_HEADER構造を確認する必要があります。
于 2013-03-29T15:40:32.323 に答える