我修改了Microsoft的LSP(Winsosk分层服务提供程序)示例,以便为桌面创建Web过滤器应用程序。我可以通过将http标头中的主机与文件中的禁止网站列表进行比较来阻止对网站的访问。如果Web被阻止,LSP将使用html页面填充缓冲区,显示该页面被禁止。我在Firefox 4,Opera 11和IE 6上进行了测试,并显示了一个块页面。但是,此类页面未在Chrome 11中显示(最新版本)。
我想知道Chrome是否以不同方式处理LSP。
这是我提供给LSP WSPRecv函数的缓冲区。
string strBufferHdr;
char len[10];
_itoa_s (strBufferHTML.size(), len, 10);
strBufferHdr += "HTTP/1.1 200 OK\r\n";
strBufferHdr += "content-type: text/html; charset=UTF-8\r\n";
strBufferHdr += "connection: close\r\n";
strBufferHdr += "content-length: ";
strBufferHdr += len;
strBufferHdr += "\r\n\r\n";
strBufferHdr += strBufferHTML;
strBufferHdr += "\n\n\n";
strBufferHTML是一个html页面内容。
谢谢。
答案 0 :(得分:0)
Chrome使用重叠的I / O,因此除了spi.cpp之外,还需要将代码放在overlap.cpp中调用WSPRecv的位置。 (来自nonifslsp SDK示例的文件名。)