PFN_WSK_DISCONNECT_EVENT función de devolución de llamada (wsk.h)
La función de devolución de llamada de eventos WskDisconnectEvent notifica a una aplicación WSK que la aplicación remota ha desconectado una conexión en un socket orientado a la conexión.
Sintaxis
PFN_WSK_DISCONNECT_EVENT PfnWskDisconnectEvent;
NTSTATUS PfnWskDisconnectEvent(
[in, optional] PVOID SocketContext,
[in] ULONG Flags
)
{...}
Parámetros
[in, optional] SocketContext
Puntero al contexto de socket para el socket orientado a la conexión que se ha desconectado. La aplicación WSK proporcionó este puntero al subsistema WSK de una de las siguientes maneras:
- Llamó a la función WskSocket para crear el socket.
- Llamó a la función WskSocketConnect para crear el socket.
- Llamó a la función WskAccept para aceptar el socket como una conexión entrante.
- Se llamó a su función de devolución de llamada de eventos WskAcceptEvent para aceptar el socket como una conexión entrante.
[in] Flags
Valor ULONG que contiene un OR bit a bit de una combinación de las marcas siguientes:
WSK_FLAG_ABORTIVE
La aplicación remota realizó una desconexión anulativa del socket. Si no se establece esta marca, la aplicación remota realizó una desconexión correcta del socket.
WSK_FLAG_AT_DISPATCH_LEVEL
El subsistema WSK llamó a la función de devolución de llamada de eventos WskDisconnectEvent en IRQL = DISPATCH_LEVEL. Si no se establece esta marca, es posible que el subsistema WSK haya llamado a la función de devolución de llamada de eventos WskDisconnectEvent en cualquier IRQL <= DISPATCH_LEVEL.
Valor devuelto
La función de devolución de llamada de eventos WSK WskDisconnectEvent de una aplicación WSK siempre debe devolver STATUS_SUCCESS.
Comentarios
El subsistema WSK llama a la función de devolución de llamada de eventos WskDisconnectEvent de una aplicación WSK cuando la aplicación remota desconecta un socket orientado a la conexión solo si la función de devolución de llamada de eventos se ha habilitado previamente con la opción de socket SO_WSK_EVENT_CALLBACK . Para obtener más información sobre cómo habilitar las funciones de devolución de llamada de eventos de un socket, consulte Habilitación y deshabilitación de funciones de devolución de llamada de eventos.
Si la aplicación remota realizó una desconexión correcta del socket, no se recibirán más datos del socket. Sin embargo, la aplicación WSK todavía puede enviar datos al socket hasta que la aplicación remota cierre completamente el socket o la aplicación WSK llama a la función WskDisconnect o a la función WskCloseSocket en el socket.
Si la aplicación remota realizó una desconexión anulativa del socket, no se recibirán más datos del socket y no se podrán enviar más datos al socket.
El subsistema WSK llama a la función de devolución de llamada de eventos WSK WskDisconnectEvent de una aplicación WSK en IRQL <= DISPATCH_LEVEL.
La función de devolución de llamada de eventos WSK WskDisconnectEvent de una aplicación WSK no debe esperar a que se completen otras solicitudes WSK en el contexto de las funciones de finalización de WSK o devolución de llamada de eventos. La devolución de llamada puede iniciar otras solicitudes de WSK (suponiendo que no pasa demasiado tiempo en DISPATCH_LEVEL), pero no debe esperar a su finalización incluso cuando se llama a la devolución de llamada en IRQL = PASSIVE_LEVEL.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows. |
Plataforma de destino | Windows |
Encabezado | wsk.h (incluya Wsk.h) |
IRQL | <= DISPATCH_LEVEL |