Share via


Inizializzazione di DLL regolari

Aggiornamento: novembre 2007

Poiché le DLL regolari dispongono di un oggetto CWinApp, devono eseguire le attività di inizializzazione e terminazione nella stessa posizione di un'applicazione MFC, ovvero nelle funzioni membro InitInstance ed ExitInstance della classe derivata da CWinApp della DLL. Poiché MFC fornisce una funzione DllMain chiamata da _DllMainCRTStartup per PROCESS_ATTACH e PROCESS_DETACH, non scrivere una propria funzione DllMain. La funzione DllMain fornita da MFC chiama InitInstance quando la DLL viene caricata ed ExitInstance prima che la DLL venga scaricata.

Una DLL regolare può tenere traccia di più thread chiamando TlsAlloc e TlsGetValue nella propria funzione InitInstance. Queste funzioni consentono alla DLL di tenere traccia dei dati specifici dei thread.

Se nella DLL regolare collegata a MFC in modo dinamico si utilizza un qualsiasi supporto MFC per OLE, database (o DAO) o Sockets, vengono collegate automaticamente le DLL di estensione di debug MFC MFCOxxD.dll, MFCDxxD.dll e MFCNxxD.dll, rispettivamente, dove xx è il numero di versione. È necessario chiamare una delle seguenti funzioni di inizializzazione predefinite per ciascuna di queste DLL utilizzate in CWinApp::InitInstance della DLL regolare.

Tipo di supporto MFC

Funzione di inizializzazione da chiamare

OLE MFC (MFCOxxD.dll)

AfxOleInitModule

Database MFC (MFCDxxD.dll)

AfxDbInitModule

Sockets MFC (MFCNxxD.dll)

AfxNetInitModule

Scegliere l'argomento con cui si desidera procedere

Scegliere l'argomento su cui visualizzare maggiori informazioni

Vedere anche

Concetti

Inizializzazione di una DLL