LoadLibrary

Aus API-Wiki
Wechseln zu: Navigation, Suche

LoadLibrary läd eine ausführbare Datei, also eine durch einen PE Header gekennzeichnete, in den Speicher des eigenen Prozesses. Das können DLLs sein, aber auch EXE, OCX, und andere sind erlaubt.

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. Genaueres ist nachzulesen auf der MSDN Seite zur Suchreihenfolge für DLLs.


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 GetLastError verfügbar.


Sonstige Hinweise:

LoadLibrary kann zum Beispiel dazu verwendet werden, um zu prüfen, ob eine bestimmte DLL eine bestimmte Funktion exportiert (GetProcAddress), oder um die Resourcen 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.


Betriebssystem:

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