DacpSyncBlockData-struktur

Definierar en transportbuffert för information om synkroniseringsblock.

Note

Det här API:et utformades ursprungligen för intern användning i körningen. Även om det nu stöds för användning från tredje part rekommenderar vi att du arbetar med ICorDebug OCH ICorProfiler API:er när det är möjligt.

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

Medlem Beskrivning
Object Adressen till objektet som är associerat med synkroniseringsblocket.
bFree Ett värde som anger om synkroniseringsblocket är kostnadsfritt. Om den här medlemmen har angetts är inga andra fält användbara.
SyncBlockPointer Adressen till synkroniseringsblocket.
COMFlags Flaggor som beskriver COM-interopdata som är associerade med synkroniseringsblocket.
MonitorHeld Antalet gånger övervakaren hålls.
Recursion Antalet rekursioner för övervakaren.
HoldingThread Adressen till den tråd som innehåller övervakaren.
AdditionalThreadCount Antalet ytterligare trådar som är associerade med synkroniseringsblocket.
appDomainPtr Adressen till programdomänen som är associerad med synkroniseringsblocket.
SyncBlockCount Antalet synkroniseringsblock. Synkroniseringsblock kan begäras från 1 via det här värdet.
Request Fyller i strukturen genom att anropa ISOSDacInterface::GetSyncBlockData.

Remarks

Den här strukturen finns i körningen och exponeras inte via några rubriker eller biblioteksfiler. Om du vill använda den definierar du strukturen enligt ovan.

Requirements

Plattformar: Se Systemkrav.
Rubrik: Ingen
Bibliotek: Ingen
.NET Framework-versioner: Tillgänglig sedan 4.7

Se även