(wct.h) GetThreadWaitChain 函式

擷取指定線程的等候鏈結。

語法

BOOL GetThreadWaitChain(
  [in]           HWCT                 WctHandle,
  [in, optional] DWORD_PTR            Context,
  [in]           DWORD                Flags,
  [in]           DWORD                ThreadId,
  [in, out]      LPDWORD              NodeCount,
  [out]          PWAITCHAIN_NODE_INFO NodeInfoArray,
  [out]          LPBOOL               IsCycle
);

參數

[in] WctHandle

OpenThreadWaitChainSession 函式所建立之 WCT 會話的句柄。

[in, optional] Context

要傳遞至異步會話之回呼函式之應用程式定義內容結構的指標。

[in] Flags

等候鏈結擷取選項。 此參數可以是下列其中一個值。

意義
WCT_OUT_OF_PROC_COM_FLAG
列舉跨進程 MTA COM 伺服器的所有線程,以尋找正確的線程標識碼。
WCT_OUT_OF_PROC_CS_FLAG
從其他進程擷取重要區段資訊。
WCT_OUT_OF_PROC_FLAG
遵循等候鏈結進入其他進程。 否則,函式會報告不同進程中的第一個線程,但不會擷取其他資訊。

[in] ThreadId

線程的標識碼。

[in, out] NodeCount

在輸入時,從 1 到 WCT_MAX_NODE_COUNT的數位,指定等候鏈結中的節點數目。 傳回時,擷取的節點數目。 如果陣列不能包含等候鏈結的所有節點,則函式會失敗, GetLastError 會傳回ERROR_MORE_DATA,而此參數會接收包含所有節點所需的數位元素數目。

針對異步會話,請檢查傳遞至回調函式的值。 在回呼函式傳回之前,請勿釋放變數。

[out] NodeInfoArray

接收等候鏈 結之WAITCHAIN_NODE_INFO 結構的陣列。

針對異步會話,請檢查傳遞至回調函式的值。 在回呼函式傳回之前,請勿釋放陣列。

[out] IsCycle

如果函式偵測到死結,此變數會設定為 TRUE;否則,它會設定為 FALSE

針對異步會話,請檢查傳遞至回調函式的值。 在回呼函式傳回之前,請勿釋放變數。

傳回值

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。 若要擷取擴充的錯誤資訊,請呼叫 GetLastError

傳回碼 Description
ERROR_ACCESS_DENIED
呼叫端沒有足夠的許可權可開啟目標線程。
ERROR_INVALID_PARAMETER
其中一個輸入參數無效。
ERROR_IO_PENDING
WCT 工作階段是以異步模式開啟。 結果會透過 WaitChainCallback 回 呼函式傳回。
ERROR_MORE_DATA
NodeInfoArray 緩衝區不夠大,無法包含等候鏈結中的所有節點。 NodeCount 參數包含鏈結中的節點數目。 傳回的等候鏈結仍然有效。
ERROR_NOT_SUPPORTED
操作系統未提供此服務。
ERROR_OBJECT_NOT_FOUND
無法找到指定的線程。
ERROR_TOO_MANY_THREADS
節點數目超過 WCT_MAX_NODE_COUNT。 傳回的等候鏈結仍然有效。

備註

如果會話是異步的,函式會傳回 FALSE ,而 GetLastError 會傳回ERROR_IO_PENDING。 若要取得結果,請參閱 WaitChainCallback 回 呼函式。

如果未封鎖指定的線程,或未在不支援的同步處理項目上封鎖,函式會在 NodeInfoArray 中傳回單一專案。

呼叫端必須具有SE_DEBUG_NAME許可權。 如果呼叫端的許可權不足,則無法存取第一個線程時,函式會失敗。 否則,陣列中的最後一個節點會將其 ObjectStatus 成員設定為 WctStatusNoAcces。

如果陣列中的任何節點子集形成迴圈,函式會將 IsCycle 參數設定為 TRUE

等候鏈結資訊是動態的;當呼叫函式,但呼叫者檢閱函式時可能已過期,則是正確的。

範例

如需範例,請參閱 使用 WCT

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 wct.h
程式庫 Advapi32.lib
Dll Advapi32.dll

另請參閱

OpenThreadWaitChainSession

WAITCHAIN_NODE_INFO

等候鏈結周遊

WaitChainCallback