Windows 套接字的新增内容
针对 Windows 8.1 和 Windows Server 2012 R2 进行了更新
Windows 8.1、Windows Server 2012 R2 及更高版本的 Windows 应用商店应用支持以下函数。 Windows 应用商店应用需要 Microsoft Visual Studio 2013 Update 3 或更高版本。
- __WSAFDIsSet
- 接受
- AcceptEx
- 绑定
- closesocket
- 连接
- ConnectEx
- DisconnectEx
- freeaddrinfo
- FreeAddrInfoExW
- freeaddrinfoW
- GetAcceptExSockaddrs
- getaddrinfo
- GetAddrInfoExCancel
- GetAddrInfoExOverlappedResult
- GetAddrInfoExW
- GetAddrInfoW
- gethostbyaddr
- gethostbyname
- gethostname
- GetHostNameW
- getipv4sourcefilter
- getnameinfo
- GetNameInfoW
- getpeername
- getprotobyname
- getprotobynumber
- getservbyname
- getservbyport
- getsockname
- getsockopt
- getsourcefilter
- htond
- htonf
- htonl
- htonll
- htons
- inet_addr
- inet_ntoa
- inet_ntop
- inet_pton
- InetNtopW
- InetPtonW
- ioctlsocket
- listen
- ntohd
- ntohf
- ntohl
- ntohll
- ntohs
- recv
- recvfrom
- RIOCloseCompletionQueue
- RIOCreateCompletionQueue
- RIOCreateRequestQueue
- RIODequeueCompletion
- RIODeregisterBuffer
- RIONotify
- RIOReceive
- RIOReceiveEx
- RIORegisterBuffer
- RIOResizeCompletionQueue
- RIOResizeRequestQueue
- RIOSend
- RIOSendEx
- 选择
- 发送
- sendto
- SetAddrInfoExW
- setipv4sourcefilter
- setsockopt
- setsourcefilter
- shutdown
- socket
- TransmitFile
- TransmitPackets
- WSAAccept
- WSAAddressToStringW
- WSACleanup
- WSACloseEvent
- WSAConnect
- WSAConnectByList
- WSAConnectByNameW
- WSACreateEvent
- WSADuplicateSocketW
- WSAEnumNameSpaceProvidersExW
- WSAEnumNameSpaceProvidersW
- WSAEnumNetworkEvents
- WSAEnumProtocolsW
- WSAEventSelect
- WSAGetLastError
- WSAGetOverlappedResult
- WSAHtonl
- WSAHtons
- WSAIoctl
- WSAJoinLeaf
- WSALookupServiceBeginW
- WSALookupServiceEnd
- WSALookupServiceNextW
- WSANSPIoctl
- WSANtohl
- WSANtohs
- WSAPoll
- WSAProviderConfigChange
- WSARecv
- WSARecvFrom
- LPFN_WSARECVMSG (WSARecvMsg)
- WSAResetEvent
- WSASend
- WSASendMsg
- WSASendTo
- WSASetEvent
- WSASetLastError
- WSASetServiceW
- WSASocketW
- WSAStartup
- WSAStringToAddressW
- WSAWaitForMultipleEvents
已针对 Windows Phone 8 更新
Windows Phone 8 及更高版本上的 Windows Phone Store 应用支持以下函数。
- __WSAFDIsSet
- AcceptEx
- 绑定
- closesocket
- 连接
- ConnectEx
- DisconnectEx
- freeaddrinfo
- getaddrinfo
- gethostbyaddr
- gethostbyname
- gethostname
- GetHostNameW
- getipv4sourcefilter
- getnameinfo
- GetNameInfoW
- getpeername
- getprotobyname
- getprotobynumber
- getservbyname
- getservbyport
- getsockname
- getsockopt
- getsourcefilter
- htond
- htonf
- htonll
- inet_addr
- inet_ntoa
- ioctlsocket
- listen
- ntohd
- ntohf
- ntohll
- recv
- recvfrom
- RIOCloseCompletionQueue
- RIOCreateCompletionQueue
- RIOCreateRequestQueue
- RIODequeueCompletion
- RIODeregisterBuffer
- RIONotify
- RIOReceive
- RIOReceiveEx
- RIORegisterBuffer
- RIOResizeCompletionQueue
- RIOResizeRequestQueue
- RIOSend
- RIOSendEx
- 选择
- 发送
- sendto
- setipv4sourcefilter
- setsockopt
- setsourcefilter
- shutdown
- socket
- TransmitPackets
- WSAAccept
- WSAAddressToStringW
- WSACleanup
- WSACloseEvent
- WSAConnect
- WSAConnectByList
- WSAConnectByNameW
- WSACreateEvent
- WSAEnumNameSpaceProvidersW
- WSAEnumNetworkEvents
- WSAEnumProtocolsW
- WSAEventSelect
- WSAGetLastError
- WSAGetOverlappedResult
- WSAHtonl
- WSAHtons
- WSAIoctl
- WSAJoinLeaf
- WSALookupServiceBeginW
- WSALookupServiceEnd
- WSALookupServiceNextW
- WSANSPIoctl
- WSANtohl
- WSANtohs
- WSARecv
- WSARecvFrom
- LPFN_WSARECVMSG (WSARecvMsg)
- WSAResetEvent
- WSASend
- WSASendTo
- WSASetEvent
- WSASetLastError
- WSASetServiceW
- WSASocketW
- WSAStartup
- WSAStringToAddressW
- WSAWaitForMultipleEvents
针对Windows 8和Windows Server 2012进行了更新
Microsoft Windows 8和Windows Server 2012引入了新的 Windows 套接字编程元素。
一组高速网络扩展可用于提高网络性能,降低延迟和抖动。 这些主要面向服务器应用程序的扩展使用预注册的数据缓冲区和完成队列来提高性能。
以下是为支持 Winsock 高速网络注册 I/O 扩展而添加的新 Windows 套接字函数:
- RIOCloseCompletionQueue
- RIOCreateCompletionQueue
- RIOCreateRequestQueue
- RIODequeueCompletion
- RIODeregisterBuffer
- RIONotify
- RIOReceive
- RIOReceiveEx
- RIORegisterBuffer
- RIOResizeCompletionQueue
- RIOResizeRequestQueue
- RIOSend
- RIOSendEx
以下是为支持 Winsock 高速网络注册 I/O 扩展而添加的新 Windows 套接字枚举、结构和 typedefs:
- RIO_CQ
- RIO_RQ
- RIO_BUFFERID
- RIO_BUF
- RIO_NOTIFICATION_COMPLETION
- RIO_NOTIFICATION_COMPLETION_TYPE
- RIORESULT
提供了一组异步命名支持的增强功能。
以下是为支持异步命名请求而添加的新 Windows 套接字函数:
以下现有 Winsock 函数已修改为支持异步命名请求:
提供了一组增强功能,可添加对国际化域名 (IDN) 分析的支持。
以下现有 Winsock 函数已修改为支持 IDN 分析:
Winsock 中的命名支持的增强功能可用于支持请求规范名称和完全限定的域名。
以下现有 Winsock 函数已修改为支持同时请求规范名称和完全限定的域名:
添加了以下新的 Winsock 结构,以支持同时请求规范名称和完全限定的域名:
添加了以下新的 Windows 套接字函数,以在 Unicode 中检索本地主机名:
以下是为支持 Windows 筛选平台 (WFP) 重定向服务而添加的新 Windows 套接字 Ioctls:
- SIO_QUERY_WFP_CONNECTION_REDIRECT_CONTEXT
- SIO_QUERY_WFP_CONNECTION_REDIRECT_RECORDS
- SIO_SET_WFP_CONNECTION_REDIRECT_RECORDS
以下是为支持 Windows 筛选平台 (WFP) 重定向服务而添加的新 Windows IP 套接字选项:
下面是一个新的 Windows 套接字 Ioctl 和一个关联的结构,用于控制 TCP 套接字的初始 (SYN/SYN+ACK) 重新传输特征:
下面是一个新的 Windows 套接字 Ioctl 以及添加的关联结构,用于检索套接字与 RSS 处理器核心与 NUMA 节点之间的关联:
添加了以下新的 Windows 套接字 Ioctls,以在套接字上应用和查询传输设置:
当前定义的唯一传输设置是 TCP 套接字上的 REAL_TIME_NOTIFICATION_CAPABILITY 功能。 添加了以下新结构和枚举以支持 REAL_TIME_NOTIFICATION_CAPABILITY:
- CONTROL_CHANNEL_TRIGGER_STATUS
- REAL_TIME_NOTIFICATION_SETTING_INPUT
- REAL_TIME_NOTIFICATION_SETTING_INPUT
- REAL_TIME_NOTIFICATION_SETTING_OUTPUT
- TRANSPORT_SETTING_ID
添加了以下新的 Windows 套接字 Ioctl,以便为 TCP 套接字上的环回启用快速路径。 对于使用 TCP 环回的应用程序,此功能可以降低延迟并提高性能, (金融服务行业使用的应用程序,例如) :
支持传输需要服务质量的流媒体 (IP 语音(例如) )的增强功能。
以下新的 Windows 套接字函数支持传输需要服务质量的流式处理媒体:
Windows 8、Windows Server 2012 及更高版本的 Windows 应用商店应用也支持 SetSocketMediaStreamingMode 函数。
Winsock2.h 头文件中定义的一组内联函数,用于在主机字节顺序和网络字节顺序之间转换浮点数或无符号__int64。
针对 Windows 7 和 Windows Server 2008 R2 进行了更新
Microsoft Windows 7 和 Windows Server 2008 R2 引入了新的 Windows 套接字编程元素。
以下现有 Windows 套接字函数已得到增强,以支持其他选项:
下面是新的 Windows 套接字选项:
Windows 7 和 Windows Server 2008 R2 上添加了 TCP 的动态发送缓冲。 因此,仅在特殊情况下才需要使用 SIO_IDEAL_SEND_BACKLOG_CHANGE 和 SIO_IDEAL_SEND_BACKLOG_QUERY IOCTL。 有关详细信息,请参阅 SIO_IDEAL_SEND_BACKLOG_QUERY。
针对 Windows Server 2008 和 Windows Vista 更新了 Service Pack 1 (SP1)
Microsoft Windows Server 2008 和 Windows Vista service Pack 1 (SP1) 引入了新的 Windows 套接字编程元素。
下面是新的 Windows 套接字 Ioctls:
应用程序可以使用这些新的 Ioctls,使用 TCP 来确定要发送的未完成数据量的理想值,以便为连接实现最佳吞吐量。 这称为理想发送积压工作 (ISB) 大小。
已针对 Windows Server 2008 更新
Microsoft Windows Server 2008 引入了新的 Windows 套接字编程元素。
下面是新的 Windows 套接字选项:
针对 Windows Vista 进行了更新
Microsoft Windows Vista 引入了新的 Windows 套接字编程元素。 这些元素扩展了 Winsock 的功能,以简化编程并提供 IPv6 兼容性。 有关将 Winsock 应用程序移植到 IPv6 的详细信息,请参阅 适用于 Windows 套接字应用程序的 IPv6 指南。
Windows 套接字跟踪是 Windows Vista 和 Windows Server 2008 支持的一项新功能。 可以在零售二进制文件中启用此功能,以最少的开销跟踪某些套接字事件。 有关详细信息,请参阅 Winsock 跟踪。
以下是新的 Windows 套接字函数:
- FreeAddrInfoEx
- GetAddrInfoEx
- InetNtop
- InetPton
- SetAddrInfoEx
- WSAConnectByList
- WSAConnectByName
- WSADeleteSocketPeerTargetName
- WSAEnumNameSpaceProvidersEx
- WSAImpersonateSocketPeer
- WSAPoll
- WSAQuerySocketSecurity
- WSARevertImpersonation
- WSASendMsg
- WSASetSocketPeerTargetName
- WSASetSocketSecurity
下面是新的 Windows 套接字结构和枚举:
- addrinfoex
- Blob
- GROUP_FILTER
- GROUP_REQ
- GROUP_SOURCE_REQ
- MULTICAST_MODE_TYPE
- NAPI_DOMAIN_DESCRIPTION_BLOB
- NAPI_PROVIDER_INSTALLATION_BLOB
- NAPI_PROVIDER_LEVEL
- NAPI_PROVIDER_TYPE
- SOCKET_PEER_TARGET_NAME
- SOCKET_SECURITY_PROTOCOL
- SOCKET_SECURITY_QUERY_INFO
- SOCKET_SECURITY_QUERY_TEMPLATE
- SOCKET_SECURITY_SETTINGS
- SOCKET_SECURITY_SETTINGS_IPSEC
- SOCKET_USAGE_TYPE
- WSAQUERYSET2
Microsoft Windows Vista 引入了新的 Windows 套接字 SPI 函数,以便为分层服务提供商对应用程序进行分类。 还会为命名空间提供程序添加新函数。
下面是新的 Windows 套接字 SPI 函数:
- NSPv2Cleanup
- NSPv2ClientSessionRundown
- NSPv2LookupServiceBegin
- NSPv2LookupServiceEnd
- NSPv2LookupServiceNextEx
- NSPv2SetServiceEx
- NSPv2Startup
- WSAAdvertiseProvider
- WSAProviderCompleteAsyncCall
- WSAUnadvertiseProvider
- WSCEnumNameSpaceProvidersEx32
- WSCGetApplicationCategory
- WSCGetProviderInfo
- WSCInstallNameSpaceEx
- WSCInstallNameSpaceEx32
- WSCSetApplicationCategory
- WSCSetProviderInfo
- WSCSetProviderInfo32
下面是新的 Windows 套接字 SPI 结构:
Microsoft Windows Vista 引入了新的 Windows 套接字编程元素。
下面是新的 Windows 套接字 Ioctls:
- SIO_ACQUIRE_PORT_RESERVATION
- SIO_ASSOCIATE_PORT_RESERVATION
- SIO_SET_COMPATIBILITY_MODE
- SIO_RELEASE_PORT_RESERVATION
下面是新的 Windows 套接字选项:
更新为 2005 年 4 月
以下函数已添加到 Windows 套接字 SPI (ws2spi.h) ,以支持 64 位平台上的 32 位进程和目录:
- WSCDeinstallProvider32
- WSCEnableNSProvider32
- WSCEnumNameSpaceProviders32
- WSCEnumProtocols32
- WSCGetProviderPath32
- WSCInstallNameSpace32
- WSCInstallProvider64_32
- WSCInstallProviderAndChains64_32
- WSCUnInstallNameSpace32
- WSCUpdateProvider32
针对 Windows Server 2003 进行了更新
Microsoft Windows Server 2003 引入了新的 Windows 套接字编程元素。 这些元素扩展了 Winsock 的功能,以简化编程并提供 IPv6 兼容性。 有关将 Winsock 应用程序移植到 IPv6 的详细信息,请参阅 Windows 套接字应用程序的 IPv6 指南。
以下是新的 Windows 套接字函数:
- ConnectEx
- DisconnectEx
- freeaddrinfo
- gai_strerror
- getaddrinfo
- getnameinfo
- TransmitPackets
- WSANSPIoctl
- LPFN_WSARECVMSG (WSARecvMsg)
以下是新的 Windows 套接字结构定义: