Função InternetSetStatusCallback (wininet.h)

A função InternetSetStatusCallback configura uma função de retorno de chamada que as funções WinINet podem chamar à medida que o progresso é feito durante uma operação.

Sintaxe

INTERNET_STATUS_CALLBACK InternetSetStatusCallback(
  [in] HINTERNET                hInternet,
  [in] INTERNET_STATUS_CALLBACK lpfnInternetCallback
);

Parâmetros

[in] hInternet

O identificador para o qual o retorno de chamada está definido.

[in] lpfnInternetCallback

Um ponteiro para a função de retorno de chamada a ser chamada quando o progresso for feito ou NULL para remover a função de retorno de chamada existente. Para obter mais informações sobre a função de retorno de chamada, consulte InternetStatusCallback.

Retornar valor

Retorna a função de retorno de chamada status definida anteriormente se tiver êxito, NULL se não houver nenhuma função de retorno de chamada status definida anteriormente ou INTERNET_INVALID_STATUS_CALLBACK se a função de retorno de chamada não for válida.

Comentários

As funções síncronas e assíncronas usam a função de retorno de chamada para indicar o progresso da solicitação, como resolver um nome, conectar-se a um servidor e assim por diante. A função de retorno de chamada é necessária para uma operação assíncrona. A solicitação assíncrona chamará de volta para o aplicativo com INTERNET_STATUS_REQUEST_COMPLETE para indicar que a solicitação foi concluída.

Uma função de retorno de chamada pode ser definida em qualquer identificador e é herdada por identificadores derivados. Uma função de retorno de chamada pode ser alterada usando InternetSetStatusCallback, desde que não haja solicitações pendentes que precisem usar o valor de retorno de chamada anterior. No entanto, observe que alterar a função de retorno de chamada em um identificador não altera os retornos de chamada em identificadores derivados, como os retornados pelo InternetConnect. Você deve alterar a função de retorno de chamada em cada nível.

Muitas das funções WinINet executam várias operações na rede. Cada operação pode levar tempo para ser concluída e cada uma pode falhar.

Às vezes, é desejável exibir status informações durante uma operação de longo prazo. Você pode exibir status informações configurando uma função de retorno de chamada de status da Internet que não pode ser removida, desde que quaisquer retornos de chamada ou funções assíncronas estejam pendentes.

Depois de iniciar InternetSetStatusCallback, a função de retorno de chamada pode ser acessada de dentro de qualquer função WinINet para monitorar operações de rede com uso intensivo de tempo.

Nota A função de retorno de chamada especificada no parâmetro lpfnInternetCallback não será chamada em operações assíncronas para o identificador de solicitação quando o parâmetro dwContext de HttpOpenRequest for definido como zero (INTERNET_NO_CALLBACK) ou o identificador de conexão quando o identificador dwContext de InternetConnect estiver definido como zero (INTERNET_NO_CALLBACK).

Como todos os outros aspectos da API WinINet, essa função não pode ser chamada com segurança de dentro de DllMain ou dos construtores e destruidores de objetos globais.

Nota O WinINet não dá suporte a implementações de servidor. Além disso, ele não deve ser usado de um serviço. Para implementações de servidor ou serviços, use Os Serviços HTTP do Microsoft Windows (WinHTTP).
 

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wininet.h
Biblioteca Wininet.lib
DLL Wininet.dll

Confira também

Funções comuns

InternetStatusCallback

Funções WinINet