DacpSyncBlockData 結構

定義同步區塊資訊的傳輸緩衝區。

注記

此 API 原本是針對運行時間內部使用所設計。 雖然現在支援第三方使用,但建議您盡可能使用 ICorDebugICorProfiler 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 版本起可用

也請參閱