Windows · Hyper-V · AF_HYPERV · VMBus
hvsocket.dll 是 Windows 系统自带的动态链接库,属于 Hyper-V 套接字(HvSocket)体系的用户态实现,通常位于 C:\Windows\System32 目录下。它为运行在 Windows 主机与虚拟机之间的进程提供了一条独立于传统 TCP/IP 网络的通信路径。
向 Winsock 注册 AF_HYPERV 专用地址族并提供对应的服务提供程序接口,使应用程序可以用与 socket()、bind()、connect()、accept() 相同的方式建立连接,业务代码几乎无需为虚拟机通信做特殊改造。
数据不经过虚拟网卡和 IP 协议栈,而是直接走 Hyper-V 的 VMBus 虚拟总线。因此即便客户机没有配置网络适配器、没有可用 IP 地址,只要集成服务正常,HvSocket 依然可以完成通信。
HvSocket 端点以“分区 ID + 服务 GUID”或“服务 GUID + 端口”来标识,不依赖 IP 与端口映射。系统内置的 hv_kvp、hv_timesync 等基础服务,都是通过这一套寻址机制对外暴露。
KVP 数据交换、时间同步、文件复制、增强会话模式、PowerShell Direct、WMI 直通等功能,底层都依赖 hvsocket.dll 完成宿主机与客户机之间的消息收发。