WFP中标注的classifyFn中指定的IP地址的字节顺序是多少?

时间:2013-01-13 11:31:39

标签: kernel ip-address firewall endianness wfp

在callout的classifyFn中,可以使用以下代码获取远程IP地址:

inFixedValues->
incomingValue[FWPS_FIELD_ALE_AUTH_CONNECT_V4_IP_REMOTE_ADDRESS].value.uint32;
// IPv4

inFixedValues->
incomingValue[FWPS_FIELD_ALE_AUTH_CONNECT_V6_IP_REMOTE_ADDRESS].value.byteArray16; 
// IPv6

但是,我找不到任何文档来指定MSDN,OSR等IP地址的“字节顺序”。

以下链接与我的问题相同,但没有答案。

http://www.osronline.com/showthread.cfm?link=225090he

1 个答案:

答案 0 :(得分:1)

我没有使用IPv6地址,但是WFP gives you the IPv4 address in "host order"(小端)。如果您需要将其更改为“网络顺序”(big endian),则可以调用htonl()函数,或者如果您正在编写内核模式驱动程序,则可以使用RtlUlongByteSwap()