INFORMACE: položku registru KnownDLLs používá WINDOWSNT, 2000 nebo XP vyhledání dll

Překlady článku Překlady článku
ID článku: 164501 - Produkty, které se vztahují k tomuto článku.
Důležité: Tento článek obsahuje informace o úpravě registru. Před úpravami je nutné registr zazálohovat. Seznamte se také s postupem při obnovení registru v případě, že nastane problém. Informace o zálohování, obnovení a úpravě registru naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
256986Popis registru systému Microsoft Windows
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Microsoft Windows NT, Windows 2000 a Windows XP používá pro hledání 32bitové nebo 16bitové dll při načítání DLL položky registru KnownDLLs. Pro 32bitové dll KnownDLLs položka registru ovlivňuje pouze hledání implicitně načíst dll. Položka registru pro 16bitové dll KnownDLLs ovlivňuje hledání obou implicitně a explicitně načteny dll. Pokud nesprávně zahrnout název DLL v položce registru KnownDLLs, se nezdaří funkce LoadLibrary v WOW WINDOWSNT, 2000 nebo XP načíst DLL umístěn v aktuálním adresáři aplikace.

Další informace

Windows NT, 2000 nebo XP používá KnownDLLs položka registru určit, do které bude DLL může aplikace používat. Existují dvě různé položky registru KnownDLLs: jeden ovlivňuje načítání 32bitové dll a jeden, která ovlivňuje načítání 16bitové dll. DLL uvedené v položce registru KnownDLLs je někdy označován jako "KnownDLL" v tomto článku.

DLL: 16bitové

Pro 16bitové dll hodnotu registru KnownDLLs nalezen v následující klíč:
   HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\WOW
				
The KnownDLLs hodnota registru je řetězec REG_SZ s názvy DLL ve formátu 8.3, oddělené mezerou. Hodnota KnownDLLs ovlivňuje obě implicitně a explicitně načteny dll.

Bez hodnoty registru KnownDLLs WINDOWSNT WOW používá následující pořadí hledání k vyhledání DLL:
  1. Aktuální adresář úkolu pomocí DLL.
  2. Adresáře \Winnt.
  3. Adresář \WINNT\SYSTEM.
  4. Adresář \WINNT\SYSTEM32.
  5. Adresář spustitelný soubor pro úlohu pomocí DLL.
  6. Adresáře uvedené v proměnné prostředí PATH.
S hodnotou registru KnownDLLs WINDOWSNT WOW pouze vypadá v adresáři \WINNT\SYSTEM32 vyhledejte DLL. Pokud KnownDLLs obsahuje položku pro DLL, který není umístěn v adresáři \WINNT\SYSTEM32, selže funkce LoadLibrary načíst DLL i v případě, že DLL je umístěn na 5 dalších umístěních výše.

Vyhledejte DLL WOW WINDOWSNT, 2000 nebo XP se nezdaří, funkce LoadLibrary vrátí kód chyby 2 (soubor nebyl nalezen) nebo implicitní propojení způsobí modulu nadřazené načtení nezdaří.

Informace o systému Windows 95 zaregistruje 16bitový DLL jako KnownDLLs naleznete v následujícím článku databáze Microsoft Knowledge Base:
141969Klíče registru Known16DLLs používá pro Windows 95 vyhledání 16bitové dll

DLL: 32bitové

Pro 32bitové dll KnownDLLs klíče registru nalezeny na:
   HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager
				
the REG_SZ název hodnoty registru je název DLL bez přípony. Hodnota data registru je název s příponou DLL. Tato položka ovlivňuje pouze implicitně načíst dll, není DLL načtena pomocí API LoadLibrary().

Bez této položky WINDOWSNT používá následující pořadí hledání k vyhledání DLL:
  1. Adresář spustitelný soubor proces načítání DLL.
  2. Aktuální adresář proces načítání DLL.
  3. Adresář \WINNT\SYSTEM32.
  4. Adresáře \Winnt.
  5. Adresáře uvedené v proměnné prostředí cestu.
S položkou registru KnownDLLs WINDOWSNT používá následující pořadí hledání k vyhledání DLL:
  1. Adresář \WINNT\SYSTEM32.
  2. Adresář spustitelný soubor proces načítání DLL.
  3. Aktuální adresář proces načítání DLL.
  4. Adresáře \Winnt.
  5. Adresáře uvedené v proměnné prostředí PATH.
Pokud DLL není umístěn v žádné z výše uvedených umístěních, implicitní propojení způsobí modulu nadřazené načtení nezdaří.

DLL je považována KnownDLL Pokud ji implicitně odkazy KnownDLL. Například MAIN.DLL používá funkce z CHILD.DLL. Pokud je uveden MAIN.DLL v klíči registru KnownDLLs potom WINDOWSNT také považovány CHILD.DLL KnownDLL. DLL, který byl propojen MAIN.DLL bude používat jinou aplikací nebo DLL, která používá CHILD.DLL.

WINDOWSNT mapuje 32bitové KnownDLLs v době spuštění. Přejmenování nebo přesunutí DLL nemá žádný vliv, na kterém bude načíst DLL aplikace; stále používá jeden v \WINNT\SYSTEM32 byla v době spuštění.

Měnit načte WINDOWSNT KnownDLLs použít hodnotu registru ExcludeFromKnownDlls umístěného:
   HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager
				
Poznámka: RegEdt32 použít namísto RegEdit upravit tuto hodnotu registru.

Tato hodnota registru REG_MULTI_SZ obsahuje názvy dll ve formátu 8.3, jeden DLL za řetězec. Pokud je uveden DLL v ExcludeFromKnownDlls potom WINDOWSNT není považovat DLL KnownDLL, i když je uvedena v klíči registru KnownDLLs. To je užitečné při vývoji DLL, která je použita podle šarže jiných KnownDLLs a je důležité nahradit a testování nového sestavení bez restartování WINDOWSNT.

Změny klíčů registru uvedený vyžaduje oprávnění správce k místnímu počítači. Použití KnownDLLs zabezpečuje systém od někoho zdánlivě nahrazení API umístěním neautorizovaný DLL v adresáři aplikace.

Informace o systému Windows 95 zaregistruje DLL 32bitového jako KnownDLLs naleznete v následujícím článku databáze Microsoft Knowledge Base:
151646Klíče registru KnownDLLs používá pro Windows 95 vyhledání 32bitové dll
Upozornění: Nesprávné použití Editoru registru můžete způsobit vážné problémy, které mohou vyžadovat přeinstalaci operačního systému. Společnost Microsoft nemůže zaručit, že potíže vzniklé v důsledku nesprávného použití Editoru registru budete moci vyřešit. Editor registru používáte na vlastní nebezpečí.

Informace o úpravách registru najdete v tématu nápovědy Změna klíčů a hodnot v Editoru registru (Regedit.exe) nebo v tématech nápovědy Přidání a odstranění informací v registru a Úpravy dat v registru v editoru Regedt32.exe. Nezapomeňte registr před jeho úpravou zálohovat. Pokud jsou systémem Windows NT, měli byste aktualizovat váš záchrannou opravnou disketu (ERD).

Vlastnosti

ID článku: 164501 - Poslední aktualizace: 21. listopadu 2006 - Revize: 4.1
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Win32 Application Programming Interface na těchto platformách
    • Microsoft Windows NT 4.0
    • the operating system: Microsoft Windows 2000
    • the operating system: Microsoft Windows XP
Klíčová slova: 
kbmt kbdll kbinfo kbkernbase kbregistry KB164501 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:164501

Dejte nám zpětnou vazbu

 

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