ISAPI extensions expose their functionality to IIS by providing special entry-point functions. IIS calls these functions to initialize, notify, and terminate your extension.
Both GetExtensionVersion and HttpExtensionProc must be provided by every ISAPI extension. TerminateExtension, called by IIS just before the extension is unloaded, is considered optional, though you should provide this function if your extension needs to free any allocated or locked resources before being unloaded.
All function declarations and data structures are available in the ISAPI extension header file httpext.h.