Funzione InternetSetStatusCallbackA (wininet.h)

La funzione InternetSetStatusCallback configura una funzione di callback che le funzioni WinINet possono chiamare durante un'operazione.

Sintassi

INTERNET_STATUS_CALLBACK InternetSetStatusCallbackA(
  HINTERNET                hInternet,
  INTERNET_STATUS_CALLBACK lpfnInternetCallback
);

Parametri

hInternet

Handle per il quale viene impostato il callback.

lpfnInternetCallback

Puntatore alla funzione di callback da chiamare quando viene eseguito lo stato di avanzamento oppure NULL per rimuovere la funzione di callback esistente. Per altre informazioni sulla funzione di callback, vedere InternetStatusCallback.

Valore restituito

Restituisce la funzione di callback di stato definita in precedenza se ha avuto esito positivo, NULL se non esiste una funzione di callback di stato definita in precedenza o INTERNET_INVALID_STATUS_CALLBACK se la funzione di callback non è valida.

Commenti

Entrambe le funzioni sincrone e asincrone usano la funzione di callback per indicare lo stato di avanzamento della richiesta, ad esempio la risoluzione di un nome, la connessione a un server e così via. La funzione di callback è necessaria per un'operazione asincrona. La richiesta asincrona verrà richiamata all'applicazione con INTERNET_STATUS_REQUEST_COMPLETE per indicare che la richiesta è stata completata.

Una funzione di callback può essere impostata su qualsiasi handle e viene ereditata da handle derivati. È possibile modificare una funzione di callback usando InternetSetStatusCallback, purché non siano presenti richieste in sospeso che devono usare il valore di callback precedente. Si noti, tuttavia, che la modifica della funzione di callback in un handle non modifica i callback negli handle derivati, ad esempio quelli restituiti da InternetConnect. È necessario modificare la funzione di callback a ogni livello.

Molte delle funzioni WinINet eseguono diverse operazioni sulla rete. Il completamento di ogni operazione può richiedere tempo e ogni operazione può avere esito negativo.

A volte è consigliabile visualizzare le informazioni sullo stato durante un'operazione a lungo termine. È possibile visualizzare le informazioni sullo stato configurando una funzione di callback di stato Internet che non può essere rimossa purché siano in sospeso qualsiasi callback o qualsiasi funzione asincrona.

Dopo l'avvio di InternetSetStatusCallback, è possibile accedere alla funzione di callback dall'interno di qualsiasi funzione WinINet per il monitoraggio di operazioni di rete a elevato utilizzo di tempo.

Nota La funzione di callback specificata nel parametro lpfnInternetCallback non verrà chiamata nelle operazioni asincrone per l'handle di richiesta quando il parametro dwContext di HttpOpenRequest è impostato su zero (INTERNET_NO_CALLBACK) o l'handle di connessione quando l'handle dwContext di InternetConnect è impostato su zero (INTERNET_NO_CALLBACK).

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

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

Nota

L'intestazione wininet.h definisce InternetSetStatusCallback come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
Intestazione wininet.h

Vedi anche

Funzioni comuni

InternetStatusCallback

Funzioni WinINet