Fonction WinHttpSetOption (winhttp.h)

La fonction WinHttpSetOption définit une option Internet.

Syntaxe

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

Paramètres

[in] hInternet

Le handle HINTERNET sur lequel définir des données. N’oubliez pas qu’il peut s’agir d’un handle de session ou d’un handle de demande, en fonction de l’option définie. Pour plus d’informations sur la façon de déterminer le handle approprié à utiliser pour définir une option particulière, consultez indicateurs d’option.

[in] dwOption

Valeur entière longue non signée qui contient l’option Internet à définir. Il peut s’agir de l’une des valeurs d’indicateurs d’option .

[in] lpBuffer

Pointeur vers une mémoire tampon qui contient le paramètre d’option.

[in] dwBufferLength

Valeur entière longue non signée qui contient la longueur de la mémoire tampon lpBuffer . La longueur de la mémoire tampon est spécifiée en caractères pour les options suivantes ; pour toutes les autres options, la longueur est spécifiée en octets.

Valeur retournée

Retourne LA valeur TRUE si elle réussit ou FALSE dans le cas contraire. Pour obtenir des informations d’erreur étendues, appelez GetLastError. Parmi les codes d’erreur retournés figurent les suivants :

Code d'erreur Description
ERROR_WINHTTP_INCORRECT_HANDLE_STATE
L’opération demandée ne peut pas être effectuée, car le handle fourni n’est pas dans l’état correct.
ERROR_WINHTTP_INCORRECT_HANDLE_TYPE
Le type de handle fourni est incorrect pour cette opération.
ERROR_WINHTTP_INTERNAL_ERROR
Une erreur interne s'est produite.
ERROR_WINHTTP_INVALID_OPTION
Une requête adressée à WinHttpQueryOption ou WinHttpSetOption a spécifié une valeur d’option non valide.
ERROR_INVALID_PARAMETER
Un paramètre n'est pas valide.

Cette valeur est retournée si WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL est défini sur une valeur inférieure à 15 000.

ERROR_WINHTTP_OPTION_NOT_SETTABLE
L’option demandée ne peut pas être définie, uniquement interrogée.
ERROR_INVALID_PARAMETER
Un paramètre n'est pas valide.

Cette valeur est retournée si WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL est défini sur une valeur inférieure à 15 000.

ERROR_NOT_ENOUGH_MEMORY
La mémoire disponible n’était pas suffisante pour effectuer l’opération demandée. (Code d’erreur Windows)

Remarques

Les informations d’identification passées à WinHttpSetOption peuvent être envoyées de manière inattendue en texte clair. Il est vivement recommandé d’utiliser WinHttpQueryAuthSchemes et WinHttpSetCredentials au lieu de WinHttpSetOption pour définir des informations d’identification.

Note Toutefois, lors de l’utilisation de l’authentification Passport, une application WinHTTP répondant à un code 407 status doit utiliser WinHttpSetOption pour fournir des informations d’identification de proxy plutôt que WinHttpSetCredentials. Cela est uniquement vrai lors de l’utilisation de l’authentification Passport ; dans toutes les autres circonstances, utilisez WinHttpSetCredentials.
 
Même lorsque WinHTTP est utilisé en mode asynchrone (c’est-à-dire, lorsque WINHTTP_FLAG_ASYNC a été défini dans WinHttpOpen), cette fonction fonctionne de manière synchrone. La valeur de retour indique la réussite ou l’échec. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

GetLastError retourne l’erreur ERROR_INVALID_PARAMETER si un indicateur d’option qui ne peut pas être défini est spécifié.

Pour plus d’informations et des exemples de code illustrant l’utilisation de WinHttpSetOption, consultez Authentification dans WinHTTP.

Note Pour Windows XP et Windows 2000, consultez la section Conditions d’exécution de la page de démarrage WinHttp.
 

Configuration requise

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]
Plateforme cible Windows
En-tête winhttp.h
Bibliothèque Winhttp.lib
DLL Winhttp.dll
Composant redistribuable WinHTTP 5.0 et Internet Explorer 5.01 ou version ultérieure sur Windows XP et Windows 2000.

Voir aussi

Authentification dans WinHTTP

Indicateurs d’option

WinHTTP Versions

WinHttpCloseHandle

WinHttpOpen

WinHttpQueryOption