Поделиться через


Функция WinHttpSetOption (winhttp.h)

Функция WinHttpSetOption задает параметр Internet.

Синтаксис

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

Параметры

[in] hInternet

Дескриптор HINTERNET, для которого нужно задать данные. Имейте в виду, что это может быть дескриптор сеанса или дескриптор запроса в зависимости от заданного параметра. Дополнительные сведения о том, как определить, какой дескриптор подходит для настройки определенного параметра, см. в разделе Флаги параметров.

[in] dwOption

Длинное целое число без знака, содержащее параметр Internet для задания. Это может быть одно из значений флагов параметров .

[in] lpBuffer

Указатель на буфер, содержащий параметр .

[in] dwBufferLength

Длинное целочисленное значение без знака, содержащее длину буфера lpBuffer . Длина буфера указывается в символах для следующих параметров: Для всех остальных параметров длина указывается в байтах.

Возвращаемое значение

Возвращает значение TRUE в случае успешного выполнения или FALSE в противном случае. Чтобы получить дополнительные сведения об ошибке, вызовите Метод GetLastError. Среди возвращаемых кодов ошибок:

Код ошибки Описание
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 имеет значение ниже 15 000.

ERROR_WINHTTP_OPTION_NOT_SETTABLE
Запрошенный параметр нельзя задать, только запрос.
ERROR_INVALID_PARAMETER
Недействительный параметр.

Это значение будет возвращено, если WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL имеет значение ниже 15 000.

ERROR_NOT_ENOUGH_MEMORY
Недостаточно памяти для выполнения запрошенной операции. (Код ошибки Windows)

Комментарии

Учетные данные, передаваемые в WinHttpSetOption , могут быть неожиданно отправлены в виде открытого текста. Настоятельно рекомендуется использовать WinHttpQueryAuthSchemes и WinHttpSetCredentials вместо WinHttpSetOption для настройки учетных данных.

Примечание Однако при использовании проверки подлинности Passport приложение WinHTTP, реагирующее на код состояния 407, должно использовать WinHttpSetOption для предоставления учетных данных прокси-сервера, а не WinHttpSetCredentials. Это справедливо только при использовании проверки подлинности Passport. во всех остальных случаях используйте WinHttpSetCredentials.
 
Даже если WinHTTP используется в асинхронном режиме (то есть при установке WINHTTP_FLAG_ASYNC в WinHttpOpen), эта функция работает синхронно. Возвращаемое значение указывает на успех или сбой. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

GetLastError возвращает ошибку ERROR_INVALID_PARAMETER, если указан флаг параметра, который не может быть задан.

Дополнительные сведения и примеры кода, демонстрирующие использование WinHttpSetOption, см. в разделе Проверка подлинности в WinHTTP.

Примечание Для Windows XP и Windows 2000 см. раздел Требования во время выполнения начальной страницы WinHttp.
 

Требования

Требование Значение
Минимальная версия клиента Windows XP, Windows 2000 Профессиональная с пакетом обновления 3 (SP3) [только классические приложения]
Минимальная версия сервера Windows Server 2003, Windows 2000 Server с пакетом обновления 3 (SP3) [только классические приложения]
Целевая платформа Windows
Header winhttp.h
Библиотека Winhttp.lib
DLL Winhttp.dll
Распространяемые компоненты WinHTTP 5.0 и Internet Обозреватель 5.01 или более поздней версии в Windows XP и Windows 2000.

См. также раздел

Проверка подлинности в WinHTTP

Флаги параметров

Версии WinHTTP

WinHttpCloseHandle

WinHttpOpen

WinHttpQueryOption