views:

132

answers:

1

Is there a difference between TerminateExtension() and the extensions destructor? Obviously both are used to cleanup resources but what kind of cleanup should be in one function and not the other?

+1  A: 

The TerminateExtension function takes a DWORD dwFlags. If this is HSE_TERM_ADVISORY_UNLOAD, you can return FALSE or TRUE to either allow or block the unloading from happening.

There's no such option in your class's destructor of course.

http://msdn.microsoft.com/en-us/library/ms524470.aspx

Daniel Earwicker
Thanks. Do you know when the two functions are called? It is my understanding that TerminateExtension is called before the destructor but do you know what triggers each call?
theycallmemorty