WinHttpSetDefaultProxyConfiguration 함수(winhttp.h)

중요

WinHttpSetDefaultProxyConfiguration의 사용은 Windows 8.1 이상에서 더 이상 사용되지 않습니다. 대부분의 프록시 구성은 WinHttpSetDefaultProxyConfiguration에서 지원되지 않으며 프록시 인증도 지원하지 않습니다. 대신 WinHttpOpen과 함께 WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY 사용합니다.

WinHttpSetDefaultProxyConfiguration 함수는 레지스트리에서 기본 WinHTTP 프록시 구성을 설정합니다.

구문

WINHTTPAPI BOOL WinHttpSetDefaultProxyConfiguration(
  [in] WINHTTP_PROXY_INFO *pProxyInfo
);

매개 변수

[in] pProxyInfo

기본 프록시 구성을 지정하는 WINHTTP_PROXY_INFO 형식의 변수에 대한 포인터입니다.

반환 값

성공하면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환합니다. 확장 오류 정보는 GetLastError를 호출합니다. 반환된 오류 코드 중에는 다음과 같습니다.

오류 코드 Description
ERROR_WINHTTP_INTERNAL_ERROR
내부 오류가 발생했습니다.
ERROR_NOT_ENOUGH_MEMORY
요청된 작업을 완료하는 데 사용할 수 있는 메모리가 부족합니다. (Windows 오류 코드)

설명

WinHttpSetOption을 호출하고 WINHTTP_OPTION_PROXY 플래그를 지정하여 WinHttpSetDefaultProxyConfiguration에서 설정한 기본 프록시 구성을 기존 WinHTTP 세션에 대해 재정의할 수 있습니다. WinHttpOpen 함수를 사용하여 구성을 지정하여 새 세션에 대해 기본 프록시 구성을 재정의할 수 있습니다.

프록시가 지정된 경우 pProxyInfo가 가리키는 WINHTTP_PROXY_INFO 구조체의 dwAccessType 멤버를 WINHTTP_ACCESS_TYPE_NAMED_PROXY 설정해야 합니다. 그렇지 않으면 WINHTTP_ACCESS_TYPE_DEFAULT_PROXY 설정해야 합니다.

이 함수를 호출한 후 생성된 모든 새 세션은 새 기본 프록시 구성을 사용합니다.

WinHTTP가 비동기 모드에서 사용되는 경우에도(즉, WinHttpOpen에서 WINHTTP_FLAG_ASYNC 설정된 경우) 이 함수는 동기적으로 작동합니다. 반환 값은 성공 또는 실패를 나타냅니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

참고 Windows XP 및 Windows 2000의 경우 WinHTTP 시작 페이지의 런타임 요구 사항 섹션을 참조하세요.
 

예제

다음 코드 예제에서는 레지스트리에서 기본 프록시 구성을 설정하는 방법을 보여줍니다.

WINHTTP_PROXY_INFO proxyInfo;

// Allocate memory for string members.
proxyInfo.lpszProxy = new WCHAR[25];
proxyInfo.lpszProxyBypass = new WCHAR[25];

// Set the members of the proxy info structure.
proxyInfo.dwAccessType = WINHTTP_ACCESS_TYPE_NAMED_PROXY;
swprintf_s(proxyInfo.lpszProxy, 25, L"proxy_server");
swprintf_s(proxyInfo.lpszProxyBypass, 25, L"<local>");

// Set the default proxy configuration.
if (WinHttpSetDefaultProxyConfiguration( &proxyInfo ))
    printf("Proxy Configuration Set.\n");

// Free memory allocated to the strings.
delete [] proxyInfo.lpszProxy;
delete [] proxyInfo.lpszProxyBypass;

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP, Windows 2000 Professional SP3 포함 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003, Windows 2000 Server SP3 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winhttp.h
라이브러리 Winhttp.lib
DLL Winhttp.dll
재배포 가능 파일 Windows XP 및 Windows 2000에서 WinHTTP 5.0 및 인터넷 Explorer 5.01 이상.

추가 정보

WinHTTP 버전

WinHttpGetDefaultProxyConfiguration