Also eine
Dll ist ja nur zusätzlicher Programmcode im Speicher. Der Macht ja nichts, ausser beim laden und ggf entladen etc. ein bisschen Code auszuführen.
Wenn du nun beim laden (zwischne begin und end.) einen Thread mit CreateThread erstellst und dieser in eine Endlosschleife hängt, dann kannst du den immernoch aus einem anderen Thread mit TerminateThread beenden. Die
Dll ist aber weiterhin im Speicher.
Was du machen könntest wäre a) eine neue Bedingung in die Schleife einfügen, dass die doch irgendwann aml beendet, oder aber TerminateThread benutzen, und wenn du die
Dll entladen willst danach einfach FreeLibrary. Das sollte kein Problem sein.