我的程序使用LoadLibrary動態地加載了一些DLL,並且(在字面上所有機器上)這些加載成功,在一臺機器上這些DLL的某些內容不會被加載。我添加了跟蹤lasterror的代碼,並報告「0x43找不到網絡名稱」。LoadLibrary失敗,出現lasterror 0x43無法找到網絡名稱
有問題的機器運行Windows 7 Enterprise x64,該DLL是一個32位的DLL,這不應該是一個問題,並且(事實上)這是我的開發環境。
我也嘗試將DLL(其中包括路徑)的名稱轉換爲短文件名,並在調用LoadLibrary中使用它,我仍然有同樣的錯誤。
任何想法?
// * eggbox
LoadLibrary有一個[複雜的搜索路徑算法](http://msdn.microsoft.com/en-us/library/windows/desktop/ms682586%28v=vs.85%29.aspx),可能無效的網絡路徑已經結束了搜索路徑? – Benj
提供給LoadLibrary的文件名是完全限定的,例如C:\ Program Files(x86)\ MyApp \ DLLs \ AssetModule.dll或短名稱版本。 – eggbox
當然,但是它依賴的庫呢? – Benj