RTM_IPV4_LEN_FROM_MASK宏 (rtmv2.h)
RTM_IPV4_LEN_FROM_MASK宏會將IPv4遮罩轉換成一般路由長度。
語法
void RTM_IPV4_LEN_FROM_MASK(
Len,
Mask
);
參數
Len
接收轉換的長度
Mask
指定要轉換的遮罩。
傳回值
無
備註
例如,如果用戶端提供 Mask 255.255.255.255,則會傳回 Len 24。
宏的定義如下:
#include <windows.h>
#define RTM_CHECK_NTH_BIT(Value, N, Len) \
if ((Value) & (1 << (N))) \
{ \
(Len) += (N); (Value) <<= (N); \
}
#define RTM_IPV4_LEN_FROM_MASK(Len, Mask) \
{ \
ULONG _Temp_ = ntohl(Mask); \
(Len) = 0; \
RTM_CHECK_NTH_BIT(_Temp_, 16, (Len)); \
RTM_CHECK_NTH_BIT(_Temp_, 8, (Len)); \
RTM_CHECK_NTH_BIT(_Temp_, 4, (Len)); \
while (_Temp_) \
{ \
(Len) += 1; _Temp_ <<= 1; \
} \
} \
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 都不支援 |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | rtmv2.h |