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.
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 |