Función InternetSetStatusCallback (wininet.h)
La función InternetSetStatusCallback configura una función de devolución de llamada a la que las funciones winINet pueden llamar a medida que se realiza el progreso durante una operación.
Sintaxis
INTERNET_STATUS_CALLBACK InternetSetStatusCallback(
[in] HINTERNET hInternet,
[in] INTERNET_STATUS_CALLBACK lpfnInternetCallback
);
Parámetros
[in] hInternet
Identificador para el que se establece la devolución de llamada.
[in] lpfnInternetCallback
Puntero a la función de devolución de llamada que se va a llamar cuando se realiza el progreso o NULL para quitar la función de devolución de llamada existente. Para obtener más información sobre la función de devolución de llamada, vea InternetStatusCallback.
Valor devuelto
Devuelve la función de devolución de llamada de estado definida anteriormente si se ejecuta correctamente, NULL si no había ninguna función de devolución de llamada de estado definida previamente o INTERNET_INVALID_STATUS_CALLBACK si la función de devolución de llamada no es válida.
Comentarios
Tanto las funciones sincrónicas como asincrónicas usan la función de devolución de llamada para indicar el progreso de la solicitud, como resolver un nombre, conectarse a un servidor, etc. La función de devolución de llamada es necesaria para una operación asincrónica. La solicitud asincrónica volverá a llamar a la aplicación con INTERNET_STATUS_REQUEST_COMPLETE para indicar que se ha completado la solicitud.
Una función de devolución de llamada se puede establecer en cualquier identificador y se hereda por identificadores derivados. Se puede cambiar una función de devolución de llamada mediante InternetSetStatusCallback, siempre que no haya solicitudes pendientes que necesiten usar el valor de devolución de llamada anterior. Sin embargo, tenga en cuenta que cambiar la función de devolución de llamada en un identificador no cambia las devoluciones de llamada en identificadores derivados, como las deVueltas por InternetConnect. Debe cambiar la función de devolución de llamada en cada nivel.
Muchas de las funciones de WinINet realizan varias operaciones en la red. Cada operación puede tardar tiempo en completarse y cada una puede producir un error.
A veces es conveniente mostrar información de estado durante una operación a largo plazo. Puede mostrar información de estado configurando una función de devolución de llamada de estado de Internet que no se puede quitar siempre y cuando haya devoluciones de llamada o funciones asincrónicas pendientes.
Después de iniciar InternetSetStatusCallback, se puede acceder a la función de devolución de llamada desde cualquier función winINet para supervisar las operaciones de red que consumen mucho tiempo.
Nota No se llamará a la función de devolución de llamada especificada en el parámetro lpfnInternetCallback en operaciones asincrónicas para el identificador de solicitud cuando el parámetro dwContext de HttpOpenRequest esté establecido en cero (INTERNET_NO_CALLBACK) o el identificador de conexión cuando el identificador dwContext de InternetConnect esté establecido en cero (INTERNET_NO_CALLBACK).
Al igual que todos los demás aspectos de la API de WinINet, esta función no se puede llamar de forma segura desde DllMain ni desde los constructores y destructores de objetos globales.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | wininet.h |
Library | Wininet.lib |
Archivo DLL | Wininet.dll |