Поделиться через


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

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

Синтаксис

PFN_WSK_DISCONNECT_EVENT PfnWskDisconnectEvent;

NTSTATUS PfnWskDisconnectEvent(
  [in, optional] PVOID SocketContext,
  [in]           ULONG Flags
)
{...}

Параметры

[in, optional] SocketContext

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

[in] Flags

Значение ULONG, содержащее побитовое или сочетание следующих флагов:

WSK_FLAG_ABORTIVE

Удаленное приложение выполнило прерывание отключения сокета. Если этот флаг не задан, удаленное приложение выполнило корректное отключение сокета.

WSK_FLAG_AT_DISPATCH_LEVEL

Подсистема WSK называется функцией обратного вызова событий WskDisconnectEvent WskDisconnectEvent в IRQL = DISPATCH_LEVEL. Если этот флаг не задан, подсистема WSK может вызвать функцию обратного вызова событий WSKDisconnectEvent в любой <IRQL = DISPATCH_LEVEL.

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

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

Замечания

Подсистема WSK вызывает функцию обратного вызова событий WSK приложения WSK WskDisconnectEvent при отключении сокета, ориентированного на подключение, удаленным приложением, только если функция обратного вызова события была включена с параметром сокета SO_WSK_EVENT_CALLBACK. Дополнительные сведения о включении функций обратного вызова событий сокета см. в разделе Включение и отключение функций обратного вызова событий.

Если удаленное приложение выполнило корректное отключение сокета, дополнительные данные не будут получены из сокета. Однако приложение WSK по-прежнему может отправлять данные в сокет, пока сокет не будет полностью закрыт удаленным приложением, или приложение WSK вызывает функцию WskDisconnectили функцию WskCloseSocket в сокете.

Если удаленное приложение выполнило прерывание отключения сокета, из сокета не будут получены дополнительные данные, а дополнительные данные не могут быть отправлены в сокет.

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

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

Требования

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

См. также

WSK_CLIENT_CONNECTION_DISPATCH

WskAccept

WskAcceptEvent

WskCloseSocket

WskConnect

WskControlSocket

WskDisconnect

WskSocket

WskSocketConnect