Sdílet prostřednictvím


Inicializace obvyklých DLL knihoven

Protože obvyklé DLL knihovny mají objekt CWinApp, měly by tyto knihovny provádět své inicializační a ukončovcí úlohy ve stejném umístění jako aplikace knihovny MFC: InitInstance a ExitInstance členské funkce odvozené třídy CWinApp knihovny DLL. Vzhledem k tomu, že knihovna MFC poskytuje funkci DllMain, která je volaná _DllMainCRTStartup pro PROCESS_ATTACH a PROCESS_DETACH, neměli byste psát svou vlastní funkci DllMain. Za předpokladu, že funkce DllMain knihovny MFC volá funkci InitInstance je-li vaše knihovna DLL načtena a zavolá funkci ExitInstance dříve, než je knihovna DLL uvolněna.

Obvyklá knihovna DLL může sledovat více vláken voláním funkce TlsAlloc a funkce TlsGetValue a to ve své funkci InitInstance. Tyto funkce umožňují sledovat vlákno specifických dat knihovny DLL .

Ve vaší obvyklé knihovně DLL, která je dynamicky propojená na knihovnu MFC, používáte-li jakékoliv technologie OLE knihovny MFC, databázi knihovny MFC (nebo rozhraní DAO), nebo podporuje-li knihovna MFC sokety, respektive ladí-li knihovna MFC s příponou knihoven DLL MFCOxxD.dll, MFCDxxD.dll, a MFCNxxD.dll (kde xx je číslo verze) je propojení prováděno automaticky. Musíte zavolat jednu z následujích předdefinovaných inicializačních funkcí pro každou z těchto knihoven DLL, které používáte ve svých obvyklých knihovnách DLL CWinApp::InitInstance.

Typ podpory knihovny MFC

Inicializační funkce pro volání

Technologie OLE knihovny MFC (MFCOxxD.dll)

AfxOleInitModule

Databáze knihovny MFC (MFCDxxD.dll)

AfxDbInitModule

Sokety knihovny MFC (MFCNxxD.dll)

AfxNetInitModule

Co chcete udělat?

Co chcete vědět více?

Viz také

Koncepty

Inicializace knihovny DLL