Partager via


Fonction InternetCloseHandle (wininet.h)

Ferme un descripteur Internet unique.

Syntaxe

BOOL InternetCloseHandle(
  [in] HINTERNET hInternet
);

Paramètres

[in] hInternet

Handle à fermer.

Valeur retournée

Retourne TRUE si le handle est correctement fermé, ou FALSE dans le cas contraire. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

La fonction met fin à toutes les opérations en attente sur le handle et ignore toutes les données en attente.

Il est possible d’appeler InternetCloseHandle en toute sécurité tant qu’aucun appel d’API n’est effectué ou ne sera effectué à l’aide du handle. Une fois qu’une API a retourné ERROR_IO_PENDING, il est possible d’appeler InternetCloseHandle en toute sécurité pour annuler ces E/S, tant qu’aucun appel d’API suivant n’est émis avec le handle.

Il est sûr d’appeler InternetCloseHandle dans un rappel pour le handle en cours de fermeture. S’il existe un rappel status inscrit pour le handle en cours de fermeture et que le handle a été créé avec une valeur de contexte non NULL, un rappel INTERNET_STATUS_HANDLE_CLOSING est effectué. Cette indication sera le dernier rappel effectué à partir d’un handle et indique que le handle est en cours de destruction.

Si des requêtes asynchrones sont en attente pour le handle ou l’un de ses handles enfants, le handle ne peut pas être fermé immédiatement, mais il est invalidé. Toutes les nouvelles demandes tentées à l’aide du handle sont retournées avec une notification ERROR_INVALID_HANDLE. Les requêtes asynchrones se terminent par INTERNET_STATUS_REQUEST_COMPLETE. Les demandes doivent être prêtes à recevoir toutes les indications INTERNET_STATUS_REQUEST_COMPLETE sur le handle avant que l’indication INTERNET_STATUS_HANDLE_CLOSING finale soit faite, qui indique que le handle est complètement fermé.

Une application peut appeler GetLastError pour déterminer si les demandes sont en attente. Si GetLastError retourne ERROR_IO_PENDING, il y avait des demandes en attente lorsque le handle a été fermé.

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.

Note WinINet ne prend pas en charge les implémentations de serveur. En outre, il ne doit pas être utilisé à partir d’un service. Pour les implémentations de serveur ou les services, utilisez Microsoft Windows HTTP Services (WinHTTP).
 

Configuration requise

   
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

Voir aussi

Activation des fonctionnalités Internet

FtpFindFirstFile

FtpOpenFile

GopherFindFirstFile

HttpOpenRequest

InternetConnect

Fonctions WinINet