DELPHI AND THE INTERNET(5) 优美的ISAPI来对NSAPI接口进行操作。下面是这两个重要函数的声明function GetExtensionVersion(var Ver: THSE_VERSION_INFO): BOOL; stdcall;function HttpExtensionProc(var ECB: TExtensionControlBlock): DWord; stdcall;您只要把GetExtensionVersion粘贴到您的DLLs救行了.当ISAPI向公众发布新版本时您只需要做轻微的改动。function GetExtensionVersion(var Ver: THSE_VERSION_INFO): BOOL; stdcall;begin Ver.dwExtensionVersion := $00010000; // 1.0 support Ver.lpszExtensionDesc := 'Delphi 2.0 ISAPI DLL'; // Description Result := True;end;The parameter passed to this function is declared in HTTPEXT.PAS as follows:有关的参数在HTTPEXT.PAS中声明如下:PHSE_VERSION_INFO = ^THSE_VERSION_INFO;THSE_VERSION_INFO = packed record dwExtensionVersion: DWord; lpszExtensionDesc: array[0..HseMaxExtDLLNameLen-1] of Char;end;常量 HseMaxExtDllNameLen 在声明中的值为256。纪录中的这两个变量是“自声明”的,前一个包含了ISAPI的版本号[注:即变量dwExtensionVersion (译者)],后一个则表示用户定义的一个用来描述DLLs的字符串。在您引用GetExtensionVersion语句的同时,您必须在您的DLL程序的DPR文件部分增添输出部分。在您写这段语句时您还应该写下:eXPorts GetExtensionVersion, HttpExtensionProc;这就是您在建立这两个重要ISAPI DLL的函数时所要做的。下一步,使用 HttpExtensionProc,稍微复杂一点,因此我将把它作为一个独立的部分。与 HttpExtensionProc 一起工作HttpExtensionProc语句是DLL的入口。它的作用就好比C语言中的 main() 语句,或者Delphi 中的begin...end 部分这里有一个简单的使用GetExtensionVersion语句的例子function HttpExtensionProc(var ECB: TExtensionControlBlock): DWord; stdcall;