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 代码之一:
返回代码 | 说明 |
---|---|
|
已成功处理事件通知。 |
|
未实现对 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 |