Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das RTM_IPV4_LEN_FROM_MASK Makro konvertiert eine IPv4-Maske in eine generische Routenlänge.
Syntax
void RTM_IPV4_LEN_FROM_MASK(
Len,
Mask
);
Parameter
Len
Empfängt die konvertierte Länge
Mask
Gibt die zu konvertierende Maske an.
Rückgabewert
Keine
Bemerkungen
Wenn beispielsweise ein Client die Maske 255.255.255.255.255 bereitstellt, wird der Len 24 zurückgegeben.
Das Makro ist wie folgt definiert:
#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; \
} \
} \
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) | Nicht unterstützt |
| Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
| Zielplattform | Windows |
| Kopfzeile | rtmv2.h |