【发布时间】:2011-01-17 11:40:07
【问题描述】:
我对 Firefox 4 Beta 有疑问。
firefox 似乎以某种方式忽略了所有已安装的 LSP 提供程序。但它确实使用了winsock。
有什么问题?是我的 LSP 问题,我能解决吗?
【问题讨论】:
-
我的 LSP 也有同样的问题。确实很奇怪的问题。如果您想出解决方案,请告诉我。
标签: firefox winsock winsock-lsp
我对 Firefox 4 Beta 有疑问。
firefox 似乎以某种方式忽略了所有已安装的 LSP 提供程序。但它确实使用了winsock。
有什么问题?是我的 LSP 问题,我能解决吗?
【问题讨论】:
标签: firefox winsock winsock-lsp
如果您的 LSP 已经使用旧版本的 Firefox 和其他浏览器,那么您的代码可能没有问题。
在Vista或更高版本中,有一个新引入的概念,称为LSP类别。
Firefox 4 Beta 安装程序在检测到 Vista 时调用 WSCSetApplicationCategory()。它将 firefox.exe 的 LSP 类别设置为 LSP_INSPECTOR、LSP_REDIRECTOR、LSP_PROXY、LSP_FIREWALL、LSP_INBOUND_MODIFY、LSP_OUTBOUND_MODIFY、LSP_CRYPTO_COMPRESS。
这意味着只有将自己归类为上述之一的 LSP 才允许挂钩 firefox.exe 进程。
它只发生在 Vista 或更高版本中,您的 LSP 在以前的 Windows 上应该可以正常工作。一旦检测到 Vista,您的 LSP 安装程序应调用 WSCSetProviderInfo() 并对您的 LSP 进行分类以匹配 firefox 允许的 LSP 类别。
更多详情,请阅读:http://msdn.microsoft.com/en-us/library/bb513664(v=vs.85).aspx
【讨论】:
我遇到了同样的问题并解决了这个问题。我将 LSP 安装为 BASE_PROTOCOL 而不是 LAYERED_PROTOCOL。
但是,如果您选择编写自己的 BASE_PROTOCOL,则必须小心。您的提供者必须与其他 LSP 很好地合作。
【讨论】: