先看看Microsoft给出的关于MAKEWORD的参考:
从Microsoft给出的参考可以得知,宏MAKEWORD的作用是用于创建一个由bHigh和bLow组成的WORD类型的值。
其中bLow是构成新值的低字节参数,而bHigh则是构成新值的高字节参数。
返回一个WORD类型的值。
在Windows Data Types中,给出了关于BYTE和WORD的描述:
再看看Microsoft给出的关于函数WSAStartup的第一个参数的描述:
可以得知,类型为WORD的参数wVersionRequested,其高字节指定了次版本号,低字节指定了主版本号。
再来看看Microsoft给出的关于结构体WSADATA的参数wVersion、wHighVersion的描述:
可以得知:
参数wVersion是Ws2_32.dll期望调用者使用的Windows Sockets规范的版本。其高字节指定了次版本号,低字节指定了主版本号。
参数wHighVersion是Ws2_32.dll能支持的Windows Sockets规范的最高版本。其高字节指定了次版本号,低字节指定了主版本号。
因此,我们可以使用宏MAKEWORD来指定Windows Sockets规范的版本号。例如: