Posted by bobr
(126.96.36.199) on January 08, 2008 at 15:53:36:
In Reply to: Re: Problems with C/C++ reader detection after application start posted by christian on January 08, 2008 at 10:14:34:
Thanks. I tried wrapping all my calls to zcbci.dll, zccri.dll and zccrypt.dll in a C++ class that dynamically loads/unloads these three dlls as needed.
However, things still don't work. The failure mode is slightly different, but I think shares the same root.
Using SysInternals Process Explorer, I can see the zcbci.dll, zccri.dll and zccrypt.dll get dynamically loaded/unloaded. Unfortunately, on the first call to ZCCriGetReaderCount, a whole bunch of other dlls get loaded, including zcplib.dll and zcwpcsc.dll. When I explicitly unload zcbci.dll, zccri.dll and zccrypt.dll, the dlls zcplib.dll and zcwpcsc.dll (and all their support libraries) do NOT unload.
It appears that one zcplib.dll or zcwpcsc.dll do not like the dynamic unloading. If I perform subsequent dynamic loads of zcbci.dll, zccri.dll and zccrypt.dll, calls to ZCCriGetReaderCount always return 0.
I have checked and rechecked my code, and I can't see what I might be doing thats causing the problem.
Has anyone ever successfully used dynamic loading/unloading of zcbci.dll, zccri.dll and zccrypt.dll?