定義執行執行緒資訊的傳輸緩衝區。
Note
此 API 原本是針對運行時間內部使用所設計。 雖然現在支援第三方使用,但建議您盡可能使用 ICorDebug 和 ICorProfiler API。
Syntax
struct DacpThreadData : ZeroInit<DacpThreadData>
{
DWORD corThreadId;
DWORD osThreadId;
int state;
ULONG preemptiveGCDisabled;
CLRDATA_ADDRESS allocContextPtr;
CLRDATA_ADDRESS allocContextLimit;
CLRDATA_ADDRESS context;
CLRDATA_ADDRESS domain;
CLRDATA_ADDRESS pFrame;
DWORD lockCount;
CLRDATA_ADDRESS firstNestedException; // Pass this pointer to DacpNestedExceptionInfo
CLRDATA_ADDRESS teb;
CLRDATA_ADDRESS fiberData;
CLRDATA_ADDRESS lastThrownObjectHandle;
CLRDATA_ADDRESS nextThread;
HRESULT Request(ISOSDacInterface *sos, CLRDATA_ADDRESS addr)
{
return sos->GetThreadData(addr, this);
}
};
Members
| 會員 | 說明 |
|---|---|
corThreadId |
管理執行緒識別碼。 |
osThreadId |
作業系統執行緒識別碼。 |
state |
執行緒狀態標記。 |
preemptiveGCDisabled |
一個表示該執行緒是否停用搶占式垃圾回收的值。 |
allocContextPtr |
執行緒目前的配置上下文指標。 |
allocContextLimit |
執行緒的配置上下文限制。 |
context |
執行緒上下文的地址。 |
domain |
執行緒的應用程式域位址。 |
pFrame |
目前畫面的地址。 |
lockCount |
線所持有的鎖數。 |
firstNestedException |
第一個巢狀例外的位址。 將此指標傳給 DacpNestedExceptionInfo。 |
teb |
執行緒環境區塊的位址。 |
fiberData |
光纖資料的地址。 |
lastThrownObjectHandle |
最後一個丟到線索上的物品的把手。 |
nextThread |
執行執行緒清單中下一個執行緒的位址。 |
Request |
透過呼叫 ISOSDacInterface::GetThreadData來填充結構。 |
Remarks
此結構位於運行時間內,不會透過任何標頭或庫檔案公開。 使用時,請依上述定義結構。
要求
平台:請參閱系統需求。
標題: 沒
圖書館: 沒
.NET Framework 版本:自 4.7 版本起可用