macro RTM_IPV4_LEN_FROM_MASK (rtmv2.h)
La macro RTM_IPV4_LEN_FROM_MASK convertit un masque IPv4 en longueur d’itinéraire générique.
Syntaxe
void RTM_IPV4_LEN_FROM_MASK(
Len,
Mask
);
Paramètres
Len
Reçoit la longueur convertie
Mask
Spécifie le masque à convertir.
Valeur de retour
None
Remarques
Par exemple, si un client fournit le masque 255.255.255.255, le len 24 est retourné.
La macro est définie comme suit :
#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; \
} \
} \
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Aucun pris en charge |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | rtmv2.h |