Funzione InternetSetStatusCallbackW (wininet.h)
La funzione InternetSetStatusCallback configura una funzione di callback che le funzioni WinINet possono chiamare durante un'operazione.
Sintassi
INTERNET_STATUS_CALLBACK InternetSetStatusCallbackW(
HINTERNET hInternet,
INTERNET_STATUS_CALLBACK lpfnInternetCallback
);
Parametri
hInternet
Handle per il quale il callback è impostato.
lpfnInternetCallback
Puntatore alla funzione di callback da chiamare quando viene effettuato lo stato di avanzamento o 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 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 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. Una funzione di callback può essere modificata usando InternetSetStatusCallback, fornendo che non sono 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 in 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. Ogni operazione può richiedere tempo per completare 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 dello stato Internet che non può essere rimossa a condizione che qualsiasi callback o qualsiasi funzione asincrona sia in sospeso.
Dopo l'avvio di InternetSetStatusCallback, la funzione di callback può essere accessibile dall'interno di qualsiasi funzione WinINet per il monitoraggio delle operazioni di rete con utilizzo intensivo del tempo.
Nota La funzione di callback specificata nel parametro lpfnInternetCallback non verrà chiamata sulle operazioni asincrone per l'handle della 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 dall'interno di DllMain o dai costruttori e distruttori degli oggetti globali.
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 preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.
Requisiti
Requisito | Valore |
---|---|
Intestazione | wininet.h |