LoadLibrary ve AfxLoadLibrary
İşlemler, bir DLL'ye açıkça bağlanmak için LoadLibrary veya LoadLibraryEx'i çağırır. (MFC uygulamaları AfxLoadLibrary veya AfxLoadLibraryEx.) İşlev başarılı olursa, belirtilen DLL'yi çağırma işleminin adres alanına eşler ve DLL'ye bir tanıtıcı döndürür. Tanıtıcı, açık bağlama için kullanılan diğer işlevlerde gereklidir; örneğin ve GetProcAddress
FreeLibrary
. Daha fazla bilgi için bkz . Açık bağlama.
LoadLibrary
örtük bağlantı için kullanılan aynı arama dizisini kullanarak DLL'yi bulmaya çalışır. LoadLibraryEx
arama yolu sırası üzerinde daha fazla denetim sağlar. Daha fazla bilgi için bkz . Dinamik Bağlantı Kitaplığı Arama Sırası. Sistem DLL'yi bulamazsa veya giriş noktası işlevi YANLIŞ döndürüyorsa NULL LoadLibrary
döndürür. çağrısı, çağırma LoadLibrary
işleminin adres alanıyla zaten eşlenmiş bir DLL modülünü belirtirse, işlev DLL'nin tanıtıcısını döndürür ve modülün başvuru sayısını artırır.
DLL'nin bir giriş noktası işlevi varsa, işletim sistemi veya LoadLibraryEx
adlı LoadLibrary
iş parçacığı bağlamında işlevini çağırır. DLL işleme zaten eklenmişse giriş noktası işlevi çağrılmaz. Bu durum, DLL için LoadLibrary
LoadLibraryEx
veya dll için önceki bir çağrı işlevine FreeLibrary
karşılık gelen bir çağrıya sahip olmadığında gerçekleşir.
MFC uzantısı DLL'lerini yükleyen MFC uygulamaları için veya yerine LoadLibrary
veya AfxLoadLibraryEx
LoadLibraryEx
kullanmanızı AfxLoadLibrary
öneririz. MFC işlevleri, DLL'yi açıkça yüklemeden önce iş parçacığı eşitlemesini işler. ve arabirimleri (işlev prototipleri) AfxLoadLibrary
ve AfxLoadLibraryEx
LoadLibraryEx
ile LoadLibrary
aynıdır.
Windows DLL'yi yükleyemezse, işleminiz hatadan kurtarmayı deneyebilir. Örneğin, kullanıcıya hatayı bildirebilir ve ardından DLL'nin başka bir yolunu isteyebilir.
Önemli
Tüm DLL'lerin tam yolunu belirttiğinizden emin olun. Dosyalar tarafından LoadLibrary
yüklendiğinde önce geçerli dizin aranabilir. Dosyanın yolunu tam olarak nitelemezseniz, hedeflenenden farklı bir dosya yüklenebilir. DLL oluşturduğunuzda, statik olarak bağlı DLL bağımlılıkları için bir arama sırası belirtmek üzere /DEPENDENTLOADFLAG bağlayıcısı seçeneğini kullanın. DLL'lerinizde, açıkça yüklenen bağımlılıklar için hem tam yolları hem de LoadLibraryEx
AfxLoadLibraryEx
modül arama sırasını belirtmek için parametreleri çağırabilirsiniz. Daha fazla bilgi için bkz . Dynamic-Link Library Security ve Dynamic Link Library Search Order.