Inicjowanie zwykłych bibliotek DLL
Ponieważ mają regularne bibliotek DLL CWinApp obiektu, należy je wykonać swoje zadania inicjowania i zakończenia w tym samym miejscu jako aplikacja MFC: w InitInstance i ExitInstance funkcje składowe biblioteki dll CWinApp-klasy.Ponieważ zapewnia MFC DllMain funkcji, która jest wywoływana przez _DllMainCRTStartup dla PROCESS_ATTACH i PROCESS_DETACH, nie należy pisać własne DllMain funkcji.Warunkiem MFC DllMain wywołania funkcji InitInstance po załadowaniu biblioteki DLL i wywołuje ExitInstance przed Biblioteka DLL jest zwalniana.
Regularne DLL można zachować informacje o wielu wątków poprzez wywołanie TlsAlloc i Funkcje TlsGetValue w jego InitInstance funkcji.Funkcje te pozwalają DLL do śledzenia danych zależnych od wątku.
W bibliotece DLL regularnych który dynamicznie łączy MFC, jeśli używasz żadnych MFC OLE, MFC bazy danych (lub obiektów DAO), lub MFC Sockets, obsługa, odpowiednio, MFC debug rozszerzenie dll MFCOxxD.dll, MFCDxxD.dll, i MFCNxxD.dll (gdzie xx jest numerem wersji) są połączone automatycznie.Musisz wywołać jednej z następujących funkcji inicjowania wstępnie zdefiniowanych dla każdego z tych bibliotek DLL, używające w regularnych biblioteki DLL CWinApp::InitInstance.
Typ obsługi MFC |
Inicjowanie funkcji do wywołania |
---|---|
OLE MFC (MFCOxxD.dll) |
AfxOleInitModule |
Baza danych MFC (MFCDxxD.dll) |
AfxDbInitModule |
Gniazda MFC (MFCNxxD.dll) |
AfxNetInitModule |
Co chcesz zrobić?
O czym chcesz się dowiedzieć więcej?
Zachowanie biblioteki uruchomieniowej C i _DllMainCRTStartup
Za pomocą bazy danych OLE i biblioteki DLL rozszerzenia gniazd w regularnych bibliotek DLL