Поделиться через


Метод IBackgroundCopyJob::SetProxySettings (bits.h)

Указывает, какой прокси-сервер следует использовать для передачи файлов.

Синтаксис

HRESULT SetProxySettings(
  [in] BG_JOB_PROXY_USAGE ProxyUsage,
  [in] const WCHAR        *ProxyList,
  [in] const WCHAR        *ProxyBypassList
);

Параметры

[in] ProxyUsage

Указывает, следует ли использовать параметры прокси-сервера пользователя, а не использовать прокси-сервер или использовать параметры прокси-сервера, заданные приложением. По умолчанию используются параметры прокси-сервера пользователя , BG_JOB_PROXY_USAGE_PRECONFIG. Список параметров прокси-сервера см. в перечислении BG_JOB_PROXY_USAGE .

[in] ProxyList

Строка с завершением NULL, содержащая прокси-серверы, используемые для передачи файлов. Список разделен пробелами. Дополнительные сведения об указании прокси-сервера см. в разделе Примечания.

Этот параметр должен иметь значение NULL , если значение ProxyUsage равно BG_JOB_PROXY_USAGE_PRECONFIG, BG_JOB_PROXY_USAGE_NO_PROXY или BG_JOB_PROXY_USAGE_AUTODETECT.

Длина списка прокси-сервера ограничена 4000 символами, не включая признак конца null.

[in] ProxyBypassList

Строка, завершающаяся значением NULL, содержащая необязательный список имен узлов, IP-адресов или и того, и другого, которые могут обходить прокси-сервер. Список разделен пробелами. Дополнительные сведения об указании прокси-сервера обхода см. в разделе Примечания.

Этот параметр должен иметь значение NULL , если значение ProxyUsage равно BG_JOB_PROXY_USAGE_PRECONFIG, BG_JOB_PROXY_USAGE_NO_PROXY или BG_JOB_PROXY_USAGE_AUTODETECT.

Длина списка обхода прокси-сервера ограничена 4000 символами, не включая признаки null.

Возвращаемое значение

Этот метод возвращает следующие значения HRESULT , а также другие.

Код возврата Описание
S_OK
Прокси-сервер был успешно указан.
E_NOTIMPL
Значение ProxyUsage не определено в перечислении BG_JOB_PROXY_USAGE .
BG_E_PROXY_LIST_TOO_LARGE
Размер буфера pProxyList не может превышать 32 КБ.
BG_E_PROXY_BYPASS_LIST_TOO_LARGE
Размер pProxyBypassList не может превышать 32 КБ.
BG_E_INVALID_STATE
Состояние задания не может быть BG_JOB_STATE_CANCELLED или BG_JOB_STATE_ACKNOWLEDGED.
E_INVALIDARG
Параметр pProxyList не может иметь значение NULL , если ProxyUsage имеет BG_JOB_PROXY_USAGE_OVERRIDE.

Комментарии

Предоставленные сведения о прокси-сервере проверяются во время выполнения. Если сведения о прокси-сервере недопустимы, задание переходит в состояние BG_JOB_STATE_ERROR с кодом ошибки BG_E_INVALID_PROXY_INFO .

Если служба выполняется как LocalSystem, следует использовать метод SetProxySettings , чтобы явно указать список обхода прокси-сервера или прокси-сервера для учетной записи и задать для параметра ProxyUsageзначение BG_JOB_PROXY_USAGE_OVERRIDE. Дополнительные сведения об использовании системных учетных записей с BITS см. в статье Учетные записи служб и BITS.

BITS не распознает параметры прокси-сервера, заданные с помощью файла Proxycfg.exe.

Укажите прокси-сервер как:

"[protocol=][protocol"://"]server[":"port]"

Допустимые протоколы: HTTP и HTTPS. Список прокси-серверов может содержать номер порта, используемый для доступа к прокси-серверу. Например, чтобы получить список прокси-сервера HTTP, допустимая строка — http=http://http_proxy_name:80, где http_proxy_name — это имя прокси-сервера, а 80 — номер порта, который необходимо использовать для доступа к прокси-серверу. Если прокси-сервер использует номер порта по умолчанию для этого протокола, номер порта можно опустить. Если имя прокси-сервера указано само по себе, его можно использовать в качестве прокси-сервера по умолчанию для любых протоколов, не имеющих указанного прокси-сервера. Например, "http=http://http_proxyother_proxy" использует http_proxy для любых операций HTTP, а протокол HTTPS использует прокси-сервер с именем other_proxy.

Вы можете перечислить локально известные имена узлов или IP-адреса в списке обхода прокси-сервера. Это имя может содержать подстановочные знаки, такие как "", которые приводят к тому, что приложение будет обходить прокси-сервер для адресов, которые соответствуют указанному шаблону, например ".microsoft.com" или ".org". Подстановочные знаки должны быть самыми левыми символами в имени. Например, "aaa". не поддерживается. Можно указать локальный <> макрос, чтобы указать, что все сайты локальной интрасети обходятся. Локальными сайтами интрасети считаются все серверы, имена которых не содержат точки.

BITS использует параметры прокси-сервера в Интернете Обозреватель пользователя, если приложение не указывает использование прокси-сервера. Это поведение по умолчанию обычно работает, если приложение отправляет задание в контексте интерактивного пользователя, но может не работать, если служба, выполняющаяся как LocalSystem, отправляет задание. Вы можете указать параметры прокси-сервера в Интернете Обозреватель для LocalSystem, однако обнаружить эти параметры при возникновении проблем будет сложно.

Требования

Требование Значение
Минимальная версия клиента Windows XP
Минимальная версия сервера Windows Server 2003
Целевая платформа Windows
Header bits.h
Библиотека Bits.lib
DLL QmgrPrxy.dll

См. также раздел

BG_JOB_PROXY_USAGE

IBackgroundCopyJob::GetProxySettings