Normal DLL'leri Başlatma
Düzenli DLL'ler bir CWinApp nesnesine sahip oldukları için, başlatma ve sonlandırma görevlerini bir MFC uygulamasıyla aynı konumda gerçekleştirmelidirler: DLL'nin CWinApp türetilmiş sınırının InitInstance ve ExitInstance üye işlevlerinde.MFC PROCESS_ATTACH ve PROCESS_DETACH için _DllMainCRTStartup tarafından çağrılan bir DllMain işlevi sağladığı için, kendi DllMain işlevinizi yazmamanız gerekir.MFC tarafından sağlanan DllMain işlevi DLL'niz yüklendiğinde InitInstance öğesini çağırır ve DLL kaldırılmadan önce ExitInstance öğesini çağırır.
Normal bir DLL dosyası, kendi InitInstance işlevindeki TlsAlloc ve TlsGetValue kodlarını çağırarak birden çok iş parçacığının kaydını tutabilir.Bu işlevler iş parçacığına özel veriyi izlemesi için DLL'e izin verir.
MFC'ye dinamik olarak düzenli DLL'inizde, normal DLL'inizde MFC OLE, MFC Veritabanı (veya DAO) veya MFC Yuvalar desteğinden herhangi birini kullanıyorsanız, MFC hata ayıklama uzantı DLL'leri MFCOxxD.dll, MFCDxxD.dll ve MFCNxxD.dll (xx sürüm numarasıdır) otomatik olarak bağlanır.Normal DLL içinde kullandığınız bu DLL'lerin her biri için aşağıdaki önceden tanımlanmış başlatma işlevlerinden birini çağırmalısınız CWinApp::InitInstance.
MFC destek türü |
Çağırma için başlatma işlevi |
---|---|
MFC OLE (MFCOxxD.dll) |
AfxOleInitModule |
MFC Veritabanı (MFCDxxD.dll) |
AfxDbInitModule |
MFC Yuvaları (MFCNxxD.dll) |
AfxNetInitModule |
Ne yapmak istiyorsunuz?
Hangi konu hakkında daha fazla bilgi edinmek istiyorsunuz?
Normal DLL'lerde Veritabanı, OLE ve Yuva Uzantı DLL'leri Kullanma
İş parçacığı yerel depolama sarmalayıcıları (MFC Teknik Not 58)