Partager via


Initialisation d'une DLL

En général, la DLL possède un code d'initialisation (comme l'allocation de mémoire) qui doit s'exécuter lors du chargement de la DLL. Lorsque vous utilisez Visual C++, l'emplacement où vous ajoutez le code d'initialisation de la DLL dépend du type de DLL que vous générez. Si vous n'avez pas besoin d'ajouter un code d'initialisation ou d'arrêt, vous n'avez rien de spécial à faire lors de la génération de la DLL. Si vous devez initialiser la DLL, le tableau suivant indique où ajouter le code.

Type de DLL

Où ajouter le code d'initialisation et d'arrêt

DLL normale

Dans les fonctions InitInstance et ExitInstance de l'objet CWinApp de la DLL.

DLL d'extension

Dans la fonction DllMain générée par l'Assistant DLL MFC.

DLL non-MFC

Dans une fonction appelée DllMain que vous fournissez.

En environnement Win32, toutes les DLL peuvent contenir une fonction de point d'entrée facultative (généralement dénommée DllMain) qui est appelée à la fois pour l'initialisation et l'arrêt. Cela vous donne la possibilité d'allouer ou de libérer des ressources supplémentaires, en fonction des besoins. Windows appelle la fonction de point d'entrée dans quatre situations : attachement de processus, détachement de processus, attachement de thread et détachement de thread.

La bibliothèque Runtime C fournit une fonction de point d'entrée dénommée _DllMainCRTStartup et appelle DllMain. Selon le type de DLL, vous devez avoir une fonction appelée DllMain dans le code source ou utiliser le DllMain fourni dans la bibliothèque MFC.

Que voulez-vous faire ?

Sur quels éléments souhaitez-vous obtenir des informations supplémentaires ?

Voir aussi

Concepts

DLL en Visual C++