Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Actualiza la tabla de asignación interna de WinHTTP que asocia conexiones de red con nombre con sus índices de interfaz de red activos. Esto permite a WinHTTP enrutar las solicitudes HTTP a través de la interfaz de red correcta en función de las decisiones de directiva compatibles con la conexión.
Syntax
DWORD WINAPI WinHttpConnectionUpdateIfIndexTable(
_In_ HINTERNET hSession,
_In_ WINHTTP_CONNECTION_IFINDEX_LIST *pConnectionIfIndexEntries
);
Parameters
hSession [in]
Un identificador de sesión winHTTP válido creado por WinHttpOpen. El identificador debe ser un identificador de nivel de sesión.
pConnectionIfIndexEntries [in]
Puntero a una estructura de WINHTTP_CONNECTION_IFINDEX_LIST que contiene una matriz de asignaciones de conexión a interfaz-índice.
La estructura WINHTTP_CONNECTION_IFINDEX_LIST contiene:
- nEntries : número de entradas de la matriz. Puede ser 0 para borrar la tabla.
-
pConnectionIfIndexEntries : matriz de estructuras de WINHTTP_CONNECTION_IFINDEX_ENTRY , cada una que contiene:
- pwszConnectionName : nombre de la conexión (por ejemplo, "Móvil").
- dwIfIndex : índice de interfaz de red activa (IF_INDEX).
Valor devuelto
Devuelve ERROR_SUCCESS (0) si se realiza correctamente. Devuelve un código de error del sistema en caso de error, incluido lo siguiente.
| Value | Description |
|---|---|
| ERROR_WINHTTP_INCORRECT_HANDLE_TYPE | hSession no es un identificador de sesión. |
| ERROR_WINHTTP_NOT_INITIALIZED | Los globales winHTTP no se inicializan. |
| ERROR_ACCESS_DENIED | El autor de la llamada carece de privilegios necesarios. |
Remarks
Nota:
Esta API no se incluye actualmente en un archivo de encabezado del SDK. Debe declarar la función usted mismo en el código.
Esta función se comunica con el servicio WinHTTP Auto-Proxy para actualizar la tabla de asignación de conexión a interfaz.
La tabla permite a WinHTTP enlazar conexiones HTTP a interfaces de red específicas, lo que es fundamental para los dispositivos de varios hogares (por ejemplo, dispositivos con conexiones tanto Wi-Fi como móviles activas simultáneamente).
Normalmente lo llaman los componentes de red del sistema, como Windows Administrador de conexiones, siempre que los estados de conexión cambien (eventos de conexión o desconexión) para mantener la tabla de enrutamiento de WinHTTP sincronizada con el estado de red actual.
Pasar una lista vacía (nEntries = 0, pConnectionIfIndexEntries = nullptr) borra eficazmente todas las asignaciones de interfaz de conexión.
Ejemplo
En el ejemplo siguiente se actualiza la tabla de índices de interfaz con asignaciones para un Wi-Fi y una conexión de telefonía móvil.
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);
Requisitos
| Requirement | Value |
|---|---|
| Cabecera | N/A |
| Biblioteca | winhttp.lib |
| DLL | winhttp.dll |