Condividi tramite


Metodo IBackgroundCopyJob::SetProxySettings (bits.h)

Specifica il proxy da usare per trasferire i file.

Sintassi

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

Parametri

[in] ProxyUsage

Specifica se usare le impostazioni proxy dell'utente, non usare un proxy o usare le impostazioni proxy specificate dall'applicazione. L'impostazione predefinita consiste nell'usare le impostazioni proxy dell'utente , BG_JOB_PROXY_USAGE_PRECONFIG. Per un elenco delle opzioni proxy, vedere l'enumerazione BG_JOB_PROXY_USAGE .

[in] ProxyList

Stringa con terminazione Null che contiene i proxy da usare per trasferire i file. L'elenco è delimitato da spazi. Per informazioni dettagliate sulla specifica di un proxy, vedere Osservazioni.

Questo parametro deve essere NULL se il valore di ProxyUsage è BG_JOB_PROXY_USAGE_PRECONFIG, BG_JOB_PROXY_USAGE_NO_PROXY o BG_JOB_PROXY_USAGE_AUTODETECT.

La lunghezza dell'elenco proxy è limitata a 4.000 caratteri, senza includere il carattere di terminazione Null.

[in] ProxyBypassList

Stringa con terminazione Null che contiene un elenco facoltativo di nomi host, indirizzi IP o entrambi, che possono ignorare il proxy. L'elenco è delimitato da spazi. Per informazioni dettagliate sulla specifica di un proxy di bypass, vedere Osservazioni.

Questo parametro deve essere NULL se il valore di ProxyUsage è BG_JOB_PROXY_USAGE_PRECONFIG, BG_JOB_PROXY_USAGE_NO_PROXY o BG_JOB_PROXY_USAGE_AUTODETECT.

La lunghezza dell'elenco di bypass del proxy è limitata a 4.000 caratteri, senza includere il carattere di terminazione Null.

Valore restituito

Questo metodo restituisce i valori HRESULT seguenti, nonché altri.

Codice restituito Descrizione
S_OK
Il proxy è stato specificato correttamente.
E_NOTIMPL
Il valore di ProxyUsage non è definito nell'enumerazione BG_JOB_PROXY_USAGE .
BG_E_PROXY_LIST_TOO_LARGE
Il buffer pProxyList non può superare 32 KB.
BG_E_PROXY_BYPASS_LIST_TOO_LARGE
PProxyBypassList non può superare 32 KB.
BG_E_INVALID_STATE
Lo stato del processo non può essere BG_JOB_STATE_CANCELLED o BG_JOB_STATE_ACKNOWLEDGED.
E_INVALIDARG
Il parametro pProxyList non può essere NULL se ProxyUsage è BG_JOB_PROXY_USAGE_OVERRIDE.

Commenti

Le informazioni sul proxy fornite vengono convalidate in fase di esecuzione. Se le informazioni sul proxy non sono valide, il processo immette lo stato BG_JOB_STATE_ERROR con un codice di errore BG_E_INVALID_PROXY_INFO .

Se il servizio viene eseguito come LocalSystem, è necessario usare il metodo SetProxySettings per specificare in modo esplicito un elenco proxy o proxy bypass per l'account e impostare ProxyUsage su BG_JOB_PROXY_USAGE_OVERRIDE. Per altre informazioni sull'uso degli account di sistema con BITS, vedere Account di servizio e BITS.

BITS non riconosce le impostazioni proxy impostate usando il file di Proxycfg.exe.

Specificare un proxy come segue:

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

I protocolli validi sono HTTP e HTTPS. L'elenco proxy può contenere il numero di porta usato per accedere al proxy. Ad esempio, per elencare un proxy HTTP, una stringa valida è "http=http://http_proxy_name:80", dove http_proxy_name è il nome del server proxy e 80 è il numero di porta che è necessario usare per accedere al proxy. Se il proxy usa il numero di porta predefinito per tale protocollo, è possibile omettere il numero di porta. Se un nome proxy è elencato da solo, è possibile usarlo come proxy predefinito per tutti i protocolli che non dispongono di un proxy specificato. Ad esempio, "http=http://http_proxy other_proxy" usa http_proxy per qualsiasi operazione HTTP, mentre il protocollo HTTPS usa il proxy denominato other_proxy.

È possibile elencare i nomi host noti in locale o gli indirizzi IP (Internet Protocol) nell'elenco di bypass del proxy. Questo nome può contenere caratteri jolly, ad esempio "", che fanno sì che l'applicazione ignori il server proxy per gli indirizzi che soddisfano il modello specificato, ad esempio ".microsoft.com" o ".org". I caratteri jolly devono essere i caratteri più a sinistra nel nome. Ad esempio, "aaa." non è supportato. È possibile specificare la <macro locale> per indicare che tutti i siti Intranet locali vengono ignorati. I siti Intranet locali sono considerati tutti i server che non contengono un punto nel nome.

BITS usa le impostazioni proxy di Internet Explorer dell'utente se un'applicazione non specifica un utilizzo del proxy. Questo comportamento predefinito funziona in genere se l'applicazione invia il processo nel contesto di un utente interattivo, ma potrebbe non funzionare se un servizio in esecuzione come LocalSystem invia il processo. È possibile specificare le impostazioni proxy di Internet Explorer per LocalSystem; Tuttavia, è difficile rilevare queste impostazioni quando si verificano problemi.

Requisiti

Requisito Valore
Client minimo supportato Windows XP
Server minimo supportato Windows Server 2003
Piattaforma di destinazione Windows
Intestazione bits.h
Libreria Bits.lib
DLL QmgrPrxy.dll

Vedi anche

BG_JOB_PROXY_USAGE

IBackgroundCopyJob::GetProxySettings