PFN_WSK_CLIENT_EVENT回调函数 (wsk.h)

WskClientEvent 事件回调函数通知 WSK 应用程序有关不特定于特定套接字的事件。

语法

PFN_WSK_CLIENT_EVENT PfnWskClientEvent;

NTSTATUS PfnWskClientEvent(
  [in, optional] PVOID ClientContext,
  [in]           ULONG EventType,
  [in, optional] PVOID Information,
  [in]           SIZE_T InformationLength
)
{...}

参数

[in, optional] ClientContext

指向由传递给 WskRegister 函数的 WskClientNpi 参数指定的上下文值的指针。

[in] EventType

正在通知 WSK 应用程序的特定事件。 当前未定义事件。

[in, optional] Information

指向缓冲区的指针,该缓冲区包含与事件关联的其他信息。 如果没有与事件关联的其他信息,则此指针将为 NULL

[in] InformationLength

所指向的缓冲区中包含的附加信息的长度
信息 参数。 如果没有与事件关联的其他信息,则此值将为零。

返回值

WSK 应用程序的 WskClientEvent 事件回调函数可以返回以下 NTSTATUS 代码之一:

返回代码 说明
STATUS_SUCCESS
已成功处理事件通知。
STATUS_NOT_IMPLEMENTED
未实现对 Event 参数中传递的事件的支持。

注解

目前,没有为 WskClientEvent 事件回调函数定义事件。 因此,如果 WSK 应用程序实现 WskClientEvent 事件回调函数,它应始终返回STATUS_NOT_IMPLEMENTED。

信息参数指向的缓冲区中包含的附加信息是只读的,仅在调用 WskClientEvent 事件回调函数期间有效。

如果 WSK 应用程序未实现 WskClientEvent 事件回调函数,则应在调用 WskRegister 之前将 WSK_CLIENT_DISPATCH 结构的 WskClientEvent 成员设置为 NULL

WSK 子系统在 IRQL <= DISPATCH_LEVEL 调用 WSK 应用程序的 WskClientEvent 事件回调函数。

WSK 应用程序的 WskClientEvent 事件回调函数不得等待 WSK 完成或事件回调函数上下文中的其他 WSK 请求完成。 回叫可以启动其他 WSK 请求 (假定它不会在DISPATCH_LEVEL) 花费太多时间,但即使回调在 IRQL = PASSIVE_LEVEL 调用,也不得等待其完成。

要求

要求
最低受支持的客户端 在 Windows Vista 和更高版本的 Windows 操作系统中可用。
目标平台 Windows
标头 wsk.h (包括 Wsk.h)
IRQL <= DISPATCH_LEVEL

另请参阅

WSK_CLIENT_DISPATCH

WskRegister