developer's diary

最近はc#のエントリが多いです

windowsのDLLの読み込み順

http://support.microsoft.com/kb/2264107/ja

動的に DLL を読み込むために、LoadLibrary 関数と LoadLibraryEx 関数が使用されます。これら 2 つの関数の DLL 検索順は以下のとおりです。

  1. アプリケーションが読み込まれたディレクトリ
  2. システム ディレクトリ
  3. 16 ビット システム ディレクトリ
  4. Windows ディレクトリ
  5. 現在の作業ディレクトリ (CWD)
  6. PATH 環境変数に設定されているディレクトリ

レジストリのCWDIllegalInDllSearchキーによって上記順序から一部ディレクトリを省略することが可能だそう。