Unloading a DLL
-
Hi, I am developing a shell namespace extension which will be loaded by explorer.exe. Since I have implemented file uploading in a seperate queue, I couldn't unable the dll even if the reference count becomes zero. For that I am always returning S_FALSE from DllCanUnloadNow method. The problem is, If someone wants to install a new version, since the dll is in memory and couldn't be unloaded I am not able to overwrite the new version. Is there any mechanism by which I can forcefully unload a dll ? I recollect reading an article which suggests returning S_OK from DllCanUnloadNow depending on the application which is trying to unload the dll. But I couldn't find the link even after gooogling for hours. Any help on this would be greatly appreciated!!! Merry X'mas and Happy New Year. Thanks and Regards Jugs "A robust program is resistant to errors -- it either works correctly, or it does not work at all; whereas a fault tolerant program must actually recover from errors."
-
Hi, I am developing a shell namespace extension which will be loaded by explorer.exe. Since I have implemented file uploading in a seperate queue, I couldn't unable the dll even if the reference count becomes zero. For that I am always returning S_FALSE from DllCanUnloadNow method. The problem is, If someone wants to install a new version, since the dll is in memory and couldn't be unloaded I am not able to overwrite the new version. Is there any mechanism by which I can forcefully unload a dll ? I recollect reading an article which suggests returning S_OK from DllCanUnloadNow depending on the application which is trying to unload the dll. But I couldn't find the link even after gooogling for hours. Any help on this would be greatly appreciated!!! Merry X'mas and Happy New Year. Thanks and Regards Jugs "A robust program is resistant to errors -- it either works correctly, or it does not work at all; whereas a fault tolerant program must actually recover from errors."
Hope this is helpfull Debuging shell extention[^] -Prakash -Prakash