c++isapiisapi-extension

ISAPI Extensions: What is the difference between TerminateExtension and the extensions destructor?


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?


Solution

  • 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