LoadLibrary a AfxLoadLibrary

Procesy volají LoadLibrary (nebo AfxLoadLibrary) pro explicitní připojení ke knihovně DLL.Pokud funkce uspěje, namapuje určenou knihovnu DLL do adresového prostoru volajícího procesu a vrátí popisovač do knihovny DLL, která může být použita s jinými funkcemi v explicitním propojení, například GetProcAddress a FreeLibrary.

LoadLibrary se pokouší vyhledat knihovnu DLL pomocí stejné vyhledávací sekvence použité pro implicitní propojení.Pokud systém nemůže najít knihovnu DLL nebo pokud funkce vstupního bodu vrátí hodnotu FALSE, LoadLibrary vrátí hodnotu NULL.Pokud volání LoadLibrary určuje modul knihovny DLL, který je již mapovaný do adresového prostoru volajícího procesu, vrátí funkce popisovač knihovny DLL a zvýší hodnotu referenčního počtu modulu.

Pokud má knihovna DLL funkci vstupního bodu, operační systém zavolá funkci v kontextu vlákna, která se nazývá LoadLibrary.Funkce vstupního bodu není volána pokud je knihovna DLL již připojena k procesu z důvodu předchozího volání LoadLibrary bez odpovídajícího volání funkce FreeLibrary.

Pro aplikace knihovny MFC, které načítají rozšiřující knihovny DLL, doporučujeme použít AfxLoadLibrary místo LoadLibrary.AfxLoadLibrary zpracovává synchronizaci vlákna před voláním LoadLibrary.Rozhraní (prototyp funkce) AfxLoadLibrary je stejné jako LoadLibrary.

Pokud systém Windows nemůže načíst knihovnu DLL, proces se může pokusit obnovit z chyby.Například, proces by mohl oznámit uživateli chybu a požádat uživatele o určení jiné cesty ke knihovně DLL.

Poznámka k zabezpečeníPoznámka k zabezpečení

Pokud je kód spouštěn pod systémy Windows NT 4, Windows 2000 nebo Windows XP (před aktualizací SP1), nezapomeňte zadat úplnou cestu všech knihoven DLL.V těchto operačních systémech, je aktuální adresář prohledáván jako první, když jsou soubory načteny.Pokud nemáte kvalifikovanou cestu souboru, může být načten nezamýšlený soubor.

Co chcete udělat?

O čem chcete vědět více?

Viz také

Referenční dokumentace

AfxLoadLibrary

Koncepty

Knihovny DLL v jazyce Visual C++

Další zdroje

LoadLibrary