技术开发 频道

如何扩展IIS的架构满足不同需求



三、ISAPI的结构和实现步骤
ISAPI本身是一种API,即然是API,就会有相应的接口。接口可以看做是规范的另一种称呼,在定义了标准接口后,任何能实现API的开发工具都可以实现ISAPI。
ISAPI主要有两个接口函数:GetExtensionVersion和HttpExtensionProc,在IIS启动时首先调用ISAPI的GetExtensionVersion以获得版本号, 并与自己的版本号进行比较,以保证版本兼容。
其中GetExtensionVersion函数有一个HSE_VERSION_INFO类型的参数,用来设置ISAPI的版本号和版本信息。HSE_VERSION_INFO类型的定义如下。
typedef struct   _HSE_VERSION_INFO {
 
    DWORD dwExtensionVersion;
    CHAR   lpszExtensionDesc[HSE_MAX_EXT_DLL_NAME_LEN];
 
} HSE_VERSION_INFO, *LPHSE_VERSION_INFO;
HttpExtensionProc函数是ISAPI的入口点,相当于控制台程序的main函数。当有请求时,IIS就会调用这个函数来处理请求。
在本文中使用了VS2005做为开发平台,下面就以一个具体的例子详细讲述ISAPI扩展的开发过程。
0
相关文章