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

Consulte también

WSK_CLIENT_CONNECTION_DISPATCH

WskAccept

WskAcceptEvent

WskCloseSocket

WskConnect

WskControlSocket

WskDisconnect

WskSocket

WskSocketConnect