Aracılığıyla paylaş


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 GetProcAddressFreeLibrary. 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 LoadLibraryExadlı 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 LoadLibraryLoadLibraryEx 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 AfxLoadLibraryExLoadLibraryExkullanmanı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 AfxLoadLibraryExLoadLibraryExile 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 LoadLibraryyü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 LoadLibraryExAfxLoadLibraryEx 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.

Ne yapmak istiyorsunuz?

Ne hakkında daha fazla bilgi edinmek istiyorsunuz?

Ayrıca bkz.