Aracılığıyla paylaş


Dışa aktarılan dll işlevi giriş noktaları

Kullanmak için verilen işlevlerin bir dll dosyasının afx_manage_state makro çağıran uygulamanın dll dll modülünü geçiş yaparken uygun genel durumu korumak için.

Çağrıldığında, bu makro ayarlar pModuleState, bir işaretçi bir AFX_MODULE_STATE işlevi içeren kapsamını geri kalanı için etkili bir modül durumu olarak modülü için genel veriler içeren bir yapı.Makro içeren kapsam bırakarak üzerine önceki etkin modül durumunu otomatik olarak geri yüklenir.

Bu geçiş örneğini oluşturarak sağlanır bir afx_module_state yığında sınıfı.Kurucusu, bu sınıf modülü geçerli durumunu gösteren bir işaretçi alır ve üye değişkeninde saklar ve sonra ayarlar pModuleState yeni etkili Modül durumu.Kendi yıkıcıya etkili Modül durumu olarak, üye değişkeni içinde depolanan işaretçi bu sınıfın geri yükler.

dll dosyanızın iletişim kutusunda başlatan bir gibi verilen bir işlev varsa, işlevin başına aşağıdaki kodu eklemek gerekir:

AFX_MANAGE_STATE(AfxGetStaticModuleState( ))

Bu dönen durumuyla geçerli modül durumunu değiştirir AfxGetStaticModuleState geçerli kapsamı sonuna kadar.

Dll kaynaklarında bir sorun varsa oluşur AFX_MANAGE_STATE makro kullanılmaz.Varsayılan olarak, mfc kaynak tanıtıcısı ana uygulamanın kaynak şablon yüklemek için kullanır.Bu şablon gerçekten dll dosyasında depolanır.MFC'ın modülü durum bilgisi olarak geçildi değil, kök neden olan AFX_MANAGE_STATE makro.Kaynak tanıtıcısı, MFC'ın modülü durumundan kurtarıldı.Modül durumu değiştirme değil, kullanılacak yanlış Kaynak tanıtıcısı neden olur.

AFX_MANAGE_STATEher işlev dll içine koymak gerekmez.Örneğin, InitInstance mfc kodu uygulama tarafından çağrılan AFX_MANAGE_STATE mfc Modül durumu önce otomatik olarak geçer çünkü InitInstance ve daha sonra geri sonra anahtarları InitInstance verir.Aynı tüm ileti eşleme işleyicileri için geçerlidir.Normal DLL'leri aslında herhangi bir iletiyi yönlendirmeden önce modül durumunu otomatik olarak geçer bir özel ana penceresinin yordam vardır.

Ayrıca bkz.

Kavramlar

mfc modülleri durumu verilerini yönetme