次の方法で共有


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)。 配列に待機チェーンのすべてのノードを含めることができない場合、関数は失敗し、 CallbackStatus はERROR_MORE_DATAされ、このパラメーターはすべてのノードを格納するために必要な配列要素の数を受け取ります。

NodeInfoArray

待機チェーンを受け取る WAITCHAIN_NODE_INFO 構造体の配列。

IsCycle

関数がデッドロックを検出した場合、この変数は TRUE に設定されます。それ以外の場合は、FALSE に設定 されます

戻り値

なし

必要条件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wct.h

こちらもご覧ください

GetThreadWaitChain

OpenThreadWaitChainSession

WAITCHAIN_NODE_INFO