LoadLibrary

Aus API-Wiki
Zur Navigation springenZur Suche springen

LoadLibrary lädt eine ausführbare Datei (also eine, welche durch einen PE Header gekennzeichnet ist), in den Speicher des eigenen Prozesses. Das können DLLs, aber auch EXE, OCX und andere ausführbare Dateien sein.

Declare Function LoadLibrary Lib "kernel32.dll" _
                 Alias "LoadLibraryA" ( _
                 ByVal strFilename As String _
                 ) As Long


Parameter

strFilename

Zu ladende Datei. Wird nicht der absolute Pfad angegeben, kann LoadLibrary an anderen Orten nach ihr suchen (siehe Hinweise).


Rückgabe

Bei erfolgreichem Laden der Datei gibt LoadLibrary ein Handle zum geladenen Modul zurück. Sollte das Laden fehlschlagen, gibt LoadLibrary 0 zurück. In diesem Fall sind weitere weitere Informationen über Err.LastDLLError verfügbar.


Hinweise

LoadLibrary kann zum Beispiel dazu verwendet werden, um zu prüfen, ob eine bestimmte DLL eine bestimmte Funktion exportiert (GetProcAddress), oder um die Ressourcen einer ausführbaren Datei auszulesen (LoadResource).

Wurde die jeweilige Datei schon in den Prozess geladen, wird nur der Referenzzähler auf das entsprechende Modul erhöht, statt die Datei erneut in den Speicher zu laden. Das bedeutet: Würde man 5 mal die fiktive Bibliothek "abc123.dll" mit LoadLibrary laden, müsste man auch 5 mal FreeLibrary aufrufen, um sie wieder zu entladen.

Zudem lädt LoadLibary eine Bibliothek anhand der exakten Pfadangabe. Es ist jedoch nicht zwingend notwendig, diesen anzugeben, da LoadLibary auch nach der zu ladenden Datei suchen kann. Da dies aber nicht ganz unproblematisch ist, empfiehlt es sich, im entsprechenden MSDN - Artikel nachzulesen MSDN Seite zur Suchreihenfolge für DLLs.


Betriebssysteme

  • Windows 95 / 98 / Me
  • Windows NT 4.0 / 2000 / XP
  • Windows Vista


Verweise

MSDN US-Libary: LoadLibary


Quelle

MSDN US-Libary