套接字句柄

套接字句柄可以选择是 Windows 套接字 2 中的文件句柄。 来自 Winsock 提供程序的套接字句柄可以与其他非 Winsock 函数(如 ReadFileWriteFileReadFileExWriteFileEx)一起使用。

提供程序的协议信息结构中的 XP1_IFS_HANDLES 成员确定提供程序的套接字句柄是否为可安装文件系统 (IFS) 句柄。 作为 IFS 句柄的套接字句柄可用于其他非 Winsock 函数 (ReadFileWriteFile,例如) 。 例如,任何非 IFS 套接字句柄与非 Winsock 函数一起使用时, (ReadFileWriteFile,) 会导致提供程序和文件系统之间的交互,其中涉及额外的处理开销,从而导致严重的性能损失。 将套接字句柄与非 Winsock 函数一起使用时,从基本文件系统传播的错误代码并不总是映射到 Winsock 错误代码。 因此,建议仅将套接字句柄与 Winsock 函数一起使用。

套接字句柄不应与 DuplicateHandle 函数一起使用。 存在分层服务提供程序 (LSP) 可能会导致此操作失败,并且目标进程无法导入套接字句柄。

注意

分层服务提供程序已弃用。 从 Windows 8 和 Windows Server 2012 开始,请使用 Windows 筛选平台

 

Windows 套接字 2 扩展了使用句柄在套接字之间传输数据的某些函数。 这些函数提供特定于套接字传输数据的优势,包括 WSARecvWSASendWSADuplicateSocket