winsock2.h中的地址族unknown1是什么?

时间:2016-12-20 09:12:51

标签: windows winsock2

在头文件winsock2.h中,我找到了一个名为 unknown1 的地址族。

这个地址族代表什么以及它用于什么?

以下是头文件winsock2.h的源代码,以下是包含该地址系列常量的代码行:

#define AF_UNKNOWN1 20

2 个答案:

答案 0 :(得分:7)

你的winsock2.h副本很奇怪,也许你故意放弃了评论。我保留旧版本的SDK,它们是Windows开发的一个有趣的考古记录。我可以追溯到1996年发布的WinNT版本4 SDK以及支持Winsock v2的第一个SDK版本。它扩展了在NT 3.1和Winsock v1.1中首先支持的地址族,复制粘贴所有添加的地址:

#define AF_VOICEVIEW    18              /* VoiceView */
#define AF_FIREFOX      19              /* Protocols from Firefox */
#define AF_UNKNOWN1     20              /* Somebody is using this! */
#define AF_BAN          21              /* Banyan */
#define AF_ATM          22              /* Native ATM Services */
#define AF_INET6        23              /* Internetwork Version 6 */

今天仍然看起来一样。显然评论是相关的,Somebody is using this!应该强调Somebody。它被那些在90年代中期拥有相当成功的产品的公司产品所包围,足以与微软建立合作关系,并通过Winsock 2和WinNT4验证和支持他们的产品(Firefox是一家公司,而不是浏览器btw)

因此,一个看似合理的情况是测试人员发现了冲突,否则他知道他的机器有多脏,并提交了一份错误报告。如果微软在1996年不知道,那么,没人知道。时间对这些公司及其产品并不友好,TCP / IP的主导地位和Dot-com泡沫破灭使所有这些公司丧命。当然,Somebody Inc发生了同样的事情:)

答案 1 :(得分:0)

这实际上是非常自我描述的:它是其他未定义的其他内容。例如,AF_UNKNOWN1是一个地址族,没有其他定义的地址族; PF_UNKNOWN1就是这样一个协议族。对于1后缀,我现在没有快速找到指针,我的 假设是因为它已被引入以避免与可能已存在的{{ 1}}定义。