共用方式為


LoadLibrary 和 AfxLoadLibrary

處理序會呼叫 LoadLibrary (或 AfxLoadLibrary) 來明確連結至 DLL。 若是成功,函式會將指定的 DLL 對應到呼叫處理序的位址空間,並將控制代碼傳回給其他明確連結的函式 (例如 GetProcAddressFreeLibrary) 所使用到的 DLL。

LoadLibrary 會嘗試依照和隱含連結所用的相同搜尋順序來找出 DLL。 如果系統無法找出 DLL 或者如果進入點函式傳回 FALSE,LoadLibrary 就會傳回 NULL。 如果 LoadLibrary 的呼叫指定已經對應到呼叫處理序的位址空間之 DLL 模組,函式便只會傳回 DLL 的控制代碼,並遞增模組的參考計數。

作業系統會在 DLL 擁有進入點函式時,呼叫執行緒內容中名為 LoadLibrary 的函式。 如果 DLL 已經連結至處理序,就不會呼叫進入點函式,因為先前對 LoadLibrary 的呼叫並沒有包含 FreeLibrary 函式的對應呼叫。

對於會載入擴充 DLL 的 MFC 應用程式,我們建議您使用 AfxLoadLibrary 而不要使用 LoadLibraryAfxLoadLibrary 可在您呼叫 LoadLibrary 之前處理執行緒同步處理。 AfxLoadLibrary 的介面 (函式原型) 與 LoadLibrary 相同。

如果 Windows 無法載入 DLL,處理序可以嘗試從錯誤復原。 例如,處理序將錯誤告知使用者,並且要求使用者指定 DLL 的另一個路徑。

安全性注意事項安全性注意事項

如果程式碼要在 Windows NT 4、Windows 2000 或 Windows XP (SP1 以前的版本) 下執行,請記得指定 DLL 的完整路徑名稱。 在這些作業系統上,載入檔案時會先搜尋目前的目錄。 如果您不限定檔案的路徑,則可能會載入非預期的檔案。

您想要執行的動作?

您還想知道關於哪些方面的詳細資訊?

請參閱

參考

LoadLibrary

AfxLoadLibrary

概念

DLL