Función WinHttpSetOption (winhttp.h)

La función WinHttpSetOption establece una opción de Internet.

Sintaxis

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

Parámetros

[in] hInternet

Identificador HINTERNET en el que se van a establecer los datos. Tenga en cuenta que puede ser un identificador de sesión o un identificador de solicitud, en función de la opción que se establezca. Para obtener más información sobre cómo determinar qué identificador es adecuado para usar en la configuración de una opción determinada, vea Las marcas de opción.

[in] dwOption

Valor entero largo sin signo que contiene la opción Internet que se va a establecer. Puede ser uno de los valores de Marcas de opción .

[in] lpBuffer

Puntero a un búfer que contiene la configuración de opción.

[in] dwBufferLength

Valor entero largo sin signo que contiene la longitud del búfer lpBuffer . La longitud del búfer se especifica en caracteres para las siguientes opciones; para todas las demás opciones, la longitud se especifica en bytes.

Valor devuelto

Devuelve TRUE si se ejecuta correctamente o FALSE de lo contrario. Para obtener información de error extendida, llame a GetLastError. Entre los códigos de error devueltos se encuentran los siguientes:

Código de error Descripción
ERROR_WINHTTP_INCORRECT_HANDLE_STATE
No se puede llevar a cabo la operación solicitada porque el identificador proporcionado no está en el estado correcto.
ERROR_WINHTTP_INCORRECT_HANDLE_TYPE
El tipo de identificador proporcionado es incorrecto para esta operación.
ERROR_WINHTTP_INTERNAL_ERROR
Se ha producido un error interno.
ERROR_WINHTTP_INVALID_OPTION
Una solicitud a WinHttpQueryOption o WinHttpSetOption especificó un valor de opción no válido.
ERROR_INVALID_PARAMETER
Un parámetro no es válido.

Este valor se devolverá si WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL se establece en un valor inferior a 15000.

ERROR_WINHTTP_OPTION_NOT_SETTABLE
No se puede establecer la opción solicitada, solo consultada.
ERROR_INVALID_PARAMETER
Un parámetro no es válido.

Este valor se devolverá si WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL se establece en un valor inferior a 15000.

ERROR_NOT_ENOUGH_MEMORY
No había suficiente memoria disponible para completar la operación solicitada. (Código de error de Windows)

Comentarios

Las credenciales pasadas a WinHttpSetOption podrían enviarse inesperadamente en texto no cifrado. Se recomienda encarecidamente usar WinHttpQueryAuthSchemes y WinHttpSetCredentials en lugar de WinHttpSetOption para establecer credenciales.

Nota Sin embargo, cuando se usa la autenticación de Passport, una aplicación WinHTTP que responde a un código de estado 407 debe usar WinHttpSetOption para proporcionar credenciales de proxy en lugar de WinHttpSetCredentials. Esto solo es cierto cuando se usa la autenticación de Passport; en todas las demás circunstancias, use WinHttpSetCredentials.
 
Incluso cuando WinHTTP se usa en modo asincrónico (es decir, cuando WINHTTP_FLAG_ASYNC se ha establecido en WinHttpOpen), esta función funciona de forma sincrónica. El valor devuelto indica éxito o error. Para obtener información de error extendida, llame a GetLastError.

GetLastError devuelve el error ERROR_INVALID_PARAMETER si se especifica una marca de opción que no se puede establecer.

Para obtener más información y ejemplos de código que muestran el uso de WinHttpSetOption, consulte Autenticación en WinHTTP.

Nota Para Windows XP y Windows 2000, consulta la sección Requisitos en tiempo de ejecución de la página de inicio de WinHttp.
 

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP, Windows 2000 Professional con SP3 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003, Windows 2000 Server con SP3 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winhttp.h
Library Winhttp.lib
Archivo DLL Winhttp.dll
Redistribuible WinHTTP 5.0 e Internet Explorer 5.01 o posterior en Windows XP y Windows 2000.

Consulte también

Autenticación en WinHTTP

Marcas de opción

Versiones winHTTP

WinHttpCloseHandle

WinHttpOpen

WinHttpQueryOption