Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiorna la tabella di mapping interna WinHTTP che associa le connessioni di rete denominate agli indici dell'interfaccia di rete attiva. Ciò consente a WinHTTP di instradare le richieste HTTP tramite l'interfaccia di rete corretta in base alle decisioni relative ai criteri in grado di supportare la connessione.
Syntax
DWORD WINAPI WinHttpConnectionUpdateIfIndexTable(
_In_ HINTERNET hSession,
_In_ WINHTTP_CONNECTION_IFINDEX_LIST *pConnectionIfIndexEntries
);
Parameters
hSession [in]
Handle di sessione WinHTTP valido creato da WinHttpOpen. L'handle deve essere un handle a livello di sessione.
pConnectionIfIndexEntries [in]
Puntatore a una struttura WINHTTP_CONNECTION_IFINDEX_LIST contenente una matrice di mapping di indice da connessione a interfaccia.
La struttura WINHTTP_CONNECTION_IFINDEX_LIST contiene:
- nEntries : numero di voci nella matrice. Può essere 0 per cancellare la tabella.
-
pConnectionIfIndexEntries - Matrice di strutture WINHTTP_CONNECTION_IFINDEX_ENTRY , ognuna contenente:
- pwszConnectionName - Nome della connessione (ad esempio, "Cellulare").
- dwIfIndex - Indice dell'interfaccia di rete attiva (IF_INDEX).
Valore restituito
Restituisce ERROR_SUCCESS (0) in caso di esito positivo. Restituisce un codice di errore di sistema in caso di errore, incluso quanto segue.
| valore | Descrizione |
|---|---|
| ERROR_WINHTTP_INCORRECT_HANDLE_TYPE | hSession non è un handle di sessione. |
| ERROR_WINHTTP_NOT_INITIALIZED | Le globali WinHTTP non vengono inizializzate. |
| ERROR_ACCESS_DENIED | Il chiamante non dispone dei privilegi necessari. |
Remarks
Annotazioni
Questa API non è attualmente inclusa in un file di intestazione SDK. È necessario dichiarare manualmente la funzione nel codice.
Questa funzione comunica con il servizio proxy automatico WinHTTP per aggiornare la tabella di mapping da connessione a interfaccia.
La tabella consente a WinHTTP di associare connessioni HTTP a interfacce di rete specifiche, che è fondamentale per i dispositivi multi-homed(ad esempio, i dispositivi con connessioni sia Wi-Fi che cellulare sono attive contemporaneamente).
In genere chiamato dai componenti di rete di sistema, ad esempio Windows Gestione connessioni, ogni volta che gli stati di connessione cambiano (eventi di connessione/disconnessione) per mantenere la tabella di routing di WinHTTP sincronizzata con lo stato di rete corrente.
Il passaggio di un elenco vuoto (nEntries = 0, pConnectionIfIndexEntries = nullptr) cancella in modo efficace tutti i mapping dell'interfaccia di connessione.
Example
Nell'esempio seguente viene aggiornata la tabella dell'indice dell'interfaccia con mapping per un Wi-Fi e una connessione cellulare.
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);
Requisiti
| Requirement | valore |
|---|---|
| Intestazione | N/A |
| Libreria | winhttp.lib |
| DLL | winhttp.dll |