GetExtensionVersion - initializes an ISAPI Extension shared library.
#include "httpext.h"
BOOL GetExtensionVersion ( HSE_VERSION_INFO *pVer ) { pVer->dwExtensionVersion = HSE_VERSION; strncpy( pVer->lpszExtensionDesc, "name of my extension", HSE_MAX_EXT_DLL_NAME_LEN ); /* Further initialization code ... */ return TRUE; }
For a shared library to provide an ISAPI extension, it must export GetExtensionVersion. If a shared library fails to provide a GetExtensionVersion entry point, the web server will not consider it a valid ISAPI extension.
When an ISAPI-enabled server loads a shared library it calls GetExtensionVersion to initialize the library in preparation for servicing requests. GetExtensionVersion will only be called once.
On Tru64 UNIX (because of complications in that OS's handling of shared libraries) GetExtensionVersion must appear in the shared library which implements the extension - if the extension depends on further shared libraries, it can only use these to provide the tools needed by its interfaces; it cannot delegate, to them, provision of the ISAPI interface functions themselves.
The argument pVer is a pointer to an HSE_VERSION_INFO structure. GetExtensionVersion should fill in pVer->dwExtensionVersion with the value of HSE_VERSION (a macro provided by httpext.h) describing the version of ISAPI against which the extension was compiled. It should fill the pVer->lpszExtensionDesc array with a string (of up to HSE_MAX_EXT_DLL_NAME_LEN characters) describing the extension.
On success, return TRUE; otherwise FALSE. If GetExtensionVersion returns FALSE, the server will abandon processing of this ISAPI extension.
isapi(7),
HSE_VERSION_INFO(5)
$ZEUSHOME/web/include/httpext.h $ZEUSHOME/web/include/wintypes.h $ZEUSHOME/webadmin/docroot/docs/modules/isapi/*.html
Copyright (C) 2000-2001 Zeus Technology Limited. All rights reserved.