Marcas de opción

WinHttpQueryOption y WinHttpSetOption admiten las marcas de opción siguientes.

WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS

El valor predeterminado es FALSE. Si se establece en TRUE, WinHTTP no garantiza el progreso si la aplicación cliente bloquea las devoluciones de llamada de estado.

La aplicación cliente debe tener especial cuidado para realizar operaciones mínimas dentro de la devolución de llamada sin bloquear, devolver lo más rápido posible y, en particular, no debe esperar a ninguna llamada WinHTTP posterior. Si no sigue estas directrices, es probable que haya un impacto negativo en el rendimiento o un posible bloqueo de la aplicación. Si se usa de la manera indicada, esta opción puede mejorar el rendimiento.

WINHTTP_OPTION_AUTOLOGON_POLICY

Establece un valor entero largo sin signo que especifica la directiva de inicio de sesión automático con uno de los valores siguientes.

Término Descripción
WINHTTP_AUTOLOGON_SECURITY_LEVEL_HIGH No se usan credenciales predeterminadas. Tenga en cuenta que esta marca solo surte efecto si especifica el servidor por el nombre real de la máquina. No surtirá efecto si especifica el servidor por "localhost" o dirección IP.
WINHTTP_AUTOLOGON_SECURITY_LEVEL_LOW Se realiza un inicio de sesión autenticado con las credenciales predeterminadas para todas las solicitudes.
WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM Un inicio de sesión autenticado con las credenciales predeterminadas solo se realiza para las solicitudes en la intranet local.

WINHTTP_OPTION_BACKGROUND_CONNECTIONS

Al establecer esta opción en un identificador de sesión, debe pasar el número de conexiones que desea abrir. Después, después de enviar una solicitud por primera vez, en lugar de abrir solo una conexión, WinHttp abre una serie de conexiones en paralelo. Esto puede mejorar el rendimiento de las solicitudes posteriores al mismo destino, lo que no tendrá la sobrecarga del establecimiento de la conexión.

WINHTTP_OPTION_CALLBACK

Recupera el puntero al conjunto de funciones de devolución de llamada con WinHttpSetStatusCallback.

WINHTTP_OPTION_CLIENT_CERT_CONTEXT

Establece el contexto del certificado de cliente. Si una aplicación recibe ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED, debe llamar a WinHttpSetOption para proporcionar un certificado antes de volver a intentar la solicitud. Como parte del procesamiento de esta opción, WinHttp llama a CertDuplicateCertificateContext en el contexto de certificado proporcionado por el autor de la llamada para que el autor de la llamada pueda liberar el contexto del certificado de forma independiente.

Nota

La aplicación no debe intentar cerrar el almacén de certificados con la marca CERT_CLOSE_STORE_FORCE_FLAG en la llamada a CertCloseStore en el almacén de certificados desde el que se recuperó el contexto del certificado. Se puede producir una infracción de acceso.

Cuando el servidor solicita un certificado de cliente, WinHttpSendRequest o WinHttpReceiveResponse devuelve un error de ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED . Si el servidor solicita el certificado pero no lo requiere, la aplicación puede especificar esta opción para indicar que no tiene un certificado. El servidor puede elegir otro esquema de autenticación o permitir el acceso anónimo al servidor. La aplicación proporciona la macro WINHTTP_NO_CLIENT_CERT_CONTEXT en el parámetro lpBuffer de WinHttpSetOption , como se muestra en el ejemplo de código siguiente.

BOOL fRet = WinHttpSetOption(hRequest,
                             WINHTTP_OPTION_CLIENT_CERT_CONTEXT,
                             WINHTTP_NO_CLIENT_CERT_CONTEXT,
                             0);

Si el servidor requiere un certificado de cliente, puede enviar un código de estado HTTP 403 en respuesta. Para obtener más información, consulte la opción WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST .

WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST

Recupera una estructura de SecPkgContext_IssuerListInfoEx cuando se ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED el error de WinHttpSendRequest o WinHttpReceiveResponse. La lista de emisores de la estructura contiene una lista de entidades de certificación (CA) aceptables del servidor. La aplicación cliente puede filtrar la lista de CA para recuperar el certificado de cliente para la autenticación SSL.

Como alternativa, si el servidor solicita el certificado de cliente, pero no lo requiere, la aplicación puede llamar a WinHttpSetOption con la opción WINHTTP_OPTION_CLIENT_CERT_CONTEXT . Para obtener más información, consulte la opción WINHTTP_OPTION_CLIENT_CERT_CONTEXT .

WINHTTP_OPTION_CODEPAGE

Establece la página de códigos que se usa para procesar la dirección URL (es decir, cadena de consulta). El valor predeterminado es UTF8.

WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH

Establece un valor entero largo sin signo que especifica si la autenticación de Passport en la autenticación WinHTTP está habilitada. El valor puede ser uno de los siguientes:

Término Descripción
WINHTTP_DISABLE_PASSPORT_AUTH La autenticación de Microsoft Passport está deshabilitada. Este es el valor predeterminado.
WINHTTP_DISABLE_PASSPORT_KEYRING El llaver passport está deshabilitado. Este es el valor predeterminado.
WINHTTP_ENABLE_PASSPORT_AUTH La autenticación de Passport está habilitada.
WINHTTP_ENABLE_PASSPORT_KEYRING El keyring de Passport está habilitado.

WINHTTP_OPTION_CONNECT_RETRIES

Establece o recupera un valor entero largo sin signo que contiene el número de veces queWinHTTP intenta conectarse a un host. Los servicios HTTP de Microsoft Windows (WinHTTP) solo intentan una vez por dirección ip (Protocolo de Internet). Por ejemplo, si intenta conectarse a un host de hospedaje múltiple que tiene 10 direcciones IP y WINHTTP_OPTION_CONNECT_RETRIES está establecido en 7, WinHTTP solo intenta conectarse a la primera dirección IP siete. Dado el mismo conjunto de 10 direcciones IP, si WINHTTP_OPTION_CONNECT_RETRIES se establece en 20, WinHTTP intenta cada una de las 10 solo una vez. Si se produce un error en un intento de conexión después del número especificado de intentos, o si el tiempo de espera de conexión expiró antes, se cancela la solicitud. El valor predeterminado de WINHTTP_OPTION_CONNECT_RETRIES es cinco intentos.

WINHTTP_OPTION_CONNECT_TIMEOUT

Establece o recupera un valor entero largo sin signo que contiene el valor de tiempo de espera, en milisegundos. Al establecer esta opción en infinito (0xFFFFFFFF) se deshabilitará este temporizador.

Si una solicitud de conexión TCP tarda más de este valor de tiempo de espera, se cancela la solicitud. El tiempo de espera predeterminado es de 60 segundos. Cuando intenta conectarse a varias direcciones IP para un único host (un host de hospedaje múltiple), el límite de tiempo de espera es para cada conexión individual.

WINHTTP_OPTION_CONNECTION_INFO

Recupera la dirección IP de origen y de destino y el puerto de la solicitud que generó la respuesta cuando WinHttpReceiveResponse devuelve. La aplicación llama a WinHttpQueryOption con la opción WINHTTP_OPTION_CONNECTION_INFO y proporciona la estructura WINHTTP_CONNECTION_INFO en el parámetro lpBuffer . Para obtener más información, consulte WINHTTP_CONNECTION_INFO.

Se aplica a: Windows XP con SP2 y versiones posteriores; Windows 2003 con SP1 y versiones posteriores.

WINHTTP_OPTION_CONNECTION_GUID

Marque la conexión asociada al identificador de solicitud WinHTTP con un GUID. Esto permite el control personalizado sobre qué solicitudes usan qué grupos de conexiones con la opción WINHTTP_OPTION_MATCH_CONNECTION_GUID .

WINHTTP_OPTION_CONNECTION_STATS_V0

Recupera la estructura TCP_INFO_v0 para la conexión subyacente usada por la solicitud. La estructura devuelta puede contener estadísticas de las solicitudes anteriores enviadas a través de la misma conexión.

Nota

Esta opción se ha reemplazado por WINHTTP_OPTION_CONNECTION_STATS_V1.

WINHTTP_OPTION_CONNECTION_STATS_V1

Recupera la estructura TCP_INFO_v1 para la conexión subyacente usada por la solicitud. La estructura devuelta puede contener estadísticas de las solicitudes anteriores enviadas a través de la misma conexión.

WINHTTP_OPTION_CONTEXT_VALUE

Establece o recupera un DWORD_PTR que contiene un puntero al valor de contexto asociado a este identificador HINTERNET . El valor almacenado en el búfer se usa y a la marca de opción WINHTTP_OPTION_CONTEXT_VALUE se le asigna un nuevo valor.

WINHTTP_OPTION_DECOMPRESSION

Establece una DWORD de marcas que determinan si WinHTTP descomprimirá automáticamente los cuerpos de respuesta con codificaciones de contenido comprimidos. WinHTTP también establecerá un encabezado Accept-Encoding adecuado, invalidando cualquier proporcionado por el autor de la llamada. Los valores admitidos son:

Término Descripción
WINHTTP_DECOMPRESSION_FLAG_GZIP Descomprimir content-Encoding: respuestas gzip.
WINHTTP_DECOMPRESSION_FLAG_DEFLATE Descomprimir Content-Encoding: desinflar respuestas.
WINHTTP_DECOMPRESSION_FLAG_ALL Descomprima las respuestas con cualquier codificación de contenido compatible.

De forma predeterminada, WinHTTP entregará respuestas comprimidas al autor de la llamada sin modificar.

WINHTTP_OPTION_DISABLE_CERT_CHAIN_BUILDING

Establecer esta opción en un identificador de sesión WinHttp le permite habilitar o deshabilitar si se ha creado la cadena de certificados del servidor.

WINHTTP_OPTION_DISABLE_FEATURE

Establece un valor entero largo sin signo que especifica qué características están deshabilitadas con una o varias de las marcas siguientes. Tenga en cuenta que esta característica solo debe pasarse a WinHttpSetOption en los identificadores de solicitud después de crear el identificador de solicitud con WinHttpOpenRequest y antes de enviar la solicitud con WinHttpSendRequest.

Término Descripción
WINHTTP_DISABLE_AUTHENTICATION La autenticación automática está deshabilitada.
WINHTTP_DISABLE_COOKIES La adición automática de encabezados de cookie a las solicitudes está deshabilitada. Además, las cookies devueltas no se agregan automáticamente a la base de datos de cookies. Deshabilitar las cookies puede dar lugar a un rendimiento deficiente para la autenticación de Passport.
WINHTTP_DISABLE_KEEP_ALIVE Deshabilita la semántica de mantenimiento activo para la conexión. Se requiere semántica de mantenimiento activo para MSN, NTLM y otros tipos de autenticación.
WINHTTP_DISABLE_REDIRECTS El redireccionamiento automático está deshabilitado al enviar solicitudes con WinHttpSendRequest. Si el redireccionamiento automático está deshabilitado, una aplicación debe registrar una función de devolución de llamada para que la autenticación de Passport se realice correctamente.

WINHTTP_OPTION_DISABLE_GLOBAL_POOLING

Deshabilita la agrupación global entre sesiones. Esto se recomienda porque la agrupación global entre sesiones es un comportamiento heredado que se admite de forma predeterminada por motivos de compatibilidad. Esto se ve afectado por la configuración posterior de las conexiones máximas manualmente.

WINHTTP_OPTION_DISABLE_PROXY_AUTH_SCHEMES

Deshabilita uno o varios de los siguientes procedimientos de autenticación de proxy en la sesión WinHTTP proporcionando todas OR las opciones aplicables. Estos son todos los esquemas, excepto por WINHTTP_PROXY_DISABLE_AUTH_LOCAL_SERVICE, que fuerza el uso de la cuenta de equipo local al enviar solicitudes a una dirección local o de bucle invertido. Esto evita la pérdida de credenciales del sistema a servidores proxy HTTP locales.

Término Descripción
WINHTTP_PROXY_DISABLE_SCHEME_BASIC Deshabilita el esquema de autenticación básico.
WINHTTP_PROXY_DISABLE_SCHEME_DIGEST Deshabilita el esquema de autenticación implícita.
WINHTTP_PROXY_DISABLE_SCHEME_NTLM Deshabilita el esquema de autenticación NTLM.
WINHTTP_PROXY_DISABLE_SCHEME_KERBEROS Deshabilita el esquema de autenticación Kerberos.
WINHTTP_PROXY_DISABLE_SCHEME_NEGOTIATE Deshabilita el esquema de autenticación Negotiate.
WINHTTP_PROXY_DISABLE_AUTH_LOCAL_SERVICE Fuerza el uso de la cuenta del equipo local al enviar solicitudes a una dirección local o de bucle invertido.

WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK

Impide que WinHTTP vuelva a intentar una conexión con una versión inferior del protocolo de seguridad cuando se produzca un error en la negociación del protocolo inicial.

WINHTTP_OPTION_DISABLE_STREAM_QUEUE

Permite que las nuevas solicitudes abran una conexión HTTP/2 adicional cuando se alcance el límite máximo de flujos simultáneos, en lugar de esperar a la siguiente secuencia disponible en una conexión existente.

WINHTTP_OPTION_ENABLE_FEATURE

Establece un valor entero largo sin signo que especifica las características habilitadas actualmente. Puede ser uno de los siguientes valores.

Término Descripción
WINHTTP_ENABLE_SSL_REVERT_IMPERSONATION Si está habilitado, WinHTTP revierte temporalmente la suplantación de cliente durante la duración de las operaciones de autenticación de certificados SSL. Este valor solo se puede establecer en el identificador de sesión.
WINHTTP_ENABLE_SSL_REVOCATION Si está habilitado, WinHTTP permite la revocación de SSL. Este valor solo se puede establecer en el identificador de solicitud.

WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL

Establece una máscara de bits DWORD de versiones HTTP avanzadas aceptables. Los valores posibles son:

Término Descripción
WINHTTP_PROTOCOL_FLAG_HTTP2 (0x1) Habilita HTTP/2 para la solicitud.
WINHTTP_PROTOCOL_FLAG_HTTP3 (0x2) Habilita HTTP/3 para la solicitud.
Ninguno (0x0) Restringe la solicitud a HTTP/1.1 y versiones anteriores.

Las versiones heredadas de HTTP (1.1 y anteriores) no se pueden deshabilitar con esta opción. El valor predeterminado es 0x0.

WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT

Esta opción se puede establecer en un identificador de sesión winHttp para permitir que WinHttp use el contexto de certificado de cliente proporcionado por el autor de la llamada cuando se usa HTTP/2.

WINHTTP_OPTION_ENABLETRACING

Establece un valor BOOL que especifica si el seguimiento está habilitado actualmente. Esta opción solo se puede establecer en un identificador HINTERNETNULL. Consulte también Recopilación de seguimientos winHTTP.

WINHTTP_OPTION_ENCODE_EXTRA

Habilita la codificación de porcentaje de direcciones URL para la ruta de acceso y la cadena de consulta.

Como alternativa, puede codificar por porcentaje antes de llamar a WinHttp.

WINHTTP_OPTION_EXPIRE_CONNECTION

Esta opción solo se puede establecer en un identificador de solicitud que sigue activo (envío o recepción). Al establecer esta opción, Se indicará a WinHttp que deje de atender solicitudes en la conexión asociada al identificador de solicitud pasado. La conexión se cerrará después de que se llame a la solicitud con la que se llama a esta opción. Esta opción no toma ningún parámetro.

WINHTTP_OPTION_EXTENDED_ERROR

Recupera un valor entero largo sin signo que contiene un código de error de Microsoft Windows Sockets asignado a los mensajes de error ERROR_WINHTTP_* devueltos por última vez en este contexto de subproceso. Puede pasar NULL como valor de identificador.

WINHTTP_OPTION_FEATURE_SUPPORTED

Compruebe si esta versión de WinHTTP admite una marca de opción proporcionada.

WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION

De forma predeterminada, cuando WinHttp envía una solicitud, si no hay conexiones disponibles para atender la solicitud, WinHttp intentará establecer una nueva conexión y la solicitud se enlazará a esta nueva conexión. Al establecer esta opción, dicha solicitud se atenderá en la primera conexión que esté disponible y no necesariamente la que se establezca.

WINHTTP_OPTION_GLOBAL_PROXY_CREDS

Toma un puntero a una estructura de WINHTTP_CREDS_EX con el parámetro de función hInternet establecido en NULL. Esta opción requiere la clave del Registro HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings! ShareCredsWithWinHttp. Si esta clave del Registro no está establecida, WinHTTP devolverá el error ERROR_WINHTTP_INVALID_OPTION. Esta clave del Registro no está presente de forma predeterminada. Cuando se establece, WinINet enviará las credenciales a WinHTTP. Cada vez que WinHttp obtiene un desafío de autenticación y si no hay credenciales establecidas en el identificador actual, usará las credenciales proporcionadas por WinINet. Para compartir las credenciales del servidor además de las credenciales de proxy, los usuarios deben establecer WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS .

WINHTTP_OPTION_GLOBAL_SERVER_CREDS

Toma un puntero a una estructura de WINHTTP_CREDS_EX con el parámetro de función hInternet establecido en NULL. Esta opción requiere la clave del Registro HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings! ShareCredsWithWinHttp. Si esta clave del Registro no está establecida, WinHTTP devolverá el error ERROR_WINHTTP_INVALID_OPTION. Esta clave del Registro no está presente de forma predeterminada. Cuando se establece, WinINet enviará las credenciales a WinHTTP. Cada vez que WinHttp obtiene un desafío de autenticación y si no hay credenciales establecidas en el identificador actual, usará las credenciales proporcionadas por WinINet. Para compartir las credenciales del servidor además de las credenciales de proxy, los usuarios deben establecer WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS .

WINHTTP_OPTION_HANDLE_TYPE

Recupera un valor entero largo sin signo que contiene el tipo del identificador HINTERNET pasado. El valor devuelto puede ser cualquiera de los siguientes:

Término Descripción
WINHTTP_HANDLE_TYPE_CONNECT El identificador es un identificador de conexión.
WINHTTP_HANDLE_TYPE_REQUEST El identificador es un identificador de solicitud.
WINHTTP_HANDLE_TYPE_SESSION El identificador es un identificador de sesión.

WINHTTP_OPTION_HTTP_PROTOCOL_REQUIRED

Impide que las versiones de protocolo distintas de las habilitadas por WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL se usen para la solicitud.

WINHTTP_OPTION_HTTP_PROTOCOL_USED

Obtiene un DWORD que indica qué versión HTTP avanzada se usó en una solicitud determinada. Para obtener una lista de los valores posibles, consulte WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL.

WINHTTP_OPTION_HTTP_VERSION

Establece o recupera una estructura de HTTP_VERSION_INFO que contiene la versión HTTP que se admite. Esta es una opción para todo el proceso; use NULL para el identificador.

WINHTTP_OPTION_HTTP2_KEEPALIVE

Esta opción se puede establecer en un identificador de sesión para que WinHttp use marcos PING HTTP/2 como mecanismo de mantenimiento. Los autores de llamadas especifican un tiempo de espera en milisegundos y, después de que no haya ninguna actividad en una conexión durante ese período de tiempo de espera, WinHttp comenzará a enviar fotogramas DE PING HTTP/2. Los autores de llamadas no pueden establecer un valor de tiempo de espera inferior a 5000 milisegundos.

WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING

Esta opción se puede establecer en un identificador de solicitud WinHttp para controlar el comportamiento de WinHttp cuando una respuesta HTTP/2 contiene un encabezado "Transfer-Encoding". En tal caso, WinHttp devolverá un error si esta opción está establecida en FALSE.

WINHTTP_OPTION_HTTP2_RECEIVE_WINDOW

Establezca el tamaño inicial de la ventana de recepción de flujo HTTP/2 y el umbral para enviar actualizaciones de ventana mediante la estructura WINHTTP_HTTP2_RECEIVE_WINDOW .

WINHTTP_OPTION_HTTP3_HANDSHAKE_TIMEOUT

Usa el búfer para establecer el tiempo de espera del protocolo de enlace HTTP/3 en milisegundos como PDWORD.

WINHTTP_OPTION_HTTP3_INITIAL_RTT

Configura el RTT inicial en milisegundos que usa msquic.

WINHTTP_OPTION_HTTP3_KEEPALIVE

Habilita la semántica de mantenimiento activo para la conexión. Usa el búfer para establecer el tiempo de espera de mantenimiento activo en milisegundos como PDWORD.

WINHTTP_OPTION_HTTP3_STREAM_ERROR_CODE

Recupera el error proporcionado por el servidor en la secuencia HTTP/3 usada para enviar la solicitud.

WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE

Permite que las conexiones seguras usen certificados de seguridad para los que no se pudo descargar la lista de revocación de certificados.

WINHTTP_OPTION_IPV6_FAST_FALLBACK

Habilita la reserva rápida de IPv6 (Felices bolas oculares) para la conexión. Este comportamiento es similar al comportamiento de Happy Eyeballs descrito en RFC 6555 para mejorar los tiempos de conexión en redes donde IPv6 no es confiable.

  • Si las direcciones IPv6 e IPv4 se resuelven para un host determinado, WinHttp comenzará conectándose a la primera dirección IPv6 resuelta con un tiempo de espera corto (300 ms).
  • Si se produce un error en esa conexión, WinHttp intentará conectarse a la primera dirección IPv4 resuelta con el tiempo de espera estándar.
  • Si se produce un error en la segunda conexión, WinHttp reintentará la primera dirección IPv6 resuelta con el tiempo de espera estándar.
  • Si se produce un error en la tercera conexión, WinHttp revertirá al comportamiento predeterminado de las direcciones restantes, intentando una conexión a cada una con el tiempo de espera estándar hasta que se realice una conexión o no permanezca ninguna dirección.

WINHTTP_OPTION_IS_PROXY_CONNECT_RESPONSE

Obtiene si se puede recuperar o no una respuesta de conexión de devolución de proxy.

WINHTTP_OPTION_MATCH_CONNECTION_GUID

Toma un WINHTTP_MATCH_CONNECTION_GUID estructura para indicar a WinHTTP que sirva la solicitud en una conexión coincidente. Si se establece WINHTTP_MATCH_CONNECTION_GUID_FLAG_REQUIRED , solo se pueden usar las conexiones con un GUID coincidente. De lo contrario, se pueden usar conexiones con GUID coincidentes y conexiones que no están marcadas con ningún GUID.

WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER

Establece o recupera un valor entero largo sin signo que contiene el número máximo de conexiones permitidas por servidor HTTP/1.0. El valor predeterminado es INFINITE.

Se aplica a: Windows Vista con SP1 y versiones posteriores; Windows Server 2008 y versiones posteriores.

WINHTTP_OPTION_MAX_CONNS_PER_SERVER

Establece o recupera un valor entero largo sin signo que contiene el número máximo de conexiones permitidas por servidor. El valor predeterminado es INFINITE.

Cuando esta opción se establece en cero, WinHTTP establece el límite en el número de conexiones en 2.

WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS

Establece el número máximo de redireccionamientos que WinHTTP sigue; el valor predeterminado es 10. Este límite impide que los sitios no autorizados hagan que el cliente WinHTTP se detenga después de un gran número de redireccionamientos.

Se aplica a: Windows XP con SP1 y versiones posteriores; Windows 2000 con SP3 y versiones posteriores.

WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE

El número máximo de respuestas de código de estado informativo 100-199 omitida antes de devolver el código de estado final al cliente WinHTTP. El servidor puede enviar códigos de estado informativos 100-199 antes del código de estado final y se describen en la especificación http/1.1 (para obtener más información, vea RFC 2616). El valor predeterminado es 10.

Se aplica a: Windows XP con SP1 y versiones posteriores; Windows 2000 con SP3 y versiones posteriores.

WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE

Enlazado a la cantidad de datos purgados de las respuestas para reutilizar una conexión, especificada en bytes. El valor predeterminado es 1 MB.

Se aplica a: Windows XP con SP1 y versiones posteriores; Windows 2000 con SP3 y versiones posteriores.

WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE

Un conjunto enlazado en el tamaño máximo de la parte de encabezado de la respuesta del servidor, especificada en bytes. Este límite protege al cliente de un servidor no autorizado que intenta parar el cliente mediante el envío de una respuesta con una cantidad infinita de datos de encabezado. El valor predeterminado es 64 KB.

Se aplica a: Windows XP con SP1 y versiones posteriores; Windows 2000 con SP3 y versiones posteriores.

WINHTTP_OPTION_PARENT_HANDLE

Recupera el identificador primario de este identificador.

WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT

Recupera una cadena que contiene el texto de cobranding proporcionado por el servidor de inicio de sesión de Passport. Esta opción debe recuperarse inmediatamente después de que el servidor de inicio de sesión responda con un código de estado 401. Una aplicación debe pasar un tamaño de búfer, en bytes, lo suficientemente grande como para contener la cadena devuelta.

WINHTTP_OPTION_PASSPORT_COBRANDING_URL

Recupera una cadena que contiene una dirección URL para un gráfico de cobranding proporcionado por el servidor de inicio de sesión de Passport. Esta opción debe recuperarse inmediatamente después de que el servidor de inicio de sesión responda con un código de estado 401. Una aplicación debe pasar un tamaño de búfer, en bytes, lo suficientemente grande como para contener la cadena devuelta.

WINHTTP_OPTION_PASSPORT_RETURN_URL

Establece una opción de solo lectura en un identificador de solicitud que recupera la dirección URL de devolución de Passport.

WINHTTP_OPTION_PASSPORT_SIGN_OUT

Establece la opción en un identificador de sesión para cerrar la sesión de los inicios de sesión de Passport. Una aplicación debe pasar la dirección URL de devolución de Passport que se recuperó con WINHTTP_OPTION_PASSPORT_RETURN_URL. Se borran todas las cookies relacionadas con la dirección URL de devolución.

WINHTTP_OPTION_PASSWORD

Establece o recupera un valor de cadena que contiene la contraseña asociada a un identificador de solicitud.

WINHTTP_OPTION_PROXY

Establece o recupera una estructura de WINHTTP_PROXY_INFO que contiene los datos de proxy en un identificador de sesión o identificador de solicitud existente. Al recuperar datos de proxy, una aplicación debe liberar las cadenas lpszProxy y lpszProxyBypass contenidas en esta estructura (si no son NULL) mediante la función GlobalFree . Una aplicación puede consultar los datos de proxy global (el proxy predeterminado) pasando un identificador NULL .

WINHTTP_OPTION_PROXY_PASSWORD

Establece o recupera un valor de cadena que contiene la contraseña usada para acceder al proxy.

WINHTTP_OPTION_PROXY_SPN_USED

Obtiene el nombre principal del servidor proxy que WinHTTP proporcionó a SSPI durante la autenticación. Este valor de cadena se usa para pasar a SspiPromptForCredentials después de un error de autenticación.

WINHTTP_OPTION_PROXY_USERNAME

Establece o recupera un valor de cadena que contiene el nombre de usuario usado para acceder al proxy.

WINHTTP_OPTION_QUIC_STATS

Recupera una estructura de QUIC_STATISTICS que contiene información de conexión como RTT y bytes enviados y recibidos.

WINHTTP_OPTION_READ_BUFFER_SIZE

Esta opción está en desuso; no tiene ningún efecto.

WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE

Establece si se puede recuperar o no la entidad de respuesta de proxy. Esta opción está deshabilitada de manera predeterminada.

WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT

Establece o recupera un valor entero largo sin signo que contiene el valor de tiempo de espera, en milisegundos, para esperar a recibir todos los encabezados de respuesta a una solicitud. Si WinHTTP no recibe todos los encabezados dentro de este período de tiempo de espera, se cancela la solicitud. El valor de tiempo de espera predeterminado es de 90 segundos.

Este tiempo de espera solo se comprueba cuando se reciben datos del socket. Como resultado, cuando expira el tiempo de espera, la aplicación cliente no recibe una notificación hasta que llegan más datos del servidor. Si no llega ningún dato desde el servidor, el retraso entre la expiración del tiempo de espera y la notificación de la aplicación cliente podría ser tan grande como el valor de tiempo de espera establecido mediante el parámetro dwReceiveTimeout de la función WinHttpSetTimeouts .

WINHTTP_OPTION_RECEIVE_TIMEOUT

Establece o recupera un valor entero largo sin signo que contiene el valor de tiempo de espera, en milisegundos, para recibir una respuesta parcial a una solicitud o leer algunos datos. Si la respuesta tarda más de este valor de tiempo de espera, se cancela la solicitud. El valor predeterminado del tiempo de espera es de 30 segundos.

WINHTTP_OPTION_REDIRECT_POLICY

Establece el comportamiento de WinHTTP con respecto al control de un código de estado de redirección HTTP 30x. Esta opción se puede establecer en una sesión o identificador de solicitud en uno de los siguientes valores:

Término Descripción
WINHTTP_OPTION_REDIRECT_POLICY_ALWAYS Todos los redireccionamientos se siguen automáticamente.
WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP Se siguen todas las redirecciones, excepto las que se originan desde una dirección URL segura (https) a una dirección URL no segura (http). Esta es la configuración predeterminada.
WINHTTP_OPTION_REDIRECT_POLICY_NEVER Los redireccionamientos nunca se siguen. El estado 30x se devuelve a la aplicación.

WINHTTP_OPTION_REJECT_USERPWD_IN_URL

Rechaza las direcciones URL que contienen un nombre de usuario y una contraseña. Esta opción también rechaza las direcciones URL que contienen la semántica username:password , incluso si no se especifica ningún nombre de usuario o contraseña. Por ejemplo, "u:p@hostname", ":@hostname", "u:@hostname" y ":p@hostname" se marcarían como no válidos. Si se pasa una dirección URL no válida a la función, devuelve ERROR_WINHTTP_INVALID_URL. Esta opción está desactivada de forma predeterminada.

WINHTTP_OPTION_REQUEST_ANNOTATION

Permite obtener y establecer una anotación de solicitud para el nombre de anotación proporcionado. Esto permite que el autor de la llamada adjunte una cadena a la solicitud de recuperación posterior para identificar las solicitudes mediante cualquier lógica personalizada que el autor de la llamada encuentre útil.

WINHTTP_OPTION_REQUEST_PRIORITY

Esta opción está en desuso; no tiene ningún efecto.

WINHTTP_OPTION_REQUEST_STATS

Recupera las estadísticas de la solicitud. Para obtener una lista de las estadísticas disponibles, consulte WINHTTP_REQUEST_STATS.

WINHTTP_OPTION_REQUEST_TIMES

Recupera la información de tiempo de la solicitud. Para obtener una lista de los intervalos disponibles, consulte WINHTTP_REQUEST_TIMES.

WINHTTP_OPTION_REQUIRE_STREAM_END

Esta opción indica a WinHttp que omita los encabezados de respuesta "Content-Length" y continúe recibiendo en una secuencia hasta que se reciba la marca de END_STREAM.

WINHTTP_OPTION_RESOLUTION_HOSTNAME

Esta opción se puede establecer en un identificador de solicitud WinHttp antes de que se haya enviado. Si se establece, WinHttp usará la cadena proporcionada por el autor de la llamada como nombre de host para la resolución DNS.

WINHTTP_OPTION_RESOLVE_TIMEOUT

Establece o recupera un valor entero largo sin signo que contiene el valor de tiempo de espera, en milisegundos, para resolver un nombre de host. El valor de tiempo de espera predeterminado es INFINITE. Si se especifica un valor no predeterminado, hay una sobrecarga de una creación de subprocesos por resolución de nombres.

WINHTTP_OPTION_REVERT_IMPERSONATION_SERVER_CERT

Revierte cualquier suplantación de subproceso al compilar la cadena de certificados del servidor, forzando el uso del token de proceso en su lugar.

WINHTTP_OPTION_SECURE_PROTOCOLS

Establece un valor entero largo sin signo que especifica qué protocolos seguros son aceptables.

  • Windows 11, Windows 10 y Windows 8.1. De forma predeterminada, solo se habilitan SSL3, TLS1.0, TLS1.1 y TLS1.2.
  • Windows 8 y Windows 7. De forma predeterminada, solo se habilitan SSL3 y TLS1.

El valor puede ser una combinación de uno o varios de los valores siguientes.

Término Descripción
WINHTTP_FLAG_SECURE_PROTOCOL_ALL Se pueden usar los protocolos Capa de sockets seguros (SSL) 2.0, SSL 3.0 y Seguridad de la capa de transporte (TLS) 1.0.
WINHTTP_FLAG_SECURE_PROTOCOL_SSL2 Se puede usar el protocolo SSL 2.0.
WINHTTP_FLAG_SECURE_PROTOCOL_SSL3 Se puede usar el protocolo SSL 3.0.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1 Se puede usar el protocolo TLS 1.0.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1 Se puede usar el protocolo TLS 1.1.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2 Se puede usar el protocolo TLS 1.2.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_3 Se puede usar el protocolo TLS 1.3.

Si necesita agregar compatibilidad con los protocolos TLS 1.1 o TLS 1.2, pero no puede volver a compilar la aplicación para usar los valores adecuados de WINHTTP_OPTION_SECURE_PROTOCOLS, puede agregar la entrada del DefaultSecureProtocols Registro. Esa entrada del Registro permite especificar qué protocolos SSL se deben usar cuando se usa la marca WINHTTP_OPTION_SECURE_PROTOCOLS .

Importante

Las instrucciones siguientes implican modificar el registro. Pero pueden producirse problemas graves si modifica incorrectamente el Registro. Por lo tanto, asegúrese de seguir estas instrucciones cuidadosamente. Como protección adicional, haga una copia de seguridad del Registro antes de modificarlo. Y así, si se produce algún problema, puede restaurarlo. Para obtener más información sobre cómo realizar una copia de seguridad y restaurar el registro, consulte Copia de seguridad y restauración del registro en Windows.

Cuando una aplicación especifica WINHTTP_OPTION_SECURE_PROTOCOLS, el sistema comprueba la entrada del DefaultSecureProtocols Registro y, si está presente, invalida los protocolos predeterminados especificados por WINHTTP_OPTION_SECURE_PROTOCOLS con los protocolos especificados en la entrada del DefaultSecureProtocols Registro. Si la entrada del Registro no está presente, WinHTTP usa los valores predeterminados del sistema operativo existentes para WINHTTP_OPTION_SECURE_PROTOCOLS. Estos valores predeterminados de WinHTTP siguen las reglas de precedencia existentes y los protocolos deshabilitados por canal seguro (Schannel) y los protocolos establecidos por aplicación por WinHttpSetOption.

Puede agregar la entrada del DefaultSecureProtocols Registro en la siguiente ruta de acceso:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp

En equipos basados en x64, también debe agregar DefaultSecureProtocols a la ruta de Wow6432Node acceso:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp

El valor del Registro es un mapa de bits DWORD. El valor que se va a usar se determina agregando los valores correspondientes a los protocolos deseados.

Valor DefaultSecureProtocols Protocolo habilitado
0x00000008 Habilitación de SSL 2.0 de forma predeterminada
0x00000020 Habilitación de SSL 3.0 de forma predeterminada
0x00000080 Habilitación de TLS 1.0 de forma predeterminada
0x00000200 Habilitación de TLS 1.1 de forma predeterminada
0x00000800 Habilitación de TLS 1.2 de forma predeterminada

Por ejemplo, si desea invalidar los valores predeterminados de WINHTTP_OPTION_SECURE_PROTOCOLS especificar TLS 1.1 y TLS 1.2. En ese caso, tome el valor de TLS 1.1 (0x00000200) y el valor de TLS 1.2 (0x00000800), agréguelos en la calculadora (en modo programador) y el valor del Registro resultante sería 0x00000A00.

WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT

Recupera el certificado de un servidor SSL/TLS en la estructura WINHTTP_CERTIFICATE_INFO . La aplicación debe liberar los miembros lpszSubjectInfo y lpszIssuerInfo con LocalFree.

WINHTTP_OPTION_SECURITY_FLAGS

Establece o recupera un valor entero largo sin signo que contiene las marcas de seguridad de un identificador. Puede ser una combinación de estos valores:

Término Descripción
SECURITY_FLAG_IGNORE_CERT_CN_INVALID Permite un nombre común no válido en un certificado; es decir, el nombre del servidor especificado por la aplicación no coincide con el nombre común del certificado. Si se establece esta marca, la aplicación no recibe una devolución de llamada WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID .
SECURITY_FLAG_IGNORE_CERT_DATE_INVALID Permite una fecha de certificado no válida, es decir, un certificado expirado o no efectivo. Si se establece esta marca, la aplicación no recibe una devolución de llamada WINHTTP_CALLBACK_STATUS_FLAG_CERT_DATE_INVALID .
SECURITY_FLAG_IGNORE_UNKNOWN_CA Permite una entidad de certificación no válida. Si se establece esta marca, la aplicación no recibe una devolución de llamada WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CA .
SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE Permite establecer la identidad de un servidor con un certificado que no sea de servidor (por ejemplo, un certificado de cliente).
SECURITY_FLAG_IGNORE_WEAK_SIGNATURE Permite omitir una firma débil.
Esta marca está disponible en la actualización de acumulación para cada sistema operativo a partir de Windows 7 y Windows Server 2008 R2.
SECURITY_FLAG_SECURE Usa transferencias seguras. Esto solo se devuelve en una llamada a WinHttpQueryOption.
SECURITY_FLAG_STRENGTH_MEDIUM Usa cifrado medio (56 bits). Esto solo se devuelve en una llamada a WinHttpQueryOption.
SECURITY_FLAG_STRENGTH_STRONG Usa cifrado seguro (128 bits). Esto solo se devuelve en una llamada a WinHttpQueryOption.
SECURITY_FLAG_STRENGTH_WEAK Usa cifrado débil (40 bits). Esto solo se devuelve en una llamada a WinHttpQueryOption.

WINHTTP_OPTION_SECURITY_INFO

Recupera la información de cifrado y la conexión de SChannel para una solicitud.

WINHTTP_OPTION_SECURITY_KEY_BITNESS

Recupera un valor entero largo sin signo que contiene la intensidad de cifrado de la clave de cifrado. Un número mayor indica un cifrado de intensidad de cifrado más seguro.

WINHTTP_OPTION_SEND_TIMEOUT

Establece o recupera un valor entero largo sin signo que contiene el valor de tiempo de espera, en milisegundos, para enviar una solicitud o escribir algunos datos. Si el envío de la solicitud tarda más tiempo de espera, se cancela la operación de envío. El tiempo de expiración predeterminado es de 30 segundos.

WINHTTP_OPTION_SERVER_CBT

Obtiene un puntero a SecPkgContext_Bindings estructura que especifica un token de enlace de canal (CBT).

Un token de enlace de canal es una propiedad de un canal de transporte seguro y se usa para enlazar un canal de autenticación al canal de transporte seguro. Esta opción solo puede obtener este token después de establecer una conexión SSL.

Nota

Si se pasa esta opción y un valor null para lpBuffer a WinHttpQueryOption , se devolverán ERROR_INSUFFICIENT_BUFFER y el tamaño de bytes necesario para el búfer en el parámetro lpdwBufferLength . Este valor de tamaño de búfer devuelto se puede pasar en una llamada posterior para consultar el token de enlace de canal. Estos pasos son necesarios al controlar WINHTTP_CALLBACK_STATUS_REQUEST si desea modificar los encabezados de solicitud en función del token de enlace de canal. Tenga en cuenta que Windows XP y Vista no admiten la modificación de encabezados de solicitud durante esta devolución de llamada.

WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT

Recupera el contexto de la cadena de certificación del servidor. WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT se puede pasar para obtener un puntero duplicado al CERT_CHAIN_CONTEXT de una cadena de certificados de servidor recibida durante una conexión SSL negociada. El cliente debe llamar a CertFreeCertificateContext en el puntero PCCERT_CONTEXT devuelto que se rellena en el búfer.

WINHTTP_OPTION_SERVER_CERT_CONTEXT

Recupera el contexto de certificación del servidor. WINHTTP_OPTION_SERVER_CERT_CONTEXT se puede pasar para obtener un puntero duplicado al CONTEXTO CERT para un certificado de servidor recibido durante una conexión SSL negociada. El cliente debe llamar a CertFreeCertificateContext en el puntero PCCERT_CONTEXT devuelto que se rellena en el búfer.

WINHTTP_OPTION_SERVER_SPN_USED

Obtiene el nombre principal del servidor que WinHTTP proporcionó a SSPI durante la autenticación. Este valor de cadena se puede pasar a SspiPromptForCredentials después de un error de autenticación.

WINHTTP_OPTION_SPN

Incluye o quita el número de puerto del servidor cuando se compila el SPN (nombre de entidad de servicio) para la autenticación Kerberos o Negotiate Kerberos. Esta marca es uno de los siguientes valores:

Término Descripción
WINHTTP_DISABLE_SPN_SERVER_PORT Quita el número de puerto del servidor.
WINHTTP_ENABLE_SPN_SERVER_PORT Incluye el número de puerto del servidor.

WINHTTP_OPTION_STREAM_ERROR_CODE

Esta opción se puede consultar en un identificador de solicitud WinHttp y devolverá el código de error indicado por un marco de RST_STREAM recibido en una secuencia HTTP.

WINHTTP_OPTION_TCP_FAST_OPEN

Habilita TCP Fast Open para la conexión.

WINHTTP_OPTION_TCP_KEEPALIVE

Esta opción se puede establecer en un identificador de sesión De WinHttp para habilitar el comportamiento de mantenimiento activo de TCP en el socket subyacente. Toma una estructura tcp_keepalive .

WINHTTP_OPTION_TLS_FALSE_START

Habilita tls False Start para la conexión.

WINHTTP_OPTION_TCP_PRIORITY_STATUS

Consulte la prioridad sugerencia del conjunto de sockets TCP con WINHTTP_OPTION_TCP_PRIORITY_HINT. Consulte la documentación de SIO_SET_PRIORITY_HINT para obtener más información.

WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK

Esta opción se puede establecer en un identificador de sesión WinHttp para controlar si se permite la reserva a TLS 1.0 si se produce un error de protocolo de enlace TLS con una versión de protocolo más reciente.

WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT

Toma un evento que se establecerá cuando se haya completado la última devolución de llamada para una sesión determinada. Esta marca debe usarse en un identificador de sesión. El evento no se puede cerrar hasta que WinHTTP lo haya establecido.

WINHTTP_OPTION_UNSAFE_HEADER_PARSING

Esta opción está reservada para uso interno y no se debe llamar a .

WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET

Indica a la pila que inicie un proceso de protocolo de enlace de WebSocket con WinHttpSendRequest. Esta opción no toma parámetros.

WINHTTP_OPTION_URL

Recupera un valor de cadena que contiene la dirección URL completa de un recurso descargado. Si la dirección URL original contenía datos adicionales, como cadenas de búsqueda o delimitadores, o si la llamada se redirigió, la dirección URL devuelta difiere del original. La aplicación debe pasar un búfer, de tamaño en bytes, lo suficientemente grande como para contener la dirección URL devuelta en caracteres anchos.

WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS

Toma un BOOL y solo se puede establecer un identificador de sesión. Solo se propagará a los identificadores creados a partir del identificador de sesión después de establecer la opción. Si es TRUE, esta opción provoca como último recurso el uso de credenciales de servidor globales que se insertaron desde WinInet. El valor predeterminado de esta opción es FALSE. Esta opción requiere la clave del Registro HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings! ShareCredsWithWinHttp. Esta clave del Registro no está presente de forma predeterminada. Cuando se establece, WinINet enviará las credenciales a WinHTTP. Cada vez que WinHttp obtiene un desafío de autenticación y si no hay credenciales establecidas en el identificador actual, usará las credenciales proporcionadas por WinINet.

WINHTTP_OPTION_USE_SESSION_SCH_CRED

Permite establecer una sola credencial para usar de forma predeterminada para todos los puntos de conexión de la sesión en lugar de tener credenciales predeterminadas por punto de conexión. Esto podría mejorar el rendimiento al reducir la sobrecarga de administración de credenciales. Tenga en cuenta que esta credencial predeterminada no tendrá ningún efecto cuando se proporcione explícitamente un certificado de cliente.

WINHTTP_OPTION_USER_AGENT

Establece o recupera la cadena del agente de usuario en los identificadores proporcionados por WinHttpOpen y se usa en las funciones WinHttpSendRequest posteriores, siempre y cuando no se invalide mediante un encabezado agregado por WinHttpAddRequestHeaders o WinHttpSendRequest. Al recuperar un agente de usuario, la aplicación debe pasar un búfer, de tamaño en bytes, lo suficientemente grande como para contener la dirección URL devuelta en caracteres anchos. Al establecer el agente de usuario, el tamaño del búfer es la longitud de la cadena, en caracteres, más el terminador NULL .

WINHTTP_OPTION_USERNAME

Establece o recupera una cadena que contiene el nombre de usuario.

WINHTTP_OPTION_WEB_SOCKET_CLOSE_TIMEOUT

Establece el tiempo, en milisegundos, que WinHttpWebSocketClose debe esperar para completar el protocolo de enlace de cierre. El valor predeterminado es 10 segundos.

WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL

Establece el intervalo, en milisegundos, para enviar un paquete de mantenimiento activo a través de la conexión. El intervalo predeterminado es 30000 (30 segundos). El intervalo mínimo es 15000 (15 segundos). El uso de WinHttpSetOption para establecer un valor inferior a 15000 devolverá con ERROR_INVALID_PARAMETER.

Nota

El valor predeterminado de WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL se lee en HKLM:\SOFTWARE\Microsoft\WebSocket\KeepaliveInterval. Si no se establece un valor, se usará el valor predeterminado de 30000. No es posible tener un intervalo de mantenimiento inferior a 15000 milisegundos.

WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE

Establece o recupera un DWORD que especifica el tamaño del búfer de recepción que se va a usar en las conexiones de WebSocket.

WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE

Establece o recupera un DWORD que especifica el tamaño del búfer de envío que se va a usar en las conexiones de WebSocket.

WINHTTP_OPTION_WORKER_THREAD_COUNT

Establece un valor entero largo sin signo que especifica el número de subprocesos de trabajo que el grupo de subprocesos debe usar para finalizaciones asincrónicas. El valor predeterminado de esta opción es cero, que especifica que el número de subprocesos de trabajo es igual al número de CPU del sistema. Esta opción solo se puede establecer en un identificador HINTERNETNULL antes de que se haya producido una operación asincrónica. Esta opción solo se puede establecer una vez.

Se aplica a: Windows 7 y versiones posteriores; Windows Server 2008 R2 y versiones posteriores.

WINHTTP_OPTION_WRITE_BUFFER_SIZE

Esta opción está en desuso; no tiene ningún efecto.

Observaciones

En la tabla siguiente se enumeran las marcas de opción especificando los identificadores en los que pueden actuar, si se pueden consultar y establecer, y el tipo de datos usado. Una "X" indica que la marca de opción es válida para su uso con la función o el identificador, mientras que "-" especifica que la marca de opción no es válida.

Si se intenta establecer o consultar una marca de opción en una versión de Windows en la que no se admite, se producirán ERROR_WINHTTP_INVALID_OPTION.

Marca de opción y tipo de datos Identificador de sesión Identificador de solicitud Opción de consulta Opción SET Versión mínima de Windows
WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS
BOOL
x - - x -
WINHTTP_OPTION_AUTOLOGON_POLICY
DWORD
- X - x -
WINHTTP_OPTION_BACKGROUND_CONNECTIONS
DWORD
X - - x Windows 10, versión 21H1
WINHTTP_OPTION_CALLBACK
LPVOID
X x x x -
WINHTTP_OPTION_CLIENT_CERT_CONTEXT
CERT_CONTEXT
- x - X Windows Vista
WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST
SecPkgContext_IssuerListInfoEx
- X X - Windows Vista
WINHTTP_OPTION_CODEPAGE
DWORD
X - - x -
WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH
DWORD
X - - x -
WINHTTP_OPTION_CONNECT_RETRIES
DWORD
X x x x -
WINHTTP_OPTION_CONNECT_TIMEOUT
DWORD
X x x x -
WINHTTP_OPTION_CONNECTION_INFO
WINHTTP_CONNECTION_INFO
- x x - -
WINHTTP_OPTION_CONNECTION_STATS_V0
TCP_INFO_v0
- x x - Windows 10 versión 1903
WINHTTP_OPTION_CONNECTION_STATS_V1
TCP_INFO_v1
- x x - Windows 10 versión 2004
WINHTTP_OPTION_CONTEXT_VALUE
DWORD_PTR
x x x x -
WINHTTP_OPTION_DECOMPRESSION
DWORD
X x - X Windows 8.1
WINHTTP_OPTION_DISABLE_CERT_CHAIN_BUILDING
BOOL
X - - x Windows 10, versión 21H1
WINHTTP_OPTION_DISABLE_FEATURE
DWORD
- X - x -
WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK
BOOL
X - - x Windows 10 versión 1903
WINHTTP_OPTION_DISABLE_STREAM_QUEUE
BOOL
X x - x Windows 10 versión 1809
WINHTTP_OPTION_ENABLE_FEATURE
DWORD
* * - X -
WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL
DWORD
X x - x Windows 10 Versión 1607
WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT_CONTEXT
BOOL
X - - x Windows 10, versión 21H1
WINHTTP_OPTION_ENABLETRACING
DWORD
- - X x -
WINHTTP_OPTION_ENCODE_EXTRA
BOOL
x x - x Windows 10 versión 1803
WINHTTP_OPTION_EXPIRE_CONNECTION
N/D
- x - x Windows 10 versión 1903
WINHTTP_OPTION_EXTENDED_ERROR
DWORD
x X x - -
WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION
BOOL
X - - x Windows 10, versión 21H1
WINHTTP_OPTION_GLOBAL_PROXY_CREDS
WINHTTP_CREDS
x x - x -
WINHTTP_OPTION_GLOBAL_SERVER_CREDS
WINHTTP_CREDS_EX
x x - x -
WINHTTP_OPTION_HANDLE_TYPE
DWORD
x x x - -
WINHTTP_OPTION_HTTP_PROTOCOL_REQUIRED
BOOL
x x - x Windows 10 versión 1903
WINHTTP_OPTION_HTTP_PROTOCOL_USED
DWORD
- x x - Windows 10 Versión 1607
WINHTTP_OPTION_HTTP_VERSION
HTTP_VERSION_INFO
X x x x -
WINHTTP_OPTION_HTTP2_KEEPALIVE
DWORD
x - - x Windows 10, versión 21H1
WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING
BOOL
x x - x Windows 10, versión 21H1
WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE
BOOL
- x - x Windows 10 versión 2004
WINHTTP_OPTION_IPV6_FAST_FALLBACK
BOOL
x - - x Windows 10 versión 1903
WINHTTP_OPTION_IS_PROXY_CONNECT_RESPONSE
BOOL
x x x - -
WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER
DWORD
x - x x -
WINHTTP_OPTION_MAX_CONNS_PER_SERVER
DWORD
x - x x -
WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS
DWORD
x x x x -
WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE
DWORD
X x X X -
WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE
DWORD
X X X X -
WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE
DWORD
X X X X -
WINHTTP_OPTION_PARENT_HANDLE
HINTERNET
X X X - -
WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT
LPWSTR
- x x - -
WINHTTP_OPTION_PASSPORT_COBRANDING_URL
LPWSTR
- x X - -
WINHTTP_OPTION_PASSPORT_RETURN_URL
LPVOID
- x X - -
WINHTTP_OPTION_PASSPORT_SIGN_OUT
LPVOID
X - - X -
WINHTTP_OPTION_PASSWORD
LPWSTR
- X X X -
WINHTTP_OPTION_PROXY
WINHTTP_PROXY_INFO
X X X x -
WINHTTP_OPTION_PROXY_PASSWORD
LPWSTR
- x X x -
WINHTTP_OPTION_PROXY_SPN_USED
LPWSTR
- X x - -
WINHTTP_OPTION_PROXY_USERNAME
LPWSTR
- X x X -
WINHTTP_OPTION_READ_BUFFER_SIZE
DWORD
- X x X -
WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE
BOOL
X x - X -
WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT
DWORD
X x X x -
WINHTTP_OPTION_RECEIVE_TIMEOUT
DWORD
X x x x -
WINHTTP_OPTION_REDIRECT_POLICY
DWORD
X x X x -
WINHTTP_OPTION_REJECT_USERPWD_IN_URL
BOOL
- X - x -
WINHTTP_OPTION_REQUEST_PRIORITY
DWORD
- X x X -
WINHTTP_OPTION_REQUEST_STATS
WINHTTP_REQUEST_STATS
- X x - Windows 10 versión 1903
WINHTTP_OPTION_REQUEST_TIMES
WINHTTP_REQUEST_TIMES
- x x - Windows 10 versión 1903
WINHTTP_OPTION_REQUIRE_STREAM_END
BOOL
X x - x Windows 10, versión 21H1
WINHTTP_OPTION_RESOLUTION_HOSTNAME
LPWSTR
- x - x Windows 10, versión 21H1
WINHTTP_OPTION_RESOLVE_TIMEOUT
DWORD
X x x x -
WINHTTP_OPTION_SECURE_PROTOCOLS
DWORD
X - - x -
WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT
WINHTTP_CERTIFICATE_INFO
- X x - -
WINHTTP_OPTION_SECURITY_FLAGS
DWORD
- X X x -
WINHTTP_OPTION_SECURITY_INFO
WINHTTP_SECURITY_INFO
- X X - Windows 10 versión 2004
WINHTTP_OPTION_SECURITY_KEY_BITNESS
DWORD
- x x - -
WINHTTP_OPTION_SEND_TIMEOUT
DWORD
x x x x -
WINHTTP_OPTION_SERVER_CBT
SecPkgContext_Bindings*
- X x - -
WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT
CERT_CHAIN_CONTEXT
- x x - Windows 10 versión 2004
WINHTTP_OPTION_SERVER_CERT_CONTEXT
CONTEXTO DE CERTIFICADO
- x x - -
WINHTTP_OPTION_SERVER_SPN_USED
LPWSTR
- x x - -
WINHTTP_OPTION_SPN
DWORD
- X - x -
WINHTTP_OPTION_STREAM_ERROR_CODE
DWORD
- X x - Windows 10, versión 21H1
WINHTTP_OPTION_TCP_FAST_OPEN
BOOL
X - - x Windows 10 versión 2004
WINHTTP_OPTION_TCP_KEEPALIVE
tcp_keepalive
x - - x Windows 10 versión 2004
WINHTTP_OPTION_TLS_FALSE_START
BOOL
x - - x Windows 10 versión 2004
WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK
BOOL
X - - x Windows 10, versión 21H1
WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT
HINTERNET
X - - X -
WINHTTP_OPTION_UNSAFE_HEADER_PARSING
DWORD
- X - X -
WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET
N/D
- x - X -
WINHTTP_OPTION_URL
LPWSTR
- X X - -
WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS
BOOL
X X - X -
WINHTTP_OPTION_USER_AGENT
LPWSTR
X - X X -
WINHTTP_OPTION_USERNAME
LPWSTR
- X x x -
WINHTTP_OPTION_WEB_SOCKET_CLOSE_TIMEOUT
DWORD
- - x x -
WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL
DWORD
- - x x -
WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE
DWORD
x x x X Windows 8.1
WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE
DWORD
x x x X Windows 8.1
WINHTTP_OPTION_WORKER_THREAD_COUNT
DWORD
- - - x -
WINHTTP_OPTION_WRITE_BUFFER_SIZE
DWORD
- x X X -

Nota:

Para Windows XP y Windows 2000, consulta Requisitos en tiempo de ejecución.

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]
Redistribuible WinHTTP 5.0 e Internet Explorer 5.01 o posterior en Windows XP y Windows 2000.
Encabezado Winhttp.h

Consulte también