PWAITCHAINCALLBACK 回调函数 (wct.h)

接收等待链的应用程序定义的回调函数。 在调用 OpenThreadWaitChainSession 函数时指定此地址。

PWAITCHAINCALLBACK 类型定义指向此回调函数的指针。 WaitChainCallback 是应用程序定义的函数名称的占位符。

语法

PWAITCHAINCALLBACK Pwaitchaincallback;

void Pwaitchaincallback(
  HWCT WctHandle,
  DWORD_PTR Context,
  DWORD CallbackStatus,
  LPDWORD NodeCount,
  PWAITCHAIN_NODE_INFO NodeInfoArray,
  LPBOOL IsCycle
)
{...}

参数

WctHandle

由 OpenThreadWaitChainSession 函数创建的 WCT 会话的句柄。

Context

指向 GetThreadWaitChain 函数指定的应用程序定义的上下文结构的可选指针。

CallbackStatus

回调状态。 此参数可以是以下值之一,也可以是其他 系统错误代码之一。

含义
ERROR_ACCESS_DENIED
调用方没有足够的权限打开目标线程。
ERROR_CANCELLED
异步会话通过调用 CloseThreadWaitChainSession 函数取消。
ERROR_MORE_DATA
NodeInfoArray 缓冲区不够大,无法包含等待链中的所有节点。 NodeCount 参数包含链中的节点数。 返回的等待链仍然有效。
ERROR_OBJECT_NOT_FOUND
无法找到指定的线程。
ERROR_SUCCESS
操作已成功完成。
ERROR_TOO_MANY_THREADS
节点数超过 WCT_MAX_NODE_COUNT。 返回的等待链仍然有效。

NodeCount

检索到的节点数,最多WCT_MAX_NODE_COUNT。 如果数组不能包含等待链的所有节点,则函数将失败,ERROR_MORE_DATA CallbackStatus ,并且此参数接收包含所有节点所需的数组元素数。

NodeInfoArray

接收等待链 的WAITCHAIN_NODE_INFO 结构的数组。

IsCycle

如果函数检测到死锁,则此变量设置为 TRUE;否则,它设置为 FALSE

返回值

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 wct.h

另请参阅

GetThreadWaitChain

OpenThreadWaitChainSession

WAITCHAIN_NODE_INFO