Compartir a través de


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

Especifica el proxy que se va a usar para transferir archivos.

Sintaxis

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

Parámetros

[in] ProxyUsage

Especifica si se debe usar la configuración de proxy del usuario, no usar un proxy o usar la configuración de proxy especificada por la aplicación. El valor predeterminado es usar la configuración de proxy del usuario, BG_JOB_PROXY_USAGE_PRECONFIG. Para obtener una lista de las opciones de proxy, consulte la enumeración BG_JOB_PROXY_USAGE .

[in] ProxyList

Cadena terminada en NULL que contiene los servidores proxy que se van a usar para transferir archivos. La lista está delimitada por espacios. Para más información sobre cómo especificar un proxy, consulte Comentarios.

Este parámetro debe ser NULL si el valor de ProxyUsage es BG_JOB_PROXY_USAGE_PRECONFIG, BG_JOB_PROXY_USAGE_NO_PROXY o BG_JOB_PROXY_USAGE_AUTODETECT.

La longitud de la lista de proxy está limitada a 4000 caracteres, no incluido el terminador NULL.

[in] ProxyBypassList

Cadena terminada en NULL que contiene una lista opcional de nombres de host, direcciones IP o ambos, que pueden omitir el proxy. La lista está delimitada por espacios. Para obtener más información sobre cómo especificar un proxy de omisión, vea Comentarios.

Este parámetro debe ser NULL si el valor de ProxyUsage es BG_JOB_PROXY_USAGE_PRECONFIG, BG_JOB_PROXY_USAGE_NO_PROXY o BG_JOB_PROXY_USAGE_AUTODETECT.

La longitud de la lista de omisión de proxy está limitada a 4000 caracteres, no incluido el terminador null.

Valor devuelto

Este método devuelve los siguientes valores HRESULT , así como otros.

Código devuelto Descripción
S_OK
El proxy se especificó correctamente.
E_NOTIMPL
El valor de ProxyUsage no está definido en la enumeración BG_JOB_PROXY_USAGE .
BG_E_PROXY_LIST_TOO_LARGE
El búfer pProxyList no puede superar los 32 KB.
BG_E_PROXY_BYPASS_LIST_TOO_LARGE
pProxyBypassList no puede superar los 32 KB.
BG_E_INVALID_STATE
El estado del trabajo no puede ser BG_JOB_STATE_CANCELLED ni BG_JOB_STATE_ACKNOWLEDGED.
E_INVALIDARG
El parámetro pProxyList no puede ser NULL si ProxyUsage es BG_JOB_PROXY_USAGE_OVERRIDE.

Comentarios

La información de proxy que proporcione se valida en tiempo de ejecución. Si la información del proxy no es válida, el trabajo escribe el estado BG_JOB_STATE_ERROR con un código de error BG_E_INVALID_PROXY_INFO .

Si el servicio se ejecuta como LocalSystem, debe usar el método SetProxySettings para especificar explícitamente una lista de omisión de proxy o proxy para la cuenta y establecer ProxyUsage en BG_JOB_PROXY_USAGE_OVERRIDE. Para obtener más información sobre el uso de cuentas del sistema con BITS, vea Cuentas de servicio y BITS.

BITS no reconoce la configuración de proxy que se establece mediante el archivo Proxycfg.exe.

Especifique un proxy como:

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

Los protocolos válidos son HTTP y HTTPS. La lista de proxy puede contener el número de puerto que se usa para acceder al proxy. Por ejemplo, para enumerar un proxy HTTP, una cadena válida es "http=http://http_proxy_name:80", donde http_proxy_name es el nombre del servidor proxy y 80 es el número de puerto que debe usar para acceder al proxy. Si el proxy usa el número de puerto predeterminado para ese protocolo, puede omitir el número de puerto. Si un nombre de proxy aparece por sí mismo, puede usarlo como proxy predeterminado para cualquier protocolo que no tenga un proxy especificado. Por ejemplo, "http=http://http_proxy other_proxy" usa http_proxy para cualquier operación HTTP, mientras que el protocolo HTTPS usa el proxy denominado other_proxy.

Puede enumerar nombres de host conocidos localmente o direcciones de Protocolo de Internet (IP) en la lista de omisión de proxy. Este nombre puede contener caracteres comodín, como "", lo que hace que la aplicación omita el servidor proxy para las direcciones que se ajusten al patrón especificado, por ejemplo, ".microsoft.com" o ".org". Los caracteres comodín deben ser los caracteres de la izquierda en el nombre. Por ejemplo, "aaa." no se admite. Puede especificar la <macro local> para indicar que se omiten todos los sitios de intranet locales. Los sitios de intranet local se consideran todos los servidores que no contienen un punto en su nombre.

BITS usa la configuración de proxy de Internet Explorer del usuario si una aplicación no especifica un uso de proxy. Este comportamiento predeterminado suele funcionar si la aplicación envía el trabajo en el contexto de un usuario interactivo, pero puede que no funcione si un servicio que se ejecuta como LocalSystem envía el trabajo. Puede especificar la configuración del proxy de Internet Explorer para LocalSystem; sin embargo, es difícil detectar esta configuración cuando se producen problemas.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP
Servidor mínimo compatible Windows Server 2003
Plataforma de destino Windows
Encabezado bits.h
Library Bits.lib
Archivo DLL QmgrPrxy.dll

Consulte también

BG_JOB_PROXY_USAGE

IBackgroundCopyJob::GetProxySettings