Share via


Funzione InternetCloseHandle (wininet.h)

Chiude un singolo handle Internet.

Sintassi

BOOL InternetCloseHandle(
  [in] HINTERNET hInternet
);

Parametri

[in] hInternet

Handle da chiudere.

Valore restituito

Restituisce TRUE se l'handle è stato chiuso correttamente o FALSE in caso contrario. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

La funzione termina tutte le operazioni in sospeso sull'handle ed elimina tutti i dati in sospeso.

È sicuro chiamare InternetCloseHandle purché non vengano effettuate chiamate API o che vengano eseguite tramite l'handle. Una volta restituita un'API ERROR_IO_PENDING, è possibile chiamare InternetCloseHandle per annullare l'I/O, purché non vengano rilasciate chiamate API successive con l'handle.

È sicuro chiamare InternetCloseHandle in un callback per l'handle chiuso. Se è presente un callback di stato registrato per l'handle in fase di chiusura e l'handle è stato creato con un valore di contesto non NULL, verrà eseguito un callback INTERNET_STATUS_HANDLE_CLOSING . Questa indicazione sarà l'ultimo callback eseguito da un handle e indica che l'handle viene eliminato.

Se le richieste asincrone sono in sospeso per l'handle o uno dei relativi handle figlio, l'handle non può essere chiuso immediatamente, ma verrà invalidato. Tutte le nuove richieste tentate di usare l'handle restituiranno con una notifica di ERROR_INVALID_HANDLE . Le richieste asincrone verranno completate con INTERNET_STATUS_REQUEST_COMPLETE. Le applicazioni devono essere preparate per ricevere eventuali indicazioni INTERNET_STATUS_REQUEST_COMPLETE sull'handle prima che venga effettuata l'indicazione finale INTERNET_STATUS_HANDLE_CLOSING, che indica che l'handle è completamente chiuso.

Un'applicazione può chiamare GetLastError per determinare se le richieste sono in sospeso. Se GetLastError restituisce ERROR_IO_PENDING, sono state eseguite richieste in sospeso quando l'handle è stato chiuso.

Come tutti gli altri aspetti dell'API WinINet, questa funzione non può essere chiamata in modo sicuro dall'interno di DllMain o dai costruttori e distruttori degli oggetti globali.

Nota WinINet non supporta le implementazioni del server. Inoltre, non deve essere usato da un servizio. Per le implementazioni o i servizi server usano Microsoft Windows HTTP Services (WinHTTP).
 

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wininet.h
Libreria Wininet.lib
DLL Wininet.dll

Vedi anche

Abilitazione della funzionalità Internet

FtpFindFirstFile

FtpOpenFile

GopherFindFirstFile

HttpOpenRequest

InternetConnect

Funzioni WinINet