Compartir a través de


PFN_WSK_ABORT_EVENT función de devolución de llamada (wsk.h)

La función de devolución de llamada de eventos WskAbortEvent notifica a una aplicación WSK que se ha quitado una solicitud de conexión entrante en un socket de escucha que tiene habilitado el modo de aceptación condicional.

Sintaxis

PFN_WSK_ABORT_EVENT PfnWskAbortEvent;

NTSTATUS PfnWskAbortEvent(
  [in, optional] PVOID SocketContext,
  [in]           PWSK_INSPECT_ID InspectID
)
{...}

Parámetros

[in, optional] SocketContext

Puntero al contexto de socket para el socket de escucha en el que se recibió la solicitud de conexión entrante. La aplicación WSK proporcionó este puntero al subsistema WSK cuando llamó a la función WskSocket para crear el socket de escucha.

[in] InspectID

Puntero a una estructura WSK_INSPECT_ID . El contenido de la estructura identifica la solicitud de conexión entrante que se ha quitado.

Valor devuelto

La función de devolución de llamada de eventos WSK WskAbortEvent 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 WSKAbortEvent de una aplicación WSK solo cuando se cumplen las condiciones siguientes:

  • La aplicación WSK creó un socket de escucha que tiene habilitado el modo de aceptación condicional.
  • Se ha recibido una solicitud de conexión entrante en el socket de escucha y el subsistema WSK ha llamado a la función de devolución de llamada de evento WSK de la aplicación WskInspectEvent .
  • La aplicación WSK devolvió WskInspectPend o WskInspectAccept desde su función de devolución de llamada de eventos WskAbortEvent para la solicitud de conexión entrante.
  • La solicitud de conexión entrante se ha quitado local o remotamente antes de establecerse completamente.
Cuando el subsistema WSK llama a la función de devolución de llamada de eventos WskAbortEvent de una aplicación WSK, la aplicación debe finalizar la inspección de la solicitud de conexión entrante. La solicitud de conexión se identifica mediante el contenido de la estructura WSK_INSPECT_ID a la que apunta el parámetro InspectID .

Si la aplicación WSK llama a la función WskInspectComplete en una solicitud de conexión entrante que se ha anulado, la conexión no se establecerá aunque WskInspectAccept se especifique en el parámetro Action .

Una aplicación WSK puede habilitar el modo de aceptación condicional en un socket de escucha habilitando la opción de socket SO_CONDITIONAL_ACCEPT . Para obtener más información sobre la aceptación condicional de conexiones entrantes, consulte Escucha y aceptación de Connections entrantes.

El subsistema WSK llama a la función de devolución de llamada de eventos WSK WskAbortEvent de una aplicación WSK en IRQL <= DISPATCH_LEVEL.

La función de devolución de llamada de eventos WSK WskAbortEvent 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_LISTEN_DISPATCH

WSK_INSPECT_ID

WskControlSocket

WskInspectComplete

WskInspectEvent

WskSocket