WinHttpConnectionUpdateIfIndexTable-Funktion

Aktualisiert die interne WinHTTP-Zuordnungstabelle, die benannte Netzwerkverbindungen mit ihren aktiven Netzwerkschnittstellenindizes zuordnet. Dadurch kann WinHTTP HTTP-Anforderungen basierend auf Verbindungsrichtlinienentscheidungen über die richtige Netzwerkschnittstelle weiterleiten.

Syntax

DWORD WINAPI WinHttpConnectionUpdateIfIndexTable(
    _In_ HINTERNET                          hSession,
    _In_ WINHTTP_CONNECTION_IFINDEX_LIST   *pConnectionIfIndexEntries
);

Parameter

hSession [in]

Ein gültiges WinHTTP-Sitzungshandle, das von WinHttpOpen erstellt wurde. Das Handle muss ein Handle auf Sitzungsebene sein.

pConnectionIfIndexEntries [in]

Zeiger auf eine WINHTTP_CONNECTION_IFINDEX_LIST Struktur, die ein Array von Verbindungs-zu-Schnittstellen-Indexzuordnungen enthält.

Die WINHTTP_CONNECTION_IFINDEX_LIST-Struktur enthält:

  • nEntries – Anzahl der Einträge im Array. Kann 0 sein, um die Tabelle zu löschen.
  • pConnectionIfIndexEntries — Array von WINHTTP_CONNECTION_IFINDEX_ENTRY Strukturen, die jeweils Folgendes enthalten:
    • pwszConnectionName – Name der Verbindung (z. B. "Cellular").
    • dwIfIndex – Index der aktiven Netzwerkschnittstelle (IF_INDEX).

Rückgabewert

Gibt ERROR_SUCCESS (0) bei Erfolg zurück. Gibt einen Systemfehlercode für Fehler zurück, einschließlich der folgenden.

Value Beschreibung
ERROR_WINHTTP_INCORRECT_HANDLE_TYPE hSession ist kein Sitzungshandle.
ERROR_WINHTTP_NOT_INITIALIZED WinHTTP-Globalen werden nicht initialisiert.
ERROR_ACCESS_DENIED Der Aufrufer verfügt nicht über erforderliche Berechtigungen.

Remarks

Hinweis

Diese API ist derzeit nicht in einer SDK-Headerdatei enthalten. Sie müssen die Funktion selbst in Ihrem Code deklarieren.

Diese Funktion kommuniziert mit dem WinHTTP-Autoproxydienst, um die Verbindungs-zu-Schnittstellen-Zuordnungstabelle zu aktualisieren.

Die Tabelle ermöglicht Es WinHTTP, HTTP-Verbindungen an bestimmte Netzwerkschnittstellen zu binden, was für Multi-Homed-Geräte wichtig ist (z. B. Geräte mit Wi-Fi und Mobilfunkverbindungen, die gleichzeitig aktiv sind).

Wird in der Regel von Systemnetzwerkkomponenten wie Windows Verbindungs-Manager aufgerufen, wenn verbindungszustände (Verbindungs-/Trennungsereignisse) geändert werden, damit die Routingtabelle von WinHTTP mit dem aktuellen Netzwerkstatus synchronisiert wird.

Durch Übergeben einer leeren Liste (nEntries = 0, pConnectionIfIndexEntriesnullptr = ) werden alle Verbindungsschnittstellenzuordnungen effektiv gelöscht.

Example

Im folgenden Beispiel wird die Schnittstellenindextabelle mit Zuordnungen für eine Wi-Fi und eine Mobilfunkverbindung aktualisiert.

WINHTTP_CONNECTION_IFINDEX_ENTRY entries[2] = {};
entries[0].pwszConnectionName = L"Wi-Fi";
entries[0].dwIfIndex = 4;
entries[1].pwszConnectionName = L"Cellular";
entries[1].dwIfIndex = 7;

WINHTTP_CONNECTION_IFINDEX_LIST ifList = {};
ifList.pConnectionIfIndexEntries = entries;
ifList.nEntries = 2;

WinHttpConnectionUpdateIfIndexTable(hSession, &ifList);

Anforderungen

Requirement Value
Header N/A
Bibliothek winhttp.lib
DLL winhttp.dll

Siehe auch