LoadLibrary
|
![]() |
Le seul
paramètre attendu par LoadLibrary() est le nom du fichier
DLL ou EXE qui doit être chargé dans l'espace adressable de
l'application courante. On indique ici généralement le nom
d'un fichier DLL.
L'extension " DLL " est
indiquée par défaut si aucune extension n'est indiquée
au nom du fichier. Si l'indication ne contient pas non plus de chemin,
le système recherche alors le fichier dans différents répertoires
selon l'ordre suivant : Si la DLL souhaitée reste introuvable, la fonction renvoie NULL. Si la DLL a été trouvée, la fonction vérifie tout d'abord si une DLL du même nom a été chargée par l'application à partir du répertoire concerné. Si c'est le cas, il n'est plus nécessaire de charger la DLL indiquée et la fonction se contente d'incrémenter le compteur utilisateur de la DLL déjà chargée. Si ce n'est pas le cas, la DLL est chargée dans l'espace adressable de l'application. Ceci a également lieu lorsqu'une DLL du même nom a déjà été chargée, mais que celle-ci provenait d'un autre répertoire. La valeur retournée dans ce cas est un Handle de module qui pourra solliciter par le biais de la DLL pendant la suite de l'exécution. Les Handle de module sont du type HMODULE, ce qui correspond à un LONG sous Win32-API. Veuillez tenir compte du fait que,
contrairement à beaucoup d'autres Handle, ceux-ci ne sont pas transmissibles.
Les autres applications ne peuvent donc pas utiliser ces Handle car la
DLL qu'ils désignent ne se trouvent pas dans leur espace adressable. |