Fonction InternetOpenW (wininet.h)
Initialise l’utilisation des fonctions WinINet par une application.
Syntaxe
HINTERNET InternetOpenW(
[in] LPCWSTR lpszAgent,
[in] DWORD dwAccessType,
[in] LPCWSTR lpszProxy,
[in] LPCWSTR lpszProxyBypass,
[in] DWORD dwFlags
);
Paramètres
[in] lpszAgent
Pointeur vers une chaîne terminée par null qui spécifie le nom de l’application ou de l’entité appelant les fonctions WinINet. Ce nom est utilisé comme agent utilisateur dans le protocole HTTP.
[in] dwAccessType
Type d’accès requis. Ce paramètre peut prendre les valeurs suivantes.
Valeur | Signification |
---|---|
|
Résout tous les noms d’hôte localement. |
|
Récupère le proxy ou la configuration directe à partir du Registre. |
|
Récupère le proxy ou la configuration directe à partir du Registre et empêche l’utilisation d’un fichier Microsoft JScript ou Internet Setup (INS) de démarrage. |
|
Transmet les demandes au proxy, sauf si une liste de contournement de proxy est fournie et que le nom à résoudre contourne le proxy. Dans ce cas, la fonction utilise INTERNET_OPEN_TYPE_DIRECT. |
[in] lpszProxy
Pointeur vers une chaîne terminée par null qui spécifie le nom du ou des serveurs proxy à utiliser lorsque l’accès au proxy est spécifié en définissant dwAccessTypesur INTERNET_OPEN_TYPE_PROXY. N’utilisez pas de chaîne vide, car InternetOpen l’utilisera comme nom de proxy. Les fonctions WinINet reconnaissent uniquement les proxys de type CERN (HTTP uniquement) et la passerelle FTP TIS (FTP uniquement). Si Microsoft Internet Explorer est installé, ces fonctions prennent également en charge les proxys SOCKS. Les requêtes FTP peuvent être effectuées via un proxy de type CERN en les remplaçant par une requête HTTP ou à l’aide d’InternetOpenUrl. Si dwAccessType n’est pas défini sur INTERNET_OPEN_TYPE_PROXY, ce paramètre est ignoré et doit avoir la valeur NULL. Pour plus d’informations sur la liste des serveurs proxy, consultez la section Liste des serveurs proxy dans Activation des fonctionnalités Internet.
[in] lpszProxyBypass
Pointeur vers une chaîne terminée par null qui spécifie une liste facultative de noms d’hôtes ou d’adresses IP, ou les deux, qui ne doivent pas être routées via le proxy lorsque dwAccessType est défini sur INTERNET_OPEN_TYPE_PROXY. La liste peut contenir des caractères génériques. N’utilisez pas de chaîne vide, car InternetOpen l’utilisera comme liste de contournement du proxy. Si ce paramètre spécifie la macro «< local> », la fonction contourne le proxy pour tout nom d’hôte qui ne contient pas de point.
Par défaut, WinINet contourne le proxy pour les requêtes qui utilisent les noms d’hôte « localhost », « bouclage », « 127.0.0.1 » ou « [ ::1] ». Ce comportement existe, car un serveur proxy distant ne résout généralement pas correctement ces adresses. Internet Explorer 9 : vous pouvez supprimer l’ordinateur local de la liste de contournement du proxy à l’aide de la macro «< -bouclage> ».
Si dwAccessType n’est pas défini sur INTERNET_OPEN_TYPE_PROXY, ce paramètre est ignoré et doit avoir la valeur NULL.
[in] dwFlags
Options. Ce paramètre peut être une combinaison des valeurs suivantes.
Valeur | Signification |
---|---|
|
Effectue uniquement les requêtes asynchrones sur les handles descendant du handle retourné par cette fonction. |
|
N’effectue pas de demandes réseau. Toutes les entités sont retournées à partir du cache. Si l’élément demandé n’est pas dans le cache, une erreur appropriée, telle que ERROR_FILE_NOT_FOUND, est retournée. |
|
Identique à INTERNET_FLAG_FROM_CACHE. N’effectue pas de demandes réseau. Toutes les entités sont retournées à partir du cache. Si l’élément demandé n’est pas dans le cache, une erreur appropriée, telle que ERROR_FILE_NOT_FOUND, est retournée. |
Valeur retournée
Retourne un handle valide que l’application transmet aux fonctions WinINet suivantes. En cas d’échec d’InternetOpen , elle retourne NULL. Pour récupérer un message d’erreur spécifique, appelez GetLastError.
Remarques
InternetOpen est la première fonction WinINet appelée par une application. Il indique à la DLL Internet d’initialiser les structures de données internes et de préparer les appels futurs à partir de l’application. Lorsque l’application a terminé d’utiliser les fonctions Internet, elle doit appeler InternetCloseHandle pour libérer le handle et toutes les ressources associées.
L’application peut effectuer n’importe quel nombre d’appels à InternetOpen, bien qu’un seul appel soit normalement suffisant. L’application peut avoir besoin de définir des comportements distincts pour chaque instance InternetOpen, par exemple des serveurs proxy différents configurés pour chacun d’eux.
Une fois que l’application appelante a terminé d’utiliser le handle HINTERNET retourné par InternetOpen, elle doit être fermée à l’aide de la fonction InternetCloseHandle .
Comme tous les autres aspects de l’API WinINet, cette fonction ne peut pas être appelée en toute sécurité à partir de DllMain ou des constructeurs et destructeurs d’objets globaux.
Notes
L’en-tête wininet.h définit InternetOpen comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | wininet.h |
Bibliothèque | Wininet.lib |
DLL | Wininet.dll |