WinHttpSetOption 함수(winhttp.h)

WinHttpSetOption 함수는 인터넷 옵션을 설정합니다.

구문

WINHTTPAPI BOOL WinHttpSetOption(
  [in] HINTERNET hInternet,
  [in] DWORD     dwOption,
  [in] LPVOID    lpBuffer,
  [in] DWORD     dwBufferLength
);

매개 변수

[in] hInternet

데이터를 설정할 HINTERNET 핸들입니다. 설정되는 옵션에 따라 세션 핸들 또는 요청 핸들일 수 있습니다. 특정 옵션을 설정하는 데 사용할 핸들을 결정하는 방법에 대한 자세한 내용은 옵션 플래그를 참조하세요.

[in] dwOption

설정할 인터넷 옵션이 포함된 부호 없는 긴 정수 값입니다. 옵션 플래그 값 중 하나일 수 있습니다.

[in] lpBuffer

옵션 설정을 포함하는 버퍼에 대한 포인터입니다.

[in] dwBufferLength

lpBuffer 버퍼의 길이를 포함하는 부호 없는 긴 정수 값입니다. 버퍼의 길이는 다음 옵션에 대해 문자로 지정됩니다. 다른 모든 옵션의 경우 길이가 바이트로 지정됩니다.

반환 값

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

오류 코드 Description
ERROR_WINHTTP_INCORRECT_HANDLE_STATE
제공된 핸들이 올바른 상태가 아니므로 요청된 작업을 수행할 수 없습니다.
ERROR_WINHTTP_INCORRECT_HANDLE_TYPE
이 작업에 대해 제공된 핸들의 형식이 올바르지 않습니다.
ERROR_WINHTTP_INTERNAL_ERROR
내부 오류가 발생했습니다.
ERROR_WINHTTP_INVALID_OPTION
WinHttpQueryOption 또는 WinHttpSetOption에 대한 요청이 잘못된 옵션 값을 지정했습니다.
ERROR_INVALID_PARAMETER
매개 변수가 잘못된 경우

이 값은 WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL 15000보다 낮은 값으로 설정된 경우 반환됩니다.

ERROR_WINHTTP_OPTION_NOT_SETTABLE
요청된 옵션은 설정할 수 없으며 쿼리만 가능합니다.
ERROR_INVALID_PARAMETER
매개 변수가 잘못된 경우

이 값은 WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL 15000보다 낮은 값으로 설정된 경우 반환됩니다.

ERROR_NOT_ENOUGH_MEMORY
메모리가 부족하여 요청된 작업을 완료할 수 없습니다. (Windows 오류 코드)

설명

WinHttpSetOption에 전달된 자격 증명은 예기치 않게 일반 텍스트로 전송될 수 있습니다. 자격 증명을 설정하기 위해 WinHttpSetOption 대신 WinHttpQueryAuthSchemesWinHttpSetCredentials를 사용하는 것이 좋습니다.

참고 그러나 Passport 인증을 사용하는 경우 407 상태 코드에 응답하는 WinHTTP 애플리케이션은 WinHttpSetCredentials 대신 WinHttpSetOption을 사용하여 프록시 자격 증명을 제공해야 합니다. Passport 인증을 사용하는 경우에만 해당됩니다. 다른 모든 상황에서 는 WinHttpSetCredentials를 사용합니다.
 
WinHTTP가 비동기 모드(즉, WinHttpOpen에서 WINHTTP_FLAG_ASYNC 설정된 경우)에서 사용되는 경우에도 이 함수는 동기적으로 작동합니다. 반환 값은 성공 또는 실패를 나타냅니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설정할 수 없는 옵션 플래그가 지정된 경우 GetLastError는 오류 ERROR_INVALID_PARAMETER 반환합니다.

WinHttpSetOption의 사용을 보여 주는 자세한 내용 및 코드 예제는 WinHTTP의 인증을 참조하세요.

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

요구 사항

요구 사항
지원되는 최소 클라이언트 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의 인증

옵션 플래그

WinHTTP 버전

WinHttpCloseHandle

WinHttpOpen

WinHttpQueryOption