套接字句柄可以选择是Windows套接字2中的文件句柄.Winsock提供程序的套接字句柄可以与其他非Winsock函数一起使用,例如ReadFile,WriteFile,ReadFileEx和WriteFileEx。
提供程序的协议信息结构中的XP1_IFS_HANDLES成员确定来自提供程序的套接字句柄是否是可安装文件系统(IFS)句柄。 可以使用作为IFS句柄的套接字句柄,而不会对其他非Winsock函数(例如,ReadFile和WriteFile)造成性能损失。 当与非Winsock函数(例如,ReadFile和WriteFile)一起使用时,任何非IFS套接字句柄都会导致提供程序与文件系统之间的交互,其中涉及额外的处理开销,这可能导致显着的性能损失。 使用具有非Winsock函数的套接字句柄时,从基本文件系统传播的错误代码并不总是映射到Winsock错误代码。 因此,建议套接字句柄仅用于Winsock函数。
套接字句柄不应与DuplicateHandle函数一起使用。 分层服务提供程序(LSP)的存在可能导致此操作失败,并且目标进程无法导入套接字句柄。
注意
分层服务提供商已弃用。 从Windows 8和Windows Server 2012开始,使用Windows筛选平台。
Windows套接字2扩展了某些使用句柄在套接字之间传输数据的功能。 这些函数提供了特定于用于传输数据的套接字的优点,包括WSARecv,WSASend和WSADuplicateSocket。
本文探讨了Windows套接字2(Winsock2)中套接字句柄的特性,包括它们如何与非Winsock函数如ReadFile和WriteFile交互,以及使用IFS(可安装文件系统)句柄的好处。文章还警告了套接字句柄与DuplicateHandle函数结合使用的潜在问题,以及分层服务提供程序(LSP)的弃用。
593

被折叠的 条评论
为什么被折叠?



