定義同步區塊資訊的傳輸緩衝區。
注記
此 API 原本是針對運行時間內部使用所設計。 雖然現在支援第三方使用,但建議您盡可能使用 ICorDebug 和 ICorProfiler API。
Syntax
struct DacpSyncBlockData : ZeroInit<DacpSyncBlockData>
{
CLRDATA_ADDRESS Object;
BOOL bFree; // if set, no other fields are useful
// fields below provide data from this, so it's just for display
CLRDATA_ADDRESS SyncBlockPointer;
DWORD COMFlags;
UINT MonitorHeld;
UINT Recursion;
CLRDATA_ADDRESS HoldingThread;
UINT AdditionalThreadCount;
CLRDATA_ADDRESS appDomainPtr;
// SyncBlockCount will always be filled in with the number of SyncBlocks.
// SyncBlocks may be requested from [1,SyncBlockCount]
UINT SyncBlockCount;
// SyncBlockNumber must be from [1,SyncBlockCount]
// If there are no SyncBlocks, a call to Request with SyncBlockCount = 1
// will return E_FAIL.
HRESULT Request(ISOSDacInterface *sos, UINT SyncBlockNumber)
{
return sos->GetSyncBlockData(SyncBlockNumber, this);
}
};
Members
| 會員 | 說明 |
|---|---|
Object |
與同步區塊相關聯的物件位址。 |
bFree |
一個表示同步區塊是否空閒的值。 若此成員被設定,則其他欄位皆無用。 |
SyncBlockPointer |
同步區塊的地址。 |
COMFlags |
描述與同步區塊相關的 COM 互操作資料的旗標。 |
MonitorHeld |
螢幕被按住的次數。 |
Recursion |
監視器的遞迴計數。 |
HoldingThread |
就是存放螢幕的執行緒位址。 |
AdditionalThreadCount |
與同步區塊相關的額外執行緒數量。 |
appDomainPtr |
與同步區塊相關的應用域位址。 |
SyncBlockCount |
同步區塊的數量。 同步區塊可從 1 到此值請求。 |
Request |
透過呼叫 ISOSDacInterface::GetSyncBlockData來填充結構。 |
Remarks
此結構位於運行時間內,不會透過任何標頭或庫檔案公開。 使用時,請依上述定義結構。
要求
平台:請參閱系統需求。
標題: 沒
圖書館: 沒
.NET Framework 版本:自 4.7 版本起可用