Ja durchaus denkbar, dass es so funktioniert. Aber die Frage ist wie WinAmp wiederum darauf reagiert wenn eine
DLL nicht sauber entladen wird bei einem FreeLibrary. Da kann ich mir allerlei Folgefehler ausmalen...
Okay, dann male mal. Wir halten einfach den Referenzzähler größer als Null. Winamp ruft einfach FreeLibrary auf, was genau sollte da fehlschlagen?
... es setzt doch nur den Zähler um eins runter ...
Ja und was wenn man eben keine Variable hochzählt? Ich glaube die Auswirkungen auf das System könnten vo der übleren Sorte sein... Deshalb habe ich auch auf die Gefahr aufmerksam machen wollen. Ich sage nicht dass es nicht möglich ist, ich weiss dass man von einer
DLL aus andere DLLs dynamisch laden kann (das man das nicht von DLLMain aus mahcen soll/kann sei mal dahingestellt). Aber man sollte auch entsprechend vorsichtig sein...
Stimmt. Deshalb sollte man es mit Zähler machen - und threadsicher. Allerdings nehme ich an, daß die exportierten Funktionen selber vielleicht nichtmal so oft aufgerufen werden. Und wenn man da drin LoadLibrary aufruft, muß man auch sehr sehr lange Arbeiten bis der Referenzzähler von 32bit überläuft