Compartilhar via


Método IBackgroundCopyJob::SetProxySettings (bits.h)

Especifica qual proxy usar para transferir arquivos.

Sintaxe

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

Parâmetros

[in] ProxyUsage

Especifica se as configurações de proxy do usuário devem ser usadas, não para usar um proxy ou para usar as configurações de proxy especificadas pelo aplicativo. O padrão é usar as configurações de proxy do usuário, BG_JOB_PROXY_USAGE_PRECONFIG. Para obter uma lista de opções de proxy, consulte a enumeração BG_JOB_PROXY_USAGE .

[in] ProxyList

Cadeia de caracteres terminada em nulo que contém os proxies a serem usados para transferir arquivos. A lista é delimitada por espaço. Para obter detalhes sobre como especificar um proxy, consulte Comentários.

Esse parâmetro deverá ser NULL se o valor de ProxyUsage for BG_JOB_PROXY_USAGE_PRECONFIG, BG_JOB_PROXY_USAGE_NO_PROXY ou BG_JOB_PROXY_USAGE_AUTODETECT.

O comprimento da lista de proxy é limitado a 4.000 caracteres, não incluindo o terminador nulo.

[in] ProxyBypassList

Cadeia de caracteres terminada em nulo que contém uma lista opcional de nomes de host, endereços IP ou ambos, que podem ignorar o proxy. A lista é delimitada por espaço. Para obter detalhes sobre como especificar um proxy de bypass, consulte Comentários.

Esse parâmetro deverá ser NULL se o valor de ProxyUsage for BG_JOB_PROXY_USAGE_PRECONFIG, BG_JOB_PROXY_USAGE_NO_PROXY ou BG_JOB_PROXY_USAGE_AUTODETECT.

O comprimento da lista de bypass de proxy é limitado a 4.000 caracteres, sem incluir o terminador nulo.

Retornar valor

Esse método retorna os seguintes valores HRESULT , bem como outros.

Código de retorno Descrição
S_OK
O proxy foi especificado com êxito.
E_NOTIMPL
O valor de ProxyUsage não é definido na enumeração BG_JOB_PROXY_USAGE .
BG_E_PROXY_LIST_TOO_LARGE
O buffer pProxyList não pode exceder 32 KB.
BG_E_PROXY_BYPASS_LIST_TOO_LARGE
O pProxyBypassList não pode exceder 32 KB.
BG_E_INVALID_STATE
O estado do trabalho não pode ser BG_JOB_STATE_CANCELLED ou BG_JOB_STATE_ACKNOWLEDGED.
E_INVALIDARG
O parâmetro pProxyList não poderá ser NULL se ProxyUsage for BG_JOB_PROXY_USAGE_OVERRIDE.

Comentários

As informações de proxy fornecidas são validadas em tempo de execução. Se as informações de proxy forem inválidas, o trabalho entrará no estado BG_JOB_STATE_ERROR com um código de erro BG_E_INVALID_PROXY_INFO .

Se o serviço for executado como LocalSystem, você deverá usar o método SetProxySettings para especificar explicitamente uma lista de bypass de proxy ou proxy para a conta e definir ProxyUsage como BG_JOB_PROXY_USAGE_OVERRIDE. Para obter mais informações sobre como usar contas do sistema com BITS, consulte Contas de serviço e BITS.

O BITS não reconhece as configurações de proxy definidas usando o arquivo Proxycfg.exe.

Especifique um proxy como:

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

Os protocolos válidos são HTTP e HTTPS. A lista de proxy pode conter o número da porta usado para acessar o proxy. Por exemplo, para listar um proxy HTTP, uma cadeia de caracteres válida é "http=http://http_proxy_name:80", em que http_proxy_name é o nome do servidor proxy e 80 é o número de porta que você deve usar para acessar o proxy. Se o proxy usar o número da porta padrão para esse protocolo, você poderá omitir o número da porta. Se um nome de proxy estiver listado por si só, você poderá usá-lo como o proxy padrão para quaisquer protocolos que não tenham um proxy especificado. Por exemplo, "http=http://http_proxyother_proxy" usa http_proxy para qualquer operação HTTP, enquanto o protocolo HTTPS usa o proxy chamado other_proxy.

Você pode listar nomes de host conhecidos localmente ou endereços IP na lista de bypass de proxy. Esse nome pode conter caracteres curinga, como "", que fazem com que o aplicativo ignore o servidor proxy para endereços que se ajustem ao padrão especificado, por exemplo, ".microsoft.com" ou ".org". Caracteres curinga devem ser os caracteres mais à esquerda no nome. Por exemplo, "aaa". não tem suporte. Você pode especificar a <macro local> para indicar que todos os sites de intranet locais são ignorados. Os sites de intranet locais são considerados todos os servidores que não contêm um período em seu nome.

O BITS usa as configurações de proxy de Explorer da Internet do usuário se um aplicativo não especificar um uso de proxy. Esse comportamento padrão normalmente funciona se o aplicativo envia o trabalho no contexto de um usuário interativo, mas pode não funcionar se um serviço em execução como LocalSystem enviar o trabalho. Você pode especificar configurações de proxy de Explorer da Internet para LocalSystem; no entanto, é difícil detectar essas configurações quando ocorrem problemas.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP
Servidor mínimo com suporte Windows Server 2003
Plataforma de Destino Windows
Cabeçalho bits.h
Biblioteca Bits.lib
DLL QmgrPrxy.dll

Confira também

BG_JOB_PROXY_USAGE

IBackgroundCopyJob::GetProxySettings