функция обратного вызова PFN_WSK_ABORT_EVENT (wsk.h)

Функция обратного вызова событий WskAbortEvent уведомляет приложение WSK о том, что входящий запрос на подключение к прослушивателю сокета с включенным режимом условного принятия был удален.

Синтаксис

PFN_WSK_ABORT_EVENT PfnWskAbortEvent;

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

Параметры

[in, optional] SocketContext

Указатель на контекст сокета для прослушивающего сокета, от которого был получен входящий запрос на подключение. Приложение WSK предоставило этот указатель на подсистему WSK при вызове функции WskSocket для создания сокета прослушивания.

[in] InspectID

Указатель на структуру WSK_INSPECT_ID . Содержимое структуры определяет входящий запрос на подключение, который был удален.

Возвращаемое значение

Функция обратного вызова событий WskAbortEvent приложения WSK всегда должна возвращать STATUS_SUCCESS.

Комментарии

Подсистема WSK вызывает функцию обратного вызова события WskAbortEvent приложения WSK, только если выполняются следующие условия:

  • Приложение WSK создало сокет прослушивания с включенным режимом условного принятия.
  • Входящий запрос на подключение был получен в сокет прослушивания, и подсистема WSK вызвала функцию обратного вызова события WskInspectEvent приложения WSK.
  • Приложение WSK вернуло WskInspectPend или WskInspectAccept из функции обратного вызова события WskAbortEvent для входящего запроса на подключение.
  • Перед полной установки входящий запрос на подключение был удален локально или удаленно.
Когда подсистема WSK вызывает функцию обратного вызова события WskAbortEvent приложения WSK, приложение должно завершить проверку для входящего запроса на подключение. Запрос на подключение определяется содержимым структуры WSK_INSPECT_ID , на которую указывает параметр InspectID .

Если приложение WSK вызывает функцию WskInspectComplete для входящего запроса на подключение, который был прерван, подключение не будет установлено, даже если WskInspectAccept указан в параметре Action .

Приложение WSK может включить режим условного принятия для прослушивающего сокета, включив параметр сокета SO_CONDITIONAL_ACCEPT . Дополнительные сведения об условном принятии входящих подключений см. в разделах Прослушивание и Прием входящих Connections.

Подсистема WSK вызывает функцию обратного вызова события WskAbortEvent приложения WSK по адресу IRQL <= DISPATCH_LEVEL.

Функция обратного вызова событий WskAbortEvent приложения WSK не должна ждать завершения других запросов WSK в контексте функций завершения WSK или обратного вызова событий. Обратный вызов может инициировать другие запросы WSK (при условии, что он не тратит слишком много времени на DISPATCH_LEVEL), но не должен ждать их завершения, даже если обратный вызов вызывается по irQL = PASSIVE_LEVEL.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows Vista и более поздних версиях операционных систем Windows.
Целевая платформа Windows
Header wsk.h (включая Wsk.h)
IRQL <= DISPATCH_LEVEL

См. также раздел

WSK_CLIENT_LISTEN_DISPATCH

WSK_INSPECT_ID

WskControlSocket

WskInspectComplete

WskInspectEvent

WskSocket