INFO : entrée de Registre KnownDLLs Windows NT/2000/XP utilise pour rechercher les DLL

Traductions disponibles Traductions disponibles
Numéro d'article: 164501 - Voir les produits auxquels s'applique cet article
IMPORTANT: Cet article contient des informations sur la modification du Registre. Avant de modifier le Registre, veillez à le sauvegarder et assurez-vous que vous savez comment restaurer le Registre si un problème survient. Pour plus d'informations sur la façon de sauvegarder, restaurer et modifier le Registre, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
256986 Description du Registre Microsoft Windows
Agrandir tout | Réduire tout

Sommaire

Résumé

Microsoft Windows NT, Windows 2000 et Windows XP utilise les entrées de Registre KnownDLLs pour rechercher les DLL 32 bits ou 16 bits lors du chargement de la DLL. Pour les DLL 32 bits la KnownDLLs entrée de Registre affecte uniquement la recherche de la DLL chargées implicitement. Entrée de Registre DLL 16 bits la KnownDLLs affecte la recherche pour les deux DLL chargée implicitement et explicitement. Si vous incluez pas correctement un nom de DLL dans l'entrée de Registre KnownDLLs, la fonction LoadLibrary dans Windows NT/2000/XP WOW ne parvient pas à charger une DLL se trouve dans le répertoire de l'application en cours.

Plus d'informations

Windows NT/2000/XP utilise l'entrée de Registre KnownDLLs pour déterminer les DLL, une application utilise. Il existe deux entrées de Registre KnownDLLs différentes : un qui a une incidence sur le chargement des DLL 32 bits et un qui a une incidence sur le chargement des DLL 16 bits. Une DLL répertoriée dans l'issometimes d'entrée du Registre KnownDLLs dénommé « KnownDLL » dans cet article.

DLL : 16 bits

Pour des DLL 16 bits, la valeur de Registre KnownDLLs se trouve dans le followingkey :
   HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\WOW
				
La valeur de Registre KnownDLLs est une chaîne REG_SZ avec des noms de DLL dans 8.3format, séparés par un espace. La valeur de KnownDLLs affecte les deux DLL implicitlyand explicitement chargé.

Sans la valeur de Registre KnownDLLs WOW de Windows NT utilise l'ordre de followingsearch pour localiser le fichier DLL :
  1. Le répertoire actuel de la tâche qui utilise la DLL.
  2. Le répertoire \WINNT.
  3. Le répertoire \WINNT\SYSTEM.
  4. Le répertoire \WINNT\SYSTEM32.
  5. Le répertoire de l'exécutable de la tâche à l'aide de la DLL.
  6. Un répertoire figurant dans la variable d'environnement PATH.
Avec la valeur de Registre KnownDLLs WOW Windows NT effectue la recherche uniquement dans le répertoire the\WINNT\SYSTEM32 pour localiser le fichier DLL. Si KnownDLLs inclut anentry pour une DLL qui n'est pas située dans le répertoire \WINNT\SYSTEM32, LoadLibrary ne parvient pas à charger la DLL, même si la DLL se trouve dans les 5 autres emplacements ci-dessus.

Si Windows NT/2000/XP WOW ne parvient pas à localiser le fichier DLL, LoadLibrary retourne le code d'erreur 2 (fichier introuvable) ou la liaison implicite provoque le parentmodule à ne pas charger.

Pour plus d'informations sur la façon de Windows 95 enregistre des DLL 16 bits en tant que KnownDLLssee l'article suivant dans la Base de connaissances Microsoft :
141969Clé de Registre Windows 95 utilise Known16DLLs pour rechercher les DLL 16 bits

DLL : 32 bits

La clé de Registre KnownDLLs DLL 32 bits est disponible à l'adresse :
   HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager
				
Nom de la valeur de Registre REG_SZ est le nom de la DLL sans theextension. Les données de la valeur du Registre sont le nom de la DLL avec theextension. Cette entrée affecte la DLL chargés implicitement, pas les DLL de loadedusing l'API LoadLibrary().

Sans cette entrée, Windows NT utilise la DLL du tolocate d'ordre de recherche suivant :
  1. Le répertoire de l'exécutable pour le processus de chargement de la DLL.
  2. Le répertoire actif du processus qui est du chargement de la DLL.
  3. Le répertoire \WINNT\SYSTEM32.
  4. Le répertoire \WINNT.
  5. Un répertoire figurant dans la variable d'environnement path.
Avec l'entrée de Registre KnownDLLs, Windows NT utilise le searchorder suivant pour localiser la DLL :
  1. Le répertoire \WINNT\SYSTEM32.
  2. Le répertoire de l'exécutable pour le processus de chargement de la DLL.
  3. Le répertoire actif du processus qui est du chargement de la DLL.
  4. Le répertoire \WINNT.
  5. Un répertoire figurant dans la variable d'environnement PATH.
Si la DLL ne se trouve pas dans un des emplacements indiqués ci-dessus, la liaison de theimplicit cause le module parent de se charger.

Une DLL est considérée comme un KnownDLL si une KnownDLL liée de manière implicite à celui-ci. Par exemple, principal.DLL utilise des fonctions d'enfant.DLL. If principal.DLL est répertorié dans la clé de Registre KnownDLLs, puis Windows NT traite également des enfants.DLL en tant qu'aKnownDLL. Une autre application ou DLL qui utilise les enfants.DLL utilisera le DLLthat a été lié à la MAIN.DLL.

Windows NT mappe KnownDLLs 32 bits au moment du démarrage. Renommer ou déplacer que le DLLdoes n'a pas d'effet sur lequel une application DLL ne se chargera ; Il stilluses celui qui se trouvait dans \WINNT\SYSTEM32 au moment du démarrage.

Pour modifier la façon dont Windows NT charge KnownDLLs utilisent la valeur de ExcludeFromKnownDllsregistry à :
   HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager
				
Remarque : Utilisez les RegEdt32 et non RegEdit pour modifier cette valeur de Registre.

Cette valeur de Registre REG_MULTI_SZ contient des noms de DLL au format 8.3, oneDLL par la chaîne. Si une DLL est répertoriée dans le ExcludeFromKnownDlls, puis NTdoes Windows ne traite pas la DLL comme une KnownDLL, même s'il est répertorié dans la clé de Registre theKnownDLLs. Cela est utile lorsque vous développez une DLL qui est utilise un grand nombre d'autres KnownDLLs et il est important de remplacer et de test newbuilds sans redémarrer l'ordinateur Windows NT.

Apporter des modifications aux clés de Registre précité nécessite administrativeprivileges sur l'ordinateur local. L'utilisation de KnownDLLs sécurise la systemfrom quelqu'un déconcertante remplaçant API en plaçant une DLL non fiables dans le répertoire de l'application.

Pour plus d'informations sur la façon de Windows 95 enregistre la DLL 32 bits en tant que KnownDLLssee l'article suivant dans la Base de connaissances Microsoft :
151646Clé de Registre KnownDLLs Windows 95 utilise pour rechercher les DLL 32 bits
Avertissement : Utilisation incorrecte de l'Éditeur du Registre peut générer des problèmes sérieux thatmay vous obliger à réinstaller votre système d'exploitation. Microsoft cannotguarantee que les problèmes résultant d'une utilisation incorrecte du Registre Editorcan être résolus. Utilisez l'éditeur de Registre à vos risques et périls.

Pour plus d'informations sur la façon de modifier le Registre, affichez la rubrique d'aide « Modification des clés AndValues » dans l'Éditeur du Registre (Regedit.exe) ou les inRegedt32.exe rubriques d'aide « Ajouter et DeleteInformation dans le Registre » et « Modifier les données du Registre ». Notez que vous devez sauvegarder le Registre avant de le modifier.Si vous exécutez Windows NT, vous devez également mettre à jour votre disque de EmergencyRepair (ERD).

Propriétés

Numéro d'article: 164501 - Dernière mise à jour: samedi 8 février 2014 - Version: 5.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Win32 Application Programming Interface
Mots-clés : 
kbdll kbinfo kbkernbase kbregistry kbmt KB164501 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu d'une traduction automatique réalisée par un logiciel Microsoft et non par un traducteur professionnel. Cette traduction automatique a pu aussi être révisée par la communauté Microsoft grâce à la technologie Community Translation Framework (CTF). Pour en savoir plus sur cette technologie, veuillez consulter la page http://support.microsoft.com/gp/machine-translation-corrections/fr. Microsoft vous propose en effet des articles traduits par des professionnels, des articles issus de traductions automatiques et des articles issus de traductions automatiques révisées par la communauté Microsoft, de manière à ce que vous ayez accès à tous les articles de notre Base de connaissances dans votre langue. Il est important de noter que les articles issus de la traduction automatique, y compris ceux révisés par la communauté Microsoft, peuvent contenir des erreurs de vocabulaire, de syntaxe ou de grammaire. Microsoft ne pourra être tenu responsable des imprécisions, erreurs, ainsi que de tout dommage résultant d?une traduction incorrecte du contenu ou de son utilisation par les clients.
La version anglaise de cet article est la suivante: 164501
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com