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로 끝나는 문자열입니다. 목록은 공백으로 구분됩니다. 프록시 지정에 대한 자세한 내용은 비고를 참조하세요.
ProxyUsage 값이 BG_JOB_PROXY_USAGE_PRECONFIG, BG_JOB_PROXY_USAGE_NO_PROXY또는BG_JOB_PROXY_USAGE_AUTODETECT 경우 이 매개 변수는 NULL이어야 합니다.
프록시 목록의 길이는 null 종결자를 포함하지 않고 4,000자로 제한됩니다.
[in] ProxyBypassList
프록시를 바이패스할 수 있는 호스트 이름, IP 주소 또는 둘 다의 선택적 목록을 포함하는 Null로 끝나는 문자열입니다. 목록은 공백으로 구분됩니다. 바이패스 프록시 지정에 대한 자세한 내용은 비고를 참조하세요.
ProxyUsage 값이 BG_JOB_PROXY_USAGE_PRECONFIG, BG_JOB_PROXY_USAGE_NO_PROXY또는BG_JOB_PROXY_USAGE_AUTODETECT 경우 이 매개 변수는 NULL이어야 합니다.
프록시 바이패스 목록의 길이는 null 종결자를 포함하지 않고 4,000자로 제한됩니다.
반환 값
이 메서드는 다음 HRESULT 값과 다른 값을 반환합니다.
반환 코드 | 설명 |
---|---|
|
프록시가 성공적으로 지정되었습니다. |
|
ProxyUsage의 값은 BG_JOB_PROXY_USAGE 열거형에 정의되어 있지 않습니다. |
|
pProxyList 버퍼는 32KB를 초과할 수 없습니다. |
|
pProxyBypassList는 32KB를 초과할 수 없습니다. |
|
작업의 상태는 BG_JOB_STATE_CANCELLED 또는 BG_JOB_STATE_ACKNOWLEDGED 수 없습니다. |
|
ProxyUsage가 BG_JOB_PROXY_USAGE_OVERRIDE 경우 pProxyList 매개 변수는 NULL일 수 없습니다. |
설명
제공하는 프록시 정보는 런타임에 유효성이 검사됩니다. 프록시 정보가 유효하지 않으면 작업이 BG_E_INVALID_PROXY_INFO 오류 코드와 함께 BG_JOB_STATE_ERROR 상태가 됩니다.
서비스가 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 작업에 http_proxy 사용하고 HTTPS 프로토콜은 other_proxy 프록시를 사용합니다.
프록시 바이패스 목록에서 로컬로 알려진 호스트 이름 또는 IP(인터넷 프로토콜) 주소를 나열할 수 있습니다. 이 이름에는 지정된 패턴에 맞는 주소(예: ".microsoft.com" 또는 ".org")에 대해 애플리케이션이 프록시 서버를 우회하게 하는 ""와 같은 와일드카드가 포함될 수 있습니다. 와일드카드 문자는 이름에서 가장 왼쪽에 있는 문자여야 합니다. 예: "aaa." 가 지원되지 않습니다. 로컬 매크로를 <지정하여 모든 로컬> 인트라넷 사이트가 무시됨을 나타낼 수 있습니다. 로컬 인트라넷 사이트는 이름에 마침표가 포함되지 않은 모든 서버로 간주됩니다.
애플리케이션에서 프록시 사용을 지정하지 않는 경우 BITS는 사용자의 인터넷 Explorer 프록시 설정을 사용합니다. 이 기본 동작은 일반적으로 애플리케이션이 대화형 사용자의 컨텍스트에서 작업을 제출하는 경우 작동하지만 LocalSystem으로 실행되는 서비스가 작업을 제출하는 경우 작동하지 않을 수 있습니다. LocalSystem에 대한 인터넷 Explorer 프록시 설정을 지정할 수 있지만 문제가 발생할 때 이러한 설정을 검색하기는 어렵습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP |
지원되는 최소 서버 | Windows Server 2003 |
대상 플랫폼 | Windows |
헤더 | bits.h |
라이브러리 | Bits.lib |
DLL | QmgrPrxy.dll |