LoadLibrary
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