Indicateurs d’option

Les indicateurs d’option suivants sont pris en charge par WinHttpQueryOption et WinHttpSetOption.

WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS

La valeur par défaut est FALSE. Si la valeur est TRUE, WinHTTP ne garantit pas la progression si status rappels sont bloqués par l’application cliente.

L’application cliente doit prendre une attention particulière pour effectuer des opérations minimales dans le rappel sans bloquer, retourner aussi rapidement que possible, et en particulier ne doit pas attendre les appels WinHTTP suivants. S’il ne suit pas ces instructions, il est probable qu’il y ait un impact négatif sur les performances ou un blocage potentiel de l’application. Si elle est utilisée de la manière prescrite, cette option peut améliorer les performances.

WINHTTP_OPTION_AUTOLOGON_POLICY

Définit une valeur entière longue non signée qui spécifie la stratégie d’ouverture de session automatique avec l’une des valeurs suivantes.

Terme Description
WINHTTP_AUTOLOGON_SECURITY_LEVEL_HIGH Les informations d’identification par défaut ne sont pas utilisées. Notez que cet indicateur prend effet uniquement si vous spécifiez le serveur par le nom réel de l’ordinateur. Elle ne prend pas effet si vous spécifiez le serveur par « localhost » ou adresse IP.
WINHTTP_AUTOLOGON_SECURITY_LEVEL_LOW Une ouverture de session authentifiée à l’aide des informations d’identification par défaut est effectuée pour toutes les demandes.
WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM Une ouverture de session authentifiée à l’aide des informations d’identification par défaut est effectuée uniquement pour les demandes sur l’intranet local.

WINHTTP_OPTION_BACKGROUND_CONNECTIONS

Lorsque vous définissez cette option sur un handle de session, vous devez passer le nombre de connexions que vous souhaitez ouvrir. Ensuite, lors de l’envoi d’une demande, au lieu d’ouvrir une seule connexion, WinHttp ouvre un certain nombre de connexions en parallèle. Cela peut améliorer les performances des requêtes suivantes vers la même destination, qui n’aura pas la surcharge liée à l’établissement de la connexion.

WINHTTP_OPTION_CALLBACK

Récupère le pointeur vers l’ensemble de fonctions de rappel avec WinHttpSetStatusCallback.

WINHTTP_OPTION_CLIENT_CERT_CONTEXT

Définit le contexte du certificat client. Si une application reçoit ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED, elle doit appeler WinHttpSetOption pour fournir un certificat avant de réessayer la demande. Dans le cadre du traitement de cette option, WinHttp appelle CertDuplicateCertificateContext sur le contexte de certificat fourni par l’appelant afin que le contexte de certificat puisse être libéré indépendamment par l’appelant.

Notes

L’application ne doit pas tenter de fermer le magasin de certificats avec l’indicateur CERT_CLOSE_STORE_FORCE_FLAG dans l’appel à CertCloseStore sur le magasin de certificats à partir duquel le contexte de certificat a été récupéré. Une violation d’accès peut se produire.

Lorsque le serveur demande un certificat client, WinHttpSendRequest ou WinHttpReceiveResponse retourne une erreur ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED . Si le serveur demande le certificat mais n’en a pas besoin, l’application peut spécifier cette option pour indiquer qu’il n’a pas de certificat. Le serveur peut choisir un autre schéma d’authentification ou autoriser l’accès anonyme au serveur. L’application fournit la macro WINHTTP_NO_CLIENT_CERT_CONTEXT dans le paramètre lpBuffer de WinHttpSetOption , comme illustré dans l’exemple de code suivant.

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

Si le serveur nécessite un certificat client, il peut envoyer un code de status HTTP 403 en réponse. Pour plus d’informations, consultez l’option WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST .

WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST

Récupère une structure de SecPkgContext_IssuerListInfoEx lorsque l’erreur de WinHttpSendRequest ou WinHttpReceiveResponse est ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED. La liste des émetteurs dans la structure contient une liste d’autorités de certification acceptables à partir du serveur. L’application cliente peut filtrer la liste des autorités de certification pour récupérer le certificat client pour l’authentification SSL.

Sinon, si le serveur demande le certificat client, mais n’en a pas besoin, l’application peut appeler WinHttpSetOption avec l’option WINHTTP_OPTION_CLIENT_CERT_CONTEXT . Pour plus d’informations, consultez l’option WINHTTP_OPTION_CLIENT_CERT_CONTEXT .

WINHTTP_OPTION_CODEPAGE

Définit la page de codes utilisée pour traiter l’URL (c’est-à-dire la chaîne de requête). La valeur par défaut est UTF-8.

WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH

Définit une valeur entière longue non signée qui spécifie si l’authentification Passport dans l’authentification WinHTTP est activée. Il peut s'agir de l'une des valeurs suivantes :

Terme Description
WINHTTP_DISABLE_PASSPORT_AUTH L’authentification Microsoft Passport est désactivée. Il s’agit de la valeur par défaut.
WINHTTP_DISABLE_PASSPORT_KEYRING Le porte-clés Passport est désactivé. Il s’agit de la valeur par défaut.
WINHTTP_ENABLE_PASSPORT_AUTH L’authentification Passport est activée.
WINHTTP_ENABLE_PASSPORT_KEYRING Le porte-clés Passport est activé.

WINHTTP_OPTION_CONNECT_RETRIES

Définit ou récupère une valeur entière longue non signée qui contient le nombre de tentatives de connexion deWinHTTP à un hôte. Microsoft Windows HTTP Services (WinHTTP) ne tente qu’une seule fois par adresse IP (Internet Protocol). Par exemple, si vous tentez de vous connecter à un hôte multi-hébergement qui a 10 adresses IP et que WINHTTP_OPTION_CONNECT_RETRIES est défini sur 7, WinHTTP tente uniquement de se connecter aux sept premières adresses IP. Dans le même ensemble de 10 adresses IP, si WINHTTP_OPTION_CONNECT_RETRIES a la valeur 20, WinHTTP n’essaie chacune des 10 qu’une seule fois. Si une tentative de connexion échoue toujours après le nombre spécifié de tentatives, ou si le délai d’expiration de connexion a expiré avant cette date, la demande est annulée. La valeur par défaut de WINHTTP_OPTION_CONNECT_RETRIES est de cinq tentatives.

WINHTTP_OPTION_CONNECT_TIMEOUT

Définit ou récupère une valeur entière longue non signée qui contient la valeur de délai d’attente, en millisecondes. La définition de cette option sur infini (0xFFFFFFFF) désactive ce minuteur.

Si une demande de connexion TCP prend plus de temps que cette valeur de délai d’attente, la requête est annulée. Le délai d’expiration par défaut est de 60 secondes. Lorsque vous tentez de vous connecter à plusieurs adresses IP pour un seul hôte (hôte multi-hébergement), la limite de délai d’expiration est pour chaque connexion individuelle.

WINHTTP_OPTION_CONNECTION_INFO

Récupère l’adresse IP source et de destination, ainsi que le port de la requête qui a généré la réponse lorsque WinHttpReceiveResponse est retourné. L’application appelle WinHttpQueryOption avec l’option WINHTTP_OPTION_CONNECTION_INFO et fournit la structure WINHTTP_CONNECTION_INFO dans le paramètre lpBuffer . Pour plus d’informations, consultez WINHTTP_CONNECTION_INFO.

S’applique à : Windows XP avec SP2 et versions ultérieures ; Windows 2003 avec SP1 et versions ultérieures.

WINHTTP_OPTION_CONNECTION_GUID

Marquez la connexion associée au handle de requête WinHTTP avec un GUID. Cela permet un contrôle personnalisé sur les demandes qui utilisent les groupes de connexions avec l’option WINHTTP_OPTION_MATCH_CONNECTION_GUID .

WINHTTP_OPTION_CONNECTION_STATS_V0

Retreive le struct TCP_INFO_v0 pour la connexion sous-jacente utilisée par la requête. Le struct retourné peut contenir des statistiques provenant de requêtes précédentes envoyées sur la même connexion.

Notes

Cette option a été remplacée par WINHTTP_OPTION_CONNECTION_STATS_V1.

WINHTTP_OPTION_CONNECTION_STATS_V1

Retreive le struct TCP_INFO_v1 pour la connexion sous-jacente utilisée par la requête. Le struct retourné peut contenir des statistiques provenant de requêtes précédentes envoyées sur la même connexion.

WINHTTP_OPTION_CONTEXT_VALUE

Définit ou récupère un DWORD_PTR qui contient un pointeur vers la valeur de contexte associée à ce handle HINTERNET . La valeur stockée dans la mémoire tampon est utilisée et une nouvelle valeur est affectée à l’indicateur d’option WINHTTP_OPTION_CONTEXT_VALUE .

WINHTTP_OPTION_DECOMPRESSION

Définit un DWORD d’indicateurs qui détermine si WinHTTP décompresse automatiquement les corps de réponse avec des encodages de contenu compressés. WinHTTP définit également un en-tête de Accept-Encoding approprié, en remplaçant tous les en-têtes fournis par l’appelant. Les valeurs prises en charge sont les suivantes :

Terme Description
WINHTTP_DECOMPRESSION_FLAG_GZIP Décompresser l’encodage de contenu : réponses gzip.
WINHTTP_DECOMPRESSION_FLAG_DEFLATE Décompresser l’encodage de contenu : dégonfler les réponses.
WINHTTP_DECOMPRESSION_FLAG_ALL Décompressez les réponses avec n’importe quel encodage de contenu pris en charge.

Par défaut, WinHTTP fournit des réponses compressées à l’appelant sans modification.

WINHTTP_OPTION_DISABLE_CERT_CHAIN_BUILDING

La définition de cette option sur un handle de session WinHttp vous permet d’activer/désactiver si la chaîne de certificats de serveur est générée.

WINHTTP_OPTION_DISABLE_FEATURE

Définit une valeur entière longue non signée qui spécifie les fonctionnalités qui sont désactivées avec un ou plusieurs des indicateurs suivants. N’oubliez pas que cette fonctionnalité ne doit être transmise à WinHttpSetOption sur les handles de demande qu’après la création du handle de demande avec WinHttpOpenRequest et avant que la demande ne soit envoyée avec WinHttpSendRequest.

Terme Description
WINHTTP_DISABLE_AUTHENTICATION L’authentification automatique est désactivée.
WINHTTP_DISABLE_COOKIES L’ajout automatique d’en-têtes de cookies aux requêtes est désactivé. En outre, les cookies retournés ne sont pas automatiquement ajoutés à la base de données des cookies. La désactivation des cookies peut entraîner des performances médiocres pour l’authentification Passport.
WINHTTP_DISABLE_KEEP_ALIVE Désactive la sémantique keep-alive pour la connexion. La sémantique keep-alive est requise pour MSN, NTLM et d’autres types d’authentification.
WINHTTP_DISABLE_REDIRECTS La redirection automatique est désactivée lors de l’envoi de requêtes avec WinHttpSendRequest. Si la redirection automatique est désactivée, une application doit inscrire une fonction de rappel pour que l’authentification Passport réussisse.

WINHTTP_OPTION_DISABLE_GLOBAL_POOLING

Désactive le regroupement global entre sessions. Cette pratique est recommandée, car le regroupement global entre sessions est un comportement hérité pris en charge par défaut pour des raisons de compatibilité. Cela est affecté par la définition ultérieure du nombre maximal de connexions manuellement.

WINHTTP_OPTION_DISABLE_PROXY_AUTH_SCHEMES

Désactive une ou plusieurs des pratiques d’authentification de proxy suivantes sur la session WinHTTP en fournissant le OR de tous les choix applicables. Il s’agit de tous les schémas, à l’exception de WINHTTP_PROXY_DISABLE_AUTH_LOCAL_SERVICE, qui force l’utilisation du compte d’ordinateur local lors de l’envoi de requêtes à une adresse de bouclage ou locale. Cela empêche les fuites d’informations d’identification système vers des proxys HTTP locaux.

Terme Description
WINHTTP_PROXY_DISABLE_SCHEME_BASIC Désactive le schéma d’authentification de base.
WINHTTP_PROXY_DISABLE_SCHEME_DIGEST Désactive le schéma d’authentification Digest.
WINHTTP_PROXY_DISABLE_SCHEME_NTLM Désactive le schéma d’authentification NTLM.
WINHTTP_PROXY_DISABLE_SCHEME_KERBEROS Désactive le schéma d’authentification Kerberos.
WINHTTP_PROXY_DISABLE_SCHEME_NEGOTIATE Désactive le schéma d’authentification Negotiate.
WINHTTP_PROXY_DISABLE_AUTH_LOCAL_SERVICE Force l’utilisation du compte d’ordinateur local lors de l’envoi de requêtes à un bouclage ou à une adresse locale.

WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK

Empêche WinHTTP de réessayer une connexion avec une version inférieure du protocole de sécurité lorsque la négociation initiale du protocole échoue.

WINHTTP_OPTION_DISABLE_STREAM_QUEUE

Permet aux nouvelles requêtes d’ouvrir une connexion HTTP/2 supplémentaire lorsque la limite maximale de flux simultané est atteinte, plutôt que d’attendre le flux disponible suivant sur une connexion existante.

WINHTTP_OPTION_ENABLE_FEATURE

Définit une valeur entière longue non signée qui spécifie les fonctionnalités actuellement activées. Il peut s’agir de l’une des valeurs suivantes.

Terme Description
WINHTTP_ENABLE_SSL_REVERT_IMPERSONATION Si cette option est activée, WinHTTP rétablit temporairement l’emprunt d’identité du client pendant la durée des opérations d’authentification par certificat SSL. Cette valeur ne peut être définie que sur le handle de session.
WINHTTP_ENABLE_SSL_REVOCATION Si cette option est activée, WinHTTP autorise la révocation SSL. Cette valeur ne peut être définie que sur le handle de requête.

WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL

Définit un masque de bits DWORD de versions HTTP avancées acceptables. Les valeurs possibles sont les suivantes :

Terme Description
WINHTTP_PROTOCOL_FLAG_HTTP2 (0x1) Active HTTP/2 pour la requête.
WINHTTP_PROTOCOL_FLAG_HTTP3 (0x2) Active HTTP/3 pour la requête.
Aucun (0x0) Limite la requête à HTTP/1.1 et versions antérieures.

Les versions héritées de HTTP (1.1 et antérieures) ne peuvent pas être désactivées à l’aide de cette option. La valeur par défaut est 0x0.

WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT

Cette option peut être définie sur un handle de session WinHttp pour permettre à WinHttp d’utiliser le contexte de certificat client fourni par l’appelant lors de l’utilisation de HTTP/2.

WINHTTP_OPTION_ENABLETRACING

Définit une valeur BOOL qui spécifie si le suivi est actuellement activé. Cette option ne peut être définie que sur un handle HINTERNETNULL. Consultez également Collecter des traces WinHTTP.

WINHTTP_OPTION_ENCODE_EXTRA

Active l’encodage du pourcentage d’URL pour le chemin d’accès et la chaîne de requête.

Vous pouvez également encoder en pourcentage avant d’appeler WinHttp.

WINHTTP_OPTION_EXPIRE_CONNECTION

Cette option ne peut être définie que sur un handle de demande qui est toujours actif (envoi ou réception). La définition de cette option indique à WinHttp d’arrêter de traiter les demandes sur la connexion associée au handle de requête transmis. La connexion sera fermée une fois que le handle de demande avec lequel cette option est appelée est terminé. Cette option ne prend aucun paramètre.

WINHTTP_OPTION_EXTENDED_ERROR

Récupère une valeur entière longue non signée qui contient un code d’erreur Microsoft Windows Sockets qui a été mappé aux messages d’erreur ERROR_WINHTTP_* retournés pour la dernière fois dans ce contexte de thread. Vous pouvez passer NULL comme valeur de handle.

WINHTTP_OPTION_FEATURE_SUPPORTED

Vérifiez si un indicateur d’option fourni est pris en charge par cette version de WinHTTP.

WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION

Par défaut, lorsque WinHttp envoie une requête, s’il n’existe aucune connexion disponible pour traiter la demande, WinHttp tente d’établir une nouvelle connexion et la demande est liée à cette nouvelle connexion. Lorsque vous définissez cette option, une telle demande est traitée à la place sur la première connexion qui devient disponible, et pas nécessairement sur celle en cours d’établissement.

WINHTTP_OPTION_GLOBAL_PROXY_CREDS

Prend un pointeur vers une structure WINHTTP_CREDS_EX avec le paramètre de fonction hInternet défini sur NULL. Cette option nécessite la clé de Registre HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings! ShareCredsWithWinHttp. Si cette clé de Registre n’est pas définie, WinHTTP renvoie l’erreur ERROR_WINHTTP_INVALID_OPTION. Cette clé de Registre n’est pas présente par défaut. Lorsqu’il est défini, WinINet envoie les informations d’identification à WinHTTP. Chaque fois que WinHttp obtient une demande d’authentification et si aucune information d’identification n’est définie sur le handle actuel, il utilise les informations d’identification fournies par WinINet. Pour partager les informations d’identification du serveur en plus des informations d’identification de proxy, les utilisateurs doivent définir WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS .

WINHTTP_OPTION_GLOBAL_SERVER_CREDS

Prend un pointeur vers une structure WINHTTP_CREDS_EX avec le paramètre de fonction hInternet défini sur NULL. Cette option nécessite la clé de Registre HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings! ShareCredsWithWinHttp. Si cette clé de Registre n’est pas définie, WinHTTP renvoie l’erreur ERROR_WINHTTP_INVALID_OPTION. Cette clé de Registre n’est pas présente par défaut. Lorsqu’il est défini, WinINet envoie les informations d’identification à WinHTTP. Chaque fois que WinHttp obtient une demande d’authentification et si aucune information d’identification n’est définie sur le handle actuel, il utilise les informations d’identification fournies par WinINet. Pour partager les informations d’identification du serveur en plus des informations d’identification de proxy, les utilisateurs doivent définir WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS .

WINHTTP_OPTION_HANDLE_TYPE

Récupère une valeur entière longue non signée qui contient le type du handle HINTERNET passé. La valeur de retour peut être une des suivantes :

Terme Description
WINHTTP_HANDLE_TYPE_CONNECT Le handle est un handle de connexion.
WINHTTP_HANDLE_TYPE_REQUEST Le handle est un handle de requête.
WINHTTP_HANDLE_TYPE_SESSION Le handle est un handle de session.

WINHTTP_OPTION_HTTP_PROTOCOL_REQUIRED

Empêche l’utilisation de versions de protocole autres que celles activées par WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL pour la demande.

WINHTTP_OPTION_HTTP_PROTOCOL_USED

Obtient un DWORD indiquant quelle version HTTP avancée a été utilisée sur une requête donnée. Pour obtenir la liste des valeurs possibles, consultez WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL.

WINHTTP_OPTION_HTTP_VERSION

Définit ou récupère une structure HTTP_VERSION_INFO qui contient la version HTTP prise en charge. Il s’agit d’une option à l’échelle du processus ; utilisez NULL pour le handle.

WINHTTP_OPTION_HTTP2_KEEPALIVE

Cette option peut être définie sur un handle de session pour que WinHttp utilise des trames PING HTTP/2 comme mécanisme de conservation. Les appelants spécifient un délai d’expiration en millisecondes, et une fois qu’il n’y a aucune activité sur une connexion pour ce délai d’expiration, WinHttp commence à envoyer des trames PING HTTP/2. Les appelants ne peuvent pas définir une valeur de délai d’expiration inférieure à 5 000 millisecondes.

WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING

Cette option peut être définie sur un handle de requête WinHttp pour contrôler le comportement de WinHttp lorsqu’une réponse HTTP/2 contient un en-tête « Transfer-Encoding ». Dans ce cas, WinHttp renvoie une erreur si cette option a la valeur FALSE.

WINHTTP_OPTION_HTTP2_RECEIVE_WINDOW

Définissez la taille de la fenêtre de réception de flux HTTP/2 initiale et le seuil d’envoi des mises à jour de fenêtre à l’aide du struct WINHTTP_HTTP2_RECEIVE_WINDOW .

WINHTTP_OPTION_HTTP3_HANDSHAKE_TIMEOUT

Utilise la mémoire tampon pour définir le délai d’expiration de l’établissement d’une liaison HTTP/3 en millisecondes en tant que PDWORD.

WINHTTP_OPTION_HTTP3_INITIAL_RTT

Configure le RTT initial en millisecondes utilisé par msquic.

WINHTTP_OPTION_HTTP3_KEEPALIVE

Active la sémantique keep-alive pour la connexion. Utilise la mémoire tampon pour définir le délai d’expiration de la durée de vie en millisecondes en tant que PDWORD.

WINHTTP_OPTION_HTTP3_STREAM_ERROR_CODE

Récupère l’erreur fournie par le serveur sur le flux HTTP/3 utilisé pour envoyer la requête.

WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE

Permet aux connexions sécurisées d’utiliser des certificats de sécurité pour lesquels la liste de révocation de certificats n’a pas pu être téléchargée.

WINHTTP_OPTION_IPV6_FAST_FALLBACK

Active le secours rapide IPv6 (Happier Eyeballs) pour la connexion. Ce comportement est similaire au comportement happy eyeballs décrit dans RFC 6555 pour améliorer les temps de connexion sur les réseaux où IPv6 n’est pas fiable.

  • Si les adresses IPv6 et IPv4 sont résolues pour un hôte donné, WinHttp commence par se connecter à la première adresse IPv6 résolue avec un délai d’expiration court (300 ms).
  • Si cette connexion échoue, WinHttp tente de se connecter à la première adresse IPv4 résolue avec le délai d’expiration standard.
  • Si la deuxième connexion échoue, WinHttp réessaye la première adresse IPv6 résolue avec le délai d’expiration standard.
  • Si la troisième connexion échoue, WinHttp rétablit le comportement par défaut pour toutes les adresses restantes, en essayant une connexion à chacune d’elles avec le délai d’expiration standard jusqu’à ce qu’une connexion soit établie ou qu’aucune adresse ne soit conservée.

WINHTTP_OPTION_IS_PROXY_CONNECT_RESPONSE

Obtient si une réponse de connexion de retour de proxy peut être récupérée ou non.

WINHTTP_OPTION_MATCH_CONNECTION_GUID

Prend un struct WINHTTP_MATCH_CONNECTION_GUID pour indiquer à WinHTTP de traiter la requête sur une connexion correspondante. Si WINHTTP_MATCH_CONNECTION_GUID_FLAG_REQUIRED est défini, seules les connexions avec un GUID correspondant peuvent être utilisées. Sinon, les connexions avec des GUID correspondants et les connexions qui ne sont marquées avec aucun GUID peuvent être utilisées.

WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER

Définit ou récupère une valeur entière longue non signée qui contient le nombre maximal de connexions autorisées par serveur HTTP/1.0. La valeur par défaut est INFINITE.

S’applique à : Windows Vista avec SP1 et versions ultérieures ; Windows Server 2008 et versions ultérieures.

WINHTTP_OPTION_MAX_CONNS_PER_SERVER

Définit ou récupère une valeur entière longue non signée qui contient le nombre maximal de connexions autorisées par serveur. La valeur par défaut est INFINITE.

Lorsque cette option est définie sur zéro, WinHTTP définit la limite du nombre de connexions sur 2.

WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS

Définit le nombre maximal de redirections que WinHTTP suit ; la valeur par défaut est 10. Cette limite empêche les sites non autorisés de suspendre le client WinHTTP après un grand nombre de redirections.

S’applique à : Windows XP avec SP1 et versions ultérieures ; Windows 2000 avec SP3 et versions ultérieures.

WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE

Nombre maximal de réponses de code informationnelles 100-199 status ignorées avant de retourner le code status final au client WinHTTP. Les codes d’information 100-199 status peuvent être envoyés par le serveur avant le code status final et sont décrits dans la spécification pour HTTP/1.1 (pour plus d’informations, voir RFC 2616). La valeur par défaut est de 10.

S’applique à : Windows XP avec SP1 et versions ultérieures ; Windows 2000 avec SP3 et versions ultérieures.

WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE

lié à la quantité de données vidées des réponses afin de réutiliser une connexion, spécifiée en octets. La valeur par défaut est 1 Mo.

S’applique à : Windows XP avec SP1 et versions ultérieures ; Windows 2000 avec SP3 et versions ultérieures.

WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE

Ensemble lié à la taille maximale de la partie d’en-tête de la réponse du serveur, spécifiée en octets. Cette liaison protège le client contre un serveur non autorisé qui tente de bloquer le client en envoyant une réponse avec une quantité infinie de données d’en-tête. La valeur par défaut est 64 Ko.

S’applique à : Windows XP avec SP1 et versions ultérieures ; Windows 2000 avec SP3 et versions ultérieures.

WINHTTP_OPTION_PARENT_HANDLE

Récupère le handle parent de ce handle.

WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT

Récupère une chaîne qui contient le texte de cobranding fourni par le serveur d’ouverture de session Passport. Cette option doit être récupérée immédiatement après la réponse du serveur d’ouverture de session avec un code status 401. Une application doit passer une taille de mémoire tampon, en octets, suffisamment grande pour contenir la chaîne retournée.

WINHTTP_OPTION_PASSPORT_COBRANDING_URL

Récupère une chaîne qui contient une URL pour un graphique de cobranding fourni par le serveur d’ouverture de session Passport. Cette option doit être récupérée immédiatement après la réponse du serveur d’ouverture de session avec un code 401 status. Une application doit passer une taille de mémoire tampon, en octets, suffisamment grande pour contenir la chaîne retournée.

WINHTTP_OPTION_PASSPORT_RETURN_URL

Définit une option en lecture seule sur un handle de demande qui récupère l’URL de retour Passport.

WINHTTP_OPTION_PASSPORT_SIGN_OUT

Définit l’option sur un handle de session pour se déconnecter de toutes les connexions Passport. Une application doit transmettre l’URL de retour Passport qui a été récupérée avec WINHTTP_OPTION_PASSPORT_RETURN_URL. Tous les cookies liés à l’URL de retour sont effacés.

WINHTTP_OPTION_PASSWORD

Définit ou récupère une valeur de chaîne qui contient le mot de passe associé à un handle de requête.

WINHTTP_OPTION_PROXY

Définit ou récupère une structure de WINHTTP_PROXY_INFO qui contient les données proxy sur un handle de session ou un handle de requête existant. Lors de la récupération des données proxy, une application doit libérer les chaînes lpszProxy et lpszProxyBypass contenues dans cette structure (si elles ne sont pas NULL) à l’aide de la fonction GlobalFree . Une application peut interroger les données du proxy global (proxy par défaut) en transmettant un handle NULL .

WINHTTP_OPTION_PROXY_PASSWORD

Définit ou récupère une valeur de chaîne qui contient le mot de passe utilisé pour accéder au proxy.

WINHTTP_OPTION_PROXY_SPN_USED

Obtient le nom du principal du serveur proxy que WinHTTP a fourni à SSPI lors de l’authentification. Cette valeur de chaîne est utilisée pour passer à SspiPromptForCredentials après un échec d’authentification.

WINHTTP_OPTION_PROXY_USERNAME

Définit ou récupère une valeur de chaîne qui contient le nom d’utilisateur utilisé pour accéder au proxy.

WINHTTP_OPTION_QUIC_STATS

Récupère une structure QUIC_STATISTICS qui contient des informations de connexion telles que RTT et les octets envoyés et reçus.

WINHTTP_OPTION_READ_BUFFER_SIZE

Cette option est déconseillée ; elle n’a aucun effet.

WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE

Définit si l’entité de réponse proxy peut être récupérée ou non. qui est désactivée par défaut.

WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT

Définit ou récupère une valeur entière longue non signée qui contient la valeur de délai d’attente, en millisecondes, pour attendre de recevoir tous les en-têtes de réponse à une requête. Si WinHTTP ne parvient pas à recevoir tous les en-têtes au cours de ce délai d’expiration, la demande est annulée. La valeur de délai d’expiration par défaut est de 90 secondes.

Ce délai d’attente est vérifié uniquement lorsque des données sont reçues du socket. Par conséquent, lorsque le délai d’expiration expire, l’application cliente n’est pas avertie tant que d’autres données n’arrivent pas du serveur. Si aucune donnée n’arrive du serveur, le délai entre l’expiration du délai d’expiration et la notification de l’application cliente peut être aussi important que la valeur de délai d’expiration définie à l’aide du paramètre dwReceiveTimeout de la fonction WinHttpSetTimeouts .

WINHTTP_OPTION_RECEIVE_TIMEOUT

Définit ou récupère une valeur entière longue non signée qui contient la valeur de délai d’attente, en millisecondes, pour recevoir une réponse partielle à une requête ou lire certaines données. Si la réponse prend plus de temps que cette valeur de délai d’attente, la demande est annulée. La valeur de délai d'attente par défaut est de 30 secondes.

WINHTTP_OPTION_REDIRECT_POLICY

Définit le comportement de WinHTTP concernant la gestion d’une redirection HTTP 30x status code. Cette option peut être définie sur un handle de session ou de requête sur l’une des valeurs suivantes :

Terme Description
WINHTTP_OPTION_REDIRECT_POLICY_ALWAYS Toutes les redirections sont suivies automatiquement.
WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP Toutes les redirections sont suivies, à l’exception de celles qui proviennent d’une URL sécurisée (https) vers une URL non sécurisée (http). Il s'agit du paramètre par défaut.
WINHTTP_OPTION_REDIRECT_POLICY_NEVER Les redirections ne sont jamais suivies. Le status 30x est retourné à l’application.

WINHTTP_OPTION_REJECT_USERPWD_IN_URL

Rejette les URL qui contiennent un nom d’utilisateur et un mot de passe. Cette option rejette également les URL qui contiennent la sémantique nom d’utilisateur:mot de passe , même si aucun nom d’utilisateur ou mot de passe n’est spécifié. Par exemple, « u:p@hostname », « :@hostname », « u:@hostname » et « :p@nom d’hôte » sont tous marqués comme non valides. Si une URL non valide est passée à la fonction, elle retourne ERROR_WINHTTP_INVALID_URL. Cette option est désactivée par défaut.

WINHTTP_OPTION_REQUEST_ANNOTATION

Permet d’obtenir et de définir une annotation de requête pour le nom d’annotation fourni. Cela permet à l’appelant d’attacher une chaîne à la demande de récupération ultérieure afin d’identifier les demandes par n’importe quelle logique personnalisée que l’appelant trouve utile.

WINHTTP_OPTION_REQUEST_PRIORITY

Cette option est déconseillée ; elle n’a aucun effet.

WINHTTP_OPTION_REQUEST_STATS

Retreive les statistiques pour la demande. Pour obtenir la liste des statistiques disponibles, consultez WINHTTP_REQUEST_STATS.

WINHTTP_OPTION_REQUEST_TIMES

Retreive les informations de minutage de la demande. Pour obtenir la liste des délais disponibles, consultez WINHTTP_REQUEST_TIMES.

WINHTTP_OPTION_REQUIRE_STREAM_END

Cette option indique à WinHttp d’ignorer les en-têtes de réponse « Content-Length » et de continuer à recevoir sur un flux jusqu’à ce que l’indicateur END_STREAM soit reçu.

WINHTTP_OPTION_RESOLUTION_HOSTNAME

Cette option peut être définie sur un handle de requête WinHttp avant son envoi. Si la valeur est définie, WinHttp utilise la chaîne fournie par l’appelant comme nom d’hôte pour la résolution DNS.

WINHTTP_OPTION_RESOLVE_TIMEOUT

Définit ou récupère une valeur entière longue non signée qui contient la valeur de délai d’attente, en millisecondes, pour résoudre un nom d’hôte. La valeur de délai d’expiration par défaut est INFINITE. Si une valeur autre que celle par défaut est spécifiée, une surcharge est liée à la création d’un thread par résolution de noms.

WINHTTP_OPTION_REVERT_IMPERSONATION_SERVER_CERT

Rétablit toute emprunt d’identité de thread lors de la génération de la chaîne de certificats de serveur, forçant l’utilisation du jeton de processus à la place.

WINHTTP_OPTION_SECURE_PROTOCOLS

Définit une valeur entière longue non signée qui spécifie les protocoles sécurisés acceptables.

  • Windows 11, Windows 10 et Windows 8.1. Par défaut, seuls SSL3, TLS1.0, TLS1.1 et TLS1.2 sont activés.
  • Windows 8 et Windows 7. Par défaut, seuls SSL3 et TLS1 sont activés.

La valeur peut être une combinaison d’une ou plusieurs des valeurs suivantes.

Terme Description
WINHTTP_FLAG_SECURE_PROTOCOL_ALL Les protocoles SSL (Secure Sockets Layer) 2.0, SSL 3.0 et TLS (Transport Layer Security) 1.0 peuvent être utilisés.
WINHTTP_FLAG_SECURE_PROTOCOL_SSL2 Le protocole SSL 2.0 peut être utilisé.
WINHTTP_FLAG_SECURE_PROTOCOL_SSL3 Le protocole SSL 3.0 peut être utilisé.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1 Le protocole TLS 1.0 peut être utilisé.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1 Le protocole TLS 1.1 peut être utilisé.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2 Le protocole TLS 1.2 peut être utilisé.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_3 Le protocole TLS 1.3 peut être utilisé.

Si vous devez ajouter la prise en charge des protocoles TLS 1.1 ou TLS 1.2, mais que vous ne pouvez pas recompiler votre application pour utiliser les valeurs appropriées de WINHTTP_OPTION_SECURE_PROTOCOLS, vous pouvez ajouter l’entrée de Registre à la DefaultSecureProtocols place. Cette entrée de Registre vous permet de spécifier les protocoles SSL à utiliser lorsque l’indicateur WINHTTP_OPTION_SECURE_PROTOCOLS est utilisé.

Important

Les instructions ci-dessous impliquent la modification du Registre. Toutefois, des problèmes importants peuvent survenir si vous modifiez le registre de façon incorrecte. Par conséquent, veillez à suivre attentivement ces instructions. Pour plus de protection, sauvegardez le registre avant de le modifier. Vous pourrez ainsi restaurer le Registre en cas de problème. Pour plus d’informations sur la sauvegarde et la restauration du Registre, consultez Comment sauvegarder et restaurer le Registre dans Windows.

Lorsqu’une application spécifie WINHTTP_OPTION_SECURE_PROTOCOLS, le système recherche l’entrée de DefaultSecureProtocols Registre et, le cas échéant, remplace les protocoles par défaut spécifiés par WINHTTP_OPTION_SECURE_PROTOCOLS par les protocoles spécifiés dans l’entrée de DefaultSecureProtocols Registre. Si l’entrée de Registre n’est pas présente, WinHTTP utilise les valeurs par défaut du système d’exploitation existantes pour WINHTTP_OPTION_SECURE_PROTOCOLS. Ces valeurs par défaut WinHTTP suivent les règles de précédence existantes et sont écrasées par les protocoles et protocoles désactivés du canal sécurisé (Schannel) définis par application par WinHttpSetOption.

Vous pouvez ajouter l’entrée de DefaultSecureProtocols Registre dans le chemin d’accès suivant :

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

Sur les ordinateurs x64, vous devez également ajouter DefaultSecureProtocols au chemin d’accès Wow6432Node :

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

La valeur de Registre est une bitmap DWORD. La valeur à utiliser est déterminée en ajoutant les valeurs correspondant aux protocoles souhaités.

Valeur DefaultSecureProtocols Protocole activé
0x00000008 Activer SSL 2.0 par défaut
0x00000020 Activer SSL 3.0 par défaut
0x00000080 Activer TLS 1.0 par défaut
0x00000200 Activer TLS 1.1 par défaut
0x00000800 Activer TLS 1.2 par défaut

Par exemple, si vous souhaitez remplacer les valeurs par défaut pour WINHTTP_OPTION_SECURE_PROTOCOLS de spécifier TLS 1.1 et TLS 1.2. Dans ce cas, prenez la valeur de TLS 1.1 (0x00000200) et la valeur de TLS 1.2 (0x00000800), ajoutez-les ensemble dans la calculatrice (en mode programmeur) et la valeur de Registre résultante serait 0x00000A00.

WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT

Récupère le certificat d’un serveur SSL/TLS dans la structure WINHTTP_CERTIFICATE_INFO . L’application doit libérer les membres lpszSubjectInfo et lpszIssuerInfo avec LocalFree.

WINHTTP_OPTION_SECURITY_FLAGS

Définit ou récupère une valeur entière longue non signée qui contient les indicateurs de sécurité d’un handle. Il peut s’agir d’une combinaison de ces valeurs :

Terme Description
SECURITY_FLAG_IGNORE_CERT_CN_INVALID Autorise un nom commun non valide dans un certificat ; autrement dit, le nom de serveur spécifié par l’application ne correspond pas au nom commun dans le certificat. Si cet indicateur est défini, l’application ne reçoit pas de rappel WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID .
SECURITY_FLAG_IGNORE_CERT_DATE_INVALID Autorise une date de certificat non valide, c’est-à-dire un certificat expiré ou non encore effectif. Si cet indicateur est défini, l’application ne reçoit pas de rappel WINHTTP_CALLBACK_STATUS_FLAG_CERT_DATE_INVALID .
SECURITY_FLAG_IGNORE_UNKNOWN_CA Autorise une autorité de certification non valide. Si cet indicateur est défini, l’application ne reçoit pas de rappel WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CA .
SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE Permet d’établir l’identité d’un serveur avec un certificat non-serveur (par exemple, un certificat client).
SECURITY_FLAG_IGNORE_WEAK_SIGNATURE Permet d’ignorer une signature faible.
Cet indicateur est disponible dans la mise à jour cumulative pour chaque système d’exploitation à partir de Windows 7 et Windows Server 2008 R2.
SECURITY_FLAG_SECURE Utilise des transferts sécurisés. Cette valeur est uniquement retournée dans un appel à WinHttpQueryOption.
SECURITY_FLAG_STRENGTH_MEDIUM Utilise un chiffrement moyen (56 bits). Cette valeur est uniquement retournée dans un appel à WinHttpQueryOption.
SECURITY_FLAG_STRENGTH_STRONG Utilise un chiffrement fort (128 bits). Cette valeur est uniquement retournée dans un appel à WinHttpQueryOption.
SECURITY_FLAG_STRENGTH_WEAK Utilise un chiffrement faible (40 bits). Cette valeur est uniquement retournée dans un appel à WinHttpQueryOption.

WINHTTP_OPTION_SECURITY_INFO

Récupère les informations de chiffrement et de connexion SChannel pour une demande.

WINHTTP_OPTION_SECURITY_KEY_BITNESS

Récupère une valeur entière longue non signée qui contient la force de chiffrement de la clé de chiffrement. Un nombre plus élevé indique un chiffrement de force de chiffrement plus fort.

WINHTTP_OPTION_SEND_TIMEOUT

Définit ou récupère une valeur entière longue non signée qui contient la valeur de délai d’attente, en millisecondes, pour envoyer une demande ou écrire des données. Si l’envoi de la demande prend plus de temps que le délai d’expiration, l’opération d’envoi est annulée. Le délai d’expiration par défaut est de 30 secondes.

WINHTTP_OPTION_SERVER_CBT

Obtient un pointeur vers SecPkgContext_Bindings structure qui spécifie un jeton de liaison de canal (CBT).

Un jeton de liaison de canal est une propriété d’un canal de transport sécurisé et est utilisé pour lier un canal d’authentification au canal de transport sécurisé. Ce jeton ne peut être obtenu par cette option qu’après l’établissement d’une connexion SSL.

Notes

Le passage de cette option et d’une valeur null pour lpBuffer à WinHttpQueryOption retourne ERROR_INSUFFICIENT_BUFFER et la taille d’octet requise pour la mémoire tampon dans le paramètre lpdwBufferLength . Cette valeur de taille de mémoire tampon retournée peut être passée dans un appel ultérieur pour interroger le jeton de liaison de canal. Ces étapes sont nécessaires lors de la gestion des WINHTTP_CALLBACK_STATUS_REQUEST si vous souhaitez modifier les en-têtes de requête en fonction du jeton de liaison de canal. Notez que Windows XP et Vista ne prennent pas en charge la modification des en-têtes de requête pendant ce rappel.

WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT

Récupère le contexte de chaîne de certification du serveur. WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT peuvent être passés pour obtenir un pointeur dupliqué vers le CERT_CHAIN_CONTEXT pour une chaîne de certificats de serveur reçue lors d’une connexion SSL négociée. Le client doit appeler CertFreeCertificateContext sur le pointeur de PCCERT_CONTEXT retourné qui est rempli dans la mémoire tampon.

WINHTTP_OPTION_SERVER_CERT_CONTEXT

Récupère le contexte de certification du serveur. WINHTTP_OPTION_SERVER_CERT_CONTEXT peuvent être passés pour obtenir un pointeur dupliqué vers le contexte de certificat de certificat pour un certificat de serveur reçu lors d’une connexion SSL négociée. Le client doit appeler CertFreeCertificateContext sur le pointeur de PCCERT_CONTEXT retourné qui est rempli dans la mémoire tampon.

WINHTTP_OPTION_SERVER_SPN_USED

Obtient le nom du principal du serveur que WinHTTP a fourni à SSPI lors de l’authentification. Cette valeur de chaîne peut être transmise à SspiPromptForCredentials après un échec d’authentification.

WINHTTP_OPTION_SPN

Inclut ou supprime le numéro de port du serveur lorsque le SPN (nom du principal de service) est généré pour l’authentification Kerberos ou négocier l’authentification Kerberos. Cet indicateur est l’une des valeurs suivantes :

Terme Description
WINHTTP_DISABLE_SPN_SERVER_PORT Supprime le numéro de port du serveur.
WINHTTP_ENABLE_SPN_SERVER_PORT Inclut le numéro de port du serveur.

WINHTTP_OPTION_STREAM_ERROR_CODE

Cette option peut être interrogée sur un handle de requête WinHttp et retourne le code d’erreur indiqué par une image RST_STREAM reçue sur un flux HTTP.

WINHTTP_OPTION_TCP_FAST_OPEN

Active TCP Fast Open pour la connexion.

WINHTTP_OPTION_TCP_KEEPALIVE

Cette option peut être définie sur un handle de session WinHttp pour activer le comportement de conservation TCP sur le socket sous-jacent. Prend un struct tcp_keepalive .

WINHTTP_OPTION_TLS_FALSE_START

Active le faux démarrage TLS pour la connexion.

WINHTTP_OPTION_TCP_PRIORITY_STATUS

Interrogez la priorité suggérée du jeu de sockets TCP avec WINHTTP_OPTION_TCP_PRIORITY_HINT. Pour plus d’informations, consultez la documentation relative aux SIO_SET_PRIORITY_HINT .

WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK

Cette option peut être définie sur un handle de session WinHttp pour contrôler si le secours à TLS 1.0 est autorisé en cas d’échec de l’établissement d’une liaison TLS avec une version de protocole plus récente.

WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT

Prend un événement qui sera défini lorsque le dernier rappel est terminé pour une session particulière. Cet indicateur doit être utilisé sur un handle de session. L’événement ne peut pas être fermé tant qu’il n’a pas été défini par WinHTTP.

WINHTTP_OPTION_UNSAFE_HEADER_PARSING

Cette option est réservée à un usage interne et ne doit pas être appelée.

WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET

Indique à la pile de démarrer un processus d’établissement de liaison WebSocket avec WinHttpSendRequest. Cette option ne prend aucun paramètre.

WINHTTP_OPTION_URL

Récupère une valeur de chaîne qui contient l’URL complète d’une ressource téléchargée. Si l’URL d’origine contenait des données supplémentaires, telles que des chaînes de recherche ou des ancres, ou si l’appel a été redirigé, l’URL retournée diffère de l’url d’origine. L’application doit transmettre une mémoire tampon, dimensionnée en octets, qui est suffisamment grande pour contenir l’URL retournée en caractères larges.

WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS

Prend un BOOL et ne peut être défini qu’un handle de session. Elle se propage uniquement aux handles créés à partir du handle de session une fois que l’option a été définie. Si la valeur est TRUE, cette option entraîne en dernier recours l’utilisation d’informations d’identification globales du serveur qui ont été poussées vers le bas à partir de WinInet. La valeur par défaut de cette option est FALSE. Cette option nécessite la clé de Registre HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings! ShareCredsWithWinHttp. Cette clé de Registre n’est pas présente par défaut. Lorsqu’il est défini, WinINet envoie les informations d’identification à WinHTTP. Chaque fois que WinHttp reçoit un défi d’authentification et s’il n’y a pas d’informations d’identification définies sur le handle actuel, il utilise les informations d’identification fournies par WinINet.

WINHTTP_OPTION_USE_SESSION_SCH_CRED

Permet de définir des informations d’identification uniques à utiliser par défaut pour tous les points de terminaison au sein de la session au lieu d’avoir des informations d’identification par défaut par point de terminaison. Cela peut améliorer les performances en réduisant la surcharge de gestion des informations d’identification. Notez que ces informations d’identification par défaut n’auront aucun effet lorsqu’un certificat client est fourni explicitement.

WINHTTP_OPTION_USER_AGENT

Définit ou récupère la chaîne de l’agent utilisateur sur les handles fournis par WinHttpOpen et utilisés dans les fonctions WinHttpSendRequest suivantes, tant qu’elle n’est pas remplacée par un en-tête ajouté par WinHttpAddRequestHeaders ou WinHttpSendRequest. Lors de la récupération d’un agent utilisateur, l’application doit passer une mémoire tampon, dimensionnée en octets, qui est suffisamment grande pour contenir l’URL retournée en caractères larges. Lorsque vous définissez l’agent utilisateur, la taille de la mémoire tampon correspond à la longueur de la chaîne, en caractères, plus la terminaison NULL .

WINHTTP_OPTION_USERNAME

Définit ou récupère une chaîne qui contient le nom d’utilisateur.

WINHTTP_OPTION_WEB_SOCKET_CLOSE_TIMEOUT

Définit l’heure, en millisecondes, pendant laquelle WinHttpWebSocketClose doit attendre pour terminer la négociation de fermeture. La valeur par défaut est 10 secondes.

WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL

Définit l’intervalle, en millisecondes, pour envoyer un paquet keep-alive via la connexion. L’intervalle par défaut est de 30 000 (30 secondes). L’intervalle minimal est de 15000 (15 secondes). L’utilisation de WinHttpSetOption pour définir une valeur inférieure à 15 000 retourne avec ERROR_INVALID_PARAMETER.

Notes

La valeur par défaut pour WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL est lue à partir de HKLM:\SOFTWARE\Microsoft\WebSocket\KeepaliveInterval. Si une valeur n’est pas définie, la valeur par défaut de 30000 est utilisée. Il n’est pas possible d’avoir un intervalle de conservation inférieur à 15 000 millisecondes.

WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE

Définit ou récupère un DWORD qui spécifie la taille de mémoire tampon de réception à utiliser sur les connexions WebSocket.

WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE

Définit ou récupère un DWORD qui spécifie la taille de mémoire tampon d’envoi à utiliser sur les connexions WebSocket.

WINHTTP_OPTION_WORKER_THREAD_COUNT

Définit une valeur entière longue non signée qui spécifie le nombre de threads de travail que le pool de threads doit utiliser pour les achèvements asynchrones. La valeur par défaut de cette option est zéro, ce qui spécifie que le nombre de threads de travail est égal au nombre de processeurs sur le système. Cette option ne peut être définie que sur un handle HINTERNETNULL avant qu’une opération asynchrone ne se produise. Cette option ne peut être définie qu’une seule fois.

S’applique à : Windows 7 et versions ultérieures ; Windows Server 2008 R2 et versions ultérieures.

WINHTTP_OPTION_WRITE_BUFFER_SIZE

Cette option est déconseillée ; elle n’a aucun effet.

Notes

Le tableau suivant répertorie les indicateurs d’option en spécifiant les handles sur lesquels ils peuvent agir, s’ils peuvent être interrogés et définis, et le type de données utilisé. Un « X » indique que l’indicateur d’option est valide pour une utilisation avec la fonction ou le handle, tandis qu’un « - » spécifie que l’indicateur d’option n’est pas valide.

Si vous tentez de définir ou d’interroger un indicateur d’option sur une version de Windows où elle n’est pas prise en charge, ERROR_WINHTTP_INVALID_OPTION.

Indicateur d’option et type de données Handle de session Handle de demande Option de requête Option Set Version minimale 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 version 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 version 1903
WINHTTP_OPTION_CONNECTION_STATS_V1
TCP_INFO_v1
- X X - Windows 10 version 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 version 21H1
WINHTTP_OPTION_DISABLE_FEATURE
DWORD
- X - X -
WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK
BOOL
X - - X Windows 10 version 1903
WINHTTP_OPTION_DISABLE_STREAM_QUEUE
BOOL
X X - X Windows 10 version 1809
WINHTTP_OPTION_ENABLE_FEATURE
DWORD
* * - X -
WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL
DWORD
X X - X Windows 10 version 1607
WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT_CONTEXT
BOOL
X - - X Windows 10 version 21H1
WINHTTP_OPTION_ENABLETRACING
DWORD
- - X X -
WINHTTP_OPTION_ENCODE_EXTRA
BOOL
X X - X Windows 10 version 1803
WINHTTP_OPTION_EXPIRE_CONNECTION
N/A
- X - X Windows 10 version 1903
WINHTTP_OPTION_EXTENDED_ERROR
DWORD
X X X - -
WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION
BOOL
X - - X Windows 10 version 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 version 1903
WINHTTP_OPTION_HTTP_PROTOCOL_USED
DWORD
- X X - Windows 10 version 1607
WINHTTP_OPTION_HTTP_VERSION
HTTP_VERSION_INFO
X X X X -
WINHTTP_OPTION_HTTP2_KEEPALIVE
DWORD
X - - X Windows 10 version 21H1
WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING
BOOL
X X - X Windows 10 version 21H1
WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE
BOOL
- X - X Windows 10 version 2004
WINHTTP_OPTION_IPV6_FAST_FALLBACK
BOOL
X - - X Windows 10 version 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 version 1903
WINHTTP_OPTION_REQUEST_TIMES
WINHTTP_REQUEST_TIMES
- X X - Windows 10 version 1903
WINHTTP_OPTION_REQUIRE_STREAM_END
BOOL
X X - X Windows 10 version 21H1
WINHTTP_OPTION_RESOLUTION_HOSTNAME
LPWSTR
- X - X Windows 10 version 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 version 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 version 2004
WINHTTP_OPTION_SERVER_CERT_CONTEXT
CONTEXTE CERT
- 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 version 21H1
WINHTTP_OPTION_TCP_FAST_OPEN
BOOL
X - - X Windows 10 version 2004
WINHTTP_OPTION_TCP_KEEPALIVE
tcp_keepalive
X - - X Windows 10 version 2004
WINHTTP_OPTION_TLS_FALSE_START
BOOL
X - - X Windows 10 version 2004
WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK
BOOL
X - - X Windows 10 version 21H1
WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT
HINTERNET
X - - X -
WINHTTP_OPTION_UNSAFE_HEADER_PARSING
DWORD
- X - X -
WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET
N/A
- 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 -

Notes

Pour Windows XP et Windows 2000, consultez Exigences au moment de l’exécution.

Spécifications

Condition requise Valeur
Client minimal pris en charge Windows XP, Windows 2000 Professionnel avec SP3 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003, Windows 2000 Server avec SP3 [applications de bureau uniquement]
Composant redistribuable WinHTTP 5.0 et Internet Explorer 5.01 ou version ultérieure sur Windows XP et Windows 2000.
En-tête Winhttp.h

Voir aussi