这种结构包含服务请求和回调函数指针所需得信息,你可以调用它来获取信息或执 行操作,下面对其中的回调函数作一说明:
(1)GetServerVariable函数
原型为:
typedef BOOL _stdcall (*TgetServerVarableProc) (int hConn,*VariableName, void *Buff,int &Size);
调用这个函数来获取服务器变量(如CONTEXT_TYPE)和同请求一起收到的头部。如通 过请求, 则得到HTTP_COOKIE来检索Cookies头部的内容。参数说明:hConn为传入参数 ECB的连接句柄ConnID;VariableName为要检索的变量的名字(如HTTP_COOKIE);Buffer为 接收变量的缓冲区指针;Size为缓冲区大小,若由于缓冲区空间不够而失败,该值被改 变为必要的缓冲区大小。
(2)WriteClient函数
原型为:
typedef BOOL _stdcall (*TWriteClientProc) (int ConnID,void *Buffer,int & Bytes,int dwReserver)
调用这个函数来发送响应内容给用户, 参数说明:ConnID为传入参数ECB中的连接 句柄ConnID; Buffer为包含写数据缓冲区的指针; Bytes为缓冲区数据的字节数; dwReserver保留。
(3)ReadClient函数
原型为:
typedef BOOL _stdcall (*TReadClientProc) (int ConnID, void *Buffer,int & Size)
调用这个函数读取用户的附加数据,通过检验ECB中cbAvailable和cbTotalBytes的 值来确定是否调用此函数, 若cbTotalBytes大于cbAvailable;就表明有更多的数据需 要调用该函数去读取。 参数说明:ConnID为传入参数ECB中的连接句柄ConnID;Buffer 为读入数据存放的缓冲区;Size在调用时,传入Buffer缓冲区的大小,返回时,等于实 际读取的字节数。
(4)ServerSupportFunction函数
原型为:
typedef BOOL _stdcall (*TServerSupportFunctionProc) (int hConn, int HSERRequest,void buffer,int &Size,PDWORD DataType);
这个函数实现其他一些操作,参数说明:hConn为传入参数ECB的连接句柄ConnID, HSERRequest为要实现操作的常量值。Size为Buffer缓冲区的大小,Buffer缓冲区指针; DataType为数据类型指针;其中Buffer和DataType的含义根据HSERRequest的值变化。
下面说明这个函数的几个主要操作(也就是HSERRequest的可用值,在Isapi2.hpp中 定义),以及对应不同的操作,参数Buffer,Size,DataType的不同含义:
●HSE_REQ_SEND_URL_REDIRECT_RESP: 重定向客户浏览器到另一个网址上的URL。 Buffer:指向一重定向目标URL字符串;DataType被忽略。
保留地址 http://www.qqread.com/bcb/d349884.html相关专题
- C/C++技术专题 (1640篇文章)
- Wlan组网----家庭专题 (4217篇文章)
- C/C++进阶技术文档 (821篇文章)
- C/C++应用实例 (104篇文章)
- C/C++相关文章 (130篇文章)
- 数字小键盘指法练习 (5501次浏览)
- 用WinSock控件编写网络聊天器 (2638次浏览)
- C++Builder注册表编程实例详解 (1568次浏览)
- C++ Builder VCL库函数简介 (1348次浏览)
- 在 C++ Builder中利用串行通信控件编程 (1213次浏览)
- C++ Builder中消息处理过程及应用 (1038次浏览)
- 将指定目录的结构装入TreeView中 (990次浏览)
- 用C++ Builder3 制作记事本 (818次浏览)
- Windows多线程间同步事件的控制方法 (787次浏览)
- C++Builder开发Web应用程序 (746次浏览)



