Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Обновляет таблицу внутреннего сопоставления WinHTTP, которая связывает именованные сетевые подключения с индексами активных сетевых интерфейсов. Это позволяет WinHTTP маршрутизировать HTTP-запросы через правильный сетевой интерфейс на основе решений политики с поддержкой подключения.
Syntax
DWORD WINAPI WinHttpConnectionUpdateIfIndexTable(
_In_ HINTERNET hSession,
_In_ WINHTTP_CONNECTION_IFINDEX_LIST *pConnectionIfIndexEntries
);
Parameters
hSession [in]
Допустимый дескриптор сеанса WinHTTP, созданный WinHttpOpen. Дескриптор должен быть дескриптором уровня сеанса.
pConnectionIfIndexEntries [in]
Указатель на структуру WINHTTP_CONNECTION_IFINDEX_LIST , содержащую массив сопоставлений индексов подключения к интерфейсу.
Структура WINHTTP_CONNECTION_IFINDEX_LIST содержит следующее:
- nEntries — количество записей в массиве. Может быть 0, чтобы очистить таблицу.
-
pConnectionIfIndexEntries — массив структур WINHTTP_CONNECTION_IFINDEX_ENTRY , каждый из которых содержит:
- pwszConnectionName — имя подключения (например, "Сотовой связи").
- dwIfIndex — индекс активного сетевого интерфейса (IF_INDEX).
Возвращаемое значение
Возвращает ERROR_SUCCESS (0) при успешном выполнении. Возвращает системный код ошибки при сбое, включая следующее.
| Ценность | Описание |
|---|---|
| ERROR_WINHTTP_INCORRECT_HANDLE_TYPE | hSession не является дескриптором сеанса. |
| ERROR_WINHTTP_NOT_INITIALIZED | Глобальные модули WinHTTP не инициализированы. |
| ERROR_ACCESS_DENIED | Вызывающий объект не имеет необходимых привилегий. |
Remarks
Замечание
Этот API в настоящее время не входит в файл заголовка пакета SDK. В коде необходимо объявить функцию.
Эта функция взаимодействует со службой авто-прокси WinHTTP для обновления таблицы сопоставления подключений к интерфейсу.
Таблица позволяет WinHTTP привязать HTTP-подключения к определенным сетевым интерфейсам, что является критически важным для нескольких домашних устройств (например, устройств с Wi-Fi и сотовыми подключениями одновременно).
Обычно вызывается сетевыми компонентами системы, например Windows диспетчер подключений, при изменении состояний подключения (события подключения и отключения) для синхронизации таблицы маршрутизации WinHTTP с текущим состоянием сети.
Передача пустого списка (nEntries = 0, pConnectionIfIndexEntries = nullptr) эффективно очищает все сопоставления интерфейсов подключения.
Пример
В следующем примере обновляется таблица индекса интерфейса с сопоставлениями как для Wi-Fi, так и для сотового подключения.
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);
Требования
| Requirement | Ценность |
|---|---|
| Header | N/A |
| Библиотека | winhttp.lib |
| DLL | winhttp.dll |