INTERNET_STATUS_CALLBACK función de devolución de llamada (wininet.h)

Prototipo de una función de devolución de llamada de estado definida por la aplicación.

El tipo INTERNET_STATUS_CALLBACK define un puntero a esta función de devolución de llamada. InternetStatusCallback es un marcador de posición para el nombre de función definido por la aplicación.

Sintaxis

INTERNET_STATUS_CALLBACK InternetStatusCallback;

void InternetStatusCallback(
  [in] HINTERNET hInternet,
  [in] DWORD_PTR dwContext,
  [in] DWORD dwInternetStatus,
  [in] LPVOID lpvStatusInformation,
  [in] DWORD dwStatusInformationLength
)
{...}

Parámetros

[in] hInternet

Identificador para el que se llama a la función de devolución de llamada.

[in] dwContext

Puntero a una variable que especifica el valor de contexto definido por la aplicación asociado a hInternet.

[in] dwInternetStatus

Código de estado que indica por qué se llama a la función de devolución de llamada. Este parámetro puede ser uno de los valores siguientes.

Valor Significado
INTERNET_STATUS_CLOSING_CONNECTION
Cerrando la conexión al servidor. El parámetro lpvStatusInformation es NULL.
INTERNET_STATUS_CONNECTED_TO_SERVER
Se ha conectado correctamente a la dirección de socket (SOCKADDR) a la que apunta lpvStatusInformation.
INTERNET_STATUS_CONNECTING_TO_SERVER
Conexión a la dirección del socket (SOCKADDR) a la que apunta lpvStatusInformation.
INTERNET_STATUS_CONNECTION_CLOSED
Se ha cerrado correctamente la conexión al servidor. El parámetro lpvStatusInformation es NULL.
INTERNET_STATUS_COOKIE_HISTORY
Recuperar contenido de la memoria caché. Contiene datos sobre eventos de cookies anteriores para la dirección URL, como si las cookies se aceptaran, rechazaran, degradaron o se aplicaron una correa.

El parámetro lpvStatusInformation es un puntero a una estructura InternetCookieHistory .

INTERNET_STATUS_COOKIE_RECEIVED
Indica el número de cookies aceptadas, rechazadas, degradadas (cambiadas de cookies persistentes a de sesión) o de correas (solo se enviarán en el contexto de la primera parte). El parámetro lpvStatusInformation es un DWORD con el número de cookies recibidas.
INTERNET_STATUS_COOKIE_SENT
Indica el número de cookies enviadas o suprimidas, cuando se envía una solicitud. El parámetro lpvStatusInformation es un DWORD con el número de cookies enviadas o suprimidas.
INTERNET_STATUS_CTL_RESPONSE_RECEIVED
Sin implementar.
INTERNET_STATUS_DETECTING_PROXY
Notifica a la aplicación cliente que se ha detectado un proxy.
INTERNET_STATUS_HANDLE_CLOSING
Este valor de identificador se ha terminado. pvStatusInformation contiene la dirección del identificador que se está cerrando. El parámetro lpvStatusInformation contiene la dirección del identificador que se está cerrando.
INTERNET_STATUS_HANDLE_CREATED
Lo usa InternetConnect para indicar que ha creado el nuevo identificador. Esto permite que la aplicación llame a InternetCloseHandle desde otro subproceso, si la conexión tarda demasiado tiempo. El parámetro lpvStatusInformation contiene la dirección de un identificador HINTERNET .
INTERNET_STATUS_INTERMEDIATE_RESPONSE
Recibió un mensaje de código de estado intermedio (100 niveles) del servidor.
INTERNET_STATUS_NAME_RESOLVED
Encontró correctamente la dirección IP del nombre incluido en lpvStatusInformation. El parámetro lpvStatusInformation apunta a un PCTSTR que contiene el nombre de host.
INTERNET_STATUS_P3P_HEADER
La respuesta tiene un encabezado P3P en ella.
INTERNET_STATUS_P3P_POLICYREF
Sin implementar.
INTERNET_STATUS_PREFETCH
Sin implementar.
INTERNET_STATUS_PRIVACY_IMPACTED
Sin implementar.
INTERNET_STATUS_RECEIVING_RESPONSE
Esperando que el servidor responda a una solicitud. El parámetro lpvStatusInformation es NULL.
INTERNET_STATUS_REDIRECT
Una solicitud HTTP está a punto de redirigir automáticamente la solicitud. El parámetro lpvStatusInformation apunta a la nueva dirección URL. En este momento, la aplicación puede leer los datos devueltos por el servidor con la respuesta de redireccionamiento y puede consultar los encabezados de respuesta. También puede cancelar la operación cerrando el identificador. Esta devolución de llamada no se realiza si la solicitud original especificada INTERNET_FLAG_NO_AUTO_REDIRECT.
INTERNET_STATUS_REQUEST_COMPLETE
Se ha completado una operación asincrónica. El parámetro lpvStatusInformation contiene la dirección de una estructura de INTERNET_ASYNC_RESULT .
INTERNET_STATUS_REQUEST_SENT
Se ha enviado correctamente la solicitud de información al servidor. El parámetro lpvStatusInformation apunta a un valor DWORD que contiene el número de bytes enviados.
INTERNET_STATUS_RESOLVING_NAME
Buscar la dirección IP del nombre incluido en lpvStatusInformation. El parámetro lpvStatusInformation apunta a un PCTSTR que contiene el nombre de host.
INTERNET_STATUS_RESPONSE_RECEIVED
Se recibió correctamente una respuesta del servidor.
INTERNET_STATUS_SENDING_REQUEST
Enviando la solicitud de información al servidor. El parámetro lpvStatusInformation es NULL.
INTERNET_STATUS_STATE_CHANGE
Se ha movido entre un sitio seguro (HTTPS) y un sitio no seguro (HTTP). Se debe informar al usuario de este cambio; de lo contrario, el usuario corre el riesgo de revelar información confidencial de forma involuntaria. Cuando se establece esta marca, el parámetro lpvStatusInformation apunta a un estado DWORD que contiene marcas adicionales.

[in] lpvStatusInformation

Puntero a información de estado adicional. Cuando se establece la marca INTERNET_STATUS_STATE_CHANGE , lpvStatusInformation apunta a un DWORD que contiene una o varias de las marcas siguientes:

Valor Significado
INTERNET_STATE_CONNECTED
Estado conectado. Mutuamente excluyente con estado desconectado.
INTERNET_STATE_DISCONNECTED
Estado desconectado. No se pudo establecer ninguna conexión de red.
INTERNET_STATE_DISCONNECTED_BY_USER
Desconectado por solicitud de usuario.
INTERNET_STATE_IDLE
Windows Internet no realiza ninguna solicitud de red.
INTERNET_STATE_BUSY
Internet realiza solicitudes de red.
INTERNET_STATUS_USER_INPUT_REQUIRED
La solicitud requiere que se complete la entrada del usuario.

[in] dwStatusInformationLength

Tamaño, en bytes, de los datos a los que apunta lpvStatusInformation.

Valor devuelto

None

Observaciones

Dado que las devoluciones de llamada se realizan durante el procesamiento de la solicitud, la aplicación debe dedicar poco tiempo a la función de devolución de llamada para evitar degradar el rendimiento de los datos en la red. Por ejemplo, mostrar un cuadro de diálogo en una función de devolución de llamada puede ser una operación tan larga que el servidor finaliza la solicitud.

Se puede llamar a la función de devolución de llamada en un contexto de subproceso diferente del subproceso que inició la solicitud.

Precaución Notificar siempre al usuario cuando se produce un cambio de estado de un sitio seguro (HTTPS) a un sitio no seguro (HTTP), para protegerse contra la divulgación involuntaria de información.
 
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.
Nota WinINet no admite implementaciones de servidor. Además, no se debe usar desde un servicio. En el caso de las implementaciones de servidor o los servicios, use los servicios HTTP de Microsoft Windows (WinHTTP).
 

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

Consulte también

Operación asincrónica

Creación de funciones de devolución de llamada de estado

INTERNET_ASYNC_RESULT

Funciones de WinINet