UnenableRouter-Funktion (iphlpapi.h)
Die UnenableRouter-Funktion dekrementiert die Verweisanzahl, die die Anzahl der Anforderungen nachverfolgt, um die IPv4-Weiterleitung zu aktivieren. Wenn diese Verweisanzahl null erreicht, deaktiviert UnenableRouter die IPv4-Weiterleitung auf dem lokalen Computer.
Syntax
IPHLPAPI_DLL_LINKAGE DWORD UnenableRouter(
OVERLAPPED *pOverlapped,
[out, optional] LPDWORD lpdwEnableCount
);
Parameter
pOverlapped
Ein Zeiger auf eine Struktur OVERLAPPED. Diese Struktur sollte mit der struktur identisch sein, die im Aufruf der EnableRouter-Funktion verwendet wird.
[out, optional] lpdwEnableCount
Ein optionaler Zeiger auf eine DWORD-Variable . Diese Variable empfängt die Anzahl der verbleibenden Verweise.
Rückgabewert
Wenn die Funktion erfolgreich ist, wird der Rückgabewert NO_ERROR.
Wenn die Funktion fehlschlägt, verwenden Sie FormatMessage , um die Meldungszeichenfolge für den zurückgegebenen Fehler abzurufen.
Hinweise
Die UnenableRouter-Funktion ist spezifisch für die IPv4-Weiterleitung. Jeder Aufruf, den ein Prozess an UnenableRouter sendet, muss einem vorherigen Aufruf von EnableRouter durch denselben Prozess entsprechen. Das System gibt bei fehlerhaften Aufrufen von UnenableRouter einen Fehler zurück. Daher kann ein bestimmter Prozess die Verweisanzahl nicht verringern, die die Anzahl der Anforderungen zum Aktivieren der IPv4-Weiterleitung für einen anderen Prozess nachverfolgt. Wenn die IPv4-Weiterleitung von einem bestimmten Prozess aktiviert wurde, kann sie auch nicht von einem anderen Prozess deaktiviert werden.
Es ist nicht möglich, die Referenzanzahl genau zu bestimmen, die die Anzahl der Anforderungen zum Aktivieren der IPv4-Weiterleitung nachverfolgt, da möglicherweise andere ausstehende EnableRouter-Anforderungen vorhanden sind. Der für den lpdwEnableCount-Parameter zurückgegebene Wert ist also immer eine große Anzahl von ULONG_MAX/2.
Wenn der Prozess, der EnableRouter aufruft, beendet wird, ohne UnenableRouter aufzurufen, verringert das System die Verweisanzahl, die Anforderungen nachverfolgt, um die IPv4-Weiterleitung zu aktivieren, als ob der Prozess UnenableRouter aufgerufen hätte.
Verwenden Sie nach dem Aufrufen von UnenableRouter den CloseHandle-Aufruf , um das Handle für das Ereignisobjekt in der OVERLAPPED-Struktur zu schließen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | iphlpapi.h |
Bibliothek | Iphlpapi.lib |
DLL | Iphlpapi.dll |