LoadLibrary und Freelibrary

Hallo,

ich importiere mir eine DLL zur Laufzeit mittels pinvoke.
Danach gebe ich die DLL wieder frei mit FreeLibrary.

Wenn ich nun LoadLibrary erneut aufrufe (selbe DLL) wird die DLL neu geladen (IntPtr h = LoadLibrary(xxx.dll) hat den gleichen Wert). Nur wenn die DLL nicht identisch ist (selber DLL Name andere Version) dann gibt es Fehler.
Wenn ich den Speicher des IntPtr nach FreeLibrary lösche dann läd er die DLL überhaupt nichtmehr.

System.NullReferenceExveption
Object reference not set to an instance of an object.

HILFE!

Danke
Patrick

ganz vergessen. Unter .NET 2.0 lautet die Fehlermeldung

System.AccessViolationException
Attemped to read or write protected memory. This is often an indication that other memory is corrupt.

Tritt auf wenn ich die von der DLL Exportierte Funktion aufrufe.


Das habe ich gefunden womit ich aber nichts anfangen konnte. Es umschreibt meinen Fehler aber recht gut:
http://blogs.msdn.com/robgruen/archive/2004/11.aspx

Grüße
Patrick