Hello
I have 3 HL dongles with 3 different vendors code (named for the explain E, D1 and D2 ).
I compile an Win64 executable with it linked with static lib of dongle E
This executable also enveloped with E dongle code and it's work
I build also 2 DLL (Win64) : One with D1 static lib and envelope and the second with D2 static lib and envelope.
If the exe load the first DLL (D1) and the key D1 is connected, -> OK
If the exe load the first DLL (D1) and the key D1 is not connected (LoadLibrary fail), I try to load the second DLL (D2), -> OK
The deadlock :
If the exe load the first DLL (D1).
the key D1 is connected (LoadLibrary is OK)
I read some data in dongle D1 memory (version number).
If the version number is not correct, I free the DLL D1 and I try to load the second DLL.
The problem is when i quit the exe, all thread stop in WaitForSingleObject() and the exe is in deadlock.
If I keep library open, there is no problem but I don't want to do this So I think there is another bug in TLS on library code.
Also : if you make a hasp_login() and you free library without hasp_logout(), you go on deadock too.
Any idea ?