DacpSyncBlockData – struktura

Definuje přenosovou vyrovnávací paměť pro informace o bloku synchronizace.

Note

Toto rozhraní API bylo původně navrženo pro interní použití v modulu runtime. I když se teď podporuje pro použití třetí strany, doporučujeme pracovat s rozhraními ICorDebug API, ICorProfiler pokud je to možné.

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

Člen Description
Object Adresa objektu přidruženého k bloku synchronizace.
bFree Hodnota, která označuje, jestli je blok synchronizace volný. Pokud je tento člen nastavený, nejsou užitečná žádná další pole.
SyncBlockPointer Adresablokuho
COMFlags Příznaky, které popisují data zprostředkovatele komunikace modelu COM přidružená k bloku synchronizace.
MonitorHeld Počet, kolikrát se monitor uchovává.
Recursion Počet rekurzí monitorování.
HoldingThread Adresa vlákna, které obsahuje monitor.
AdditionalThreadCount Počet dalších vláken přidružených k bloku synchronizace.
appDomainPtr Adresa domény aplikace přidružené k bloku synchronizace.
SyncBlockCount Početblokůch Bloky synchronizace je možné vyžádat od 1 do této hodnoty.
Request Naplní strukturu voláním ISOSDacInterface::GetSyncBlockData.

Remarks

Tato struktura se nachází uvnitř modulu runtime a není vystavena prostřednictvím žádných hlaviček nebo souborů knihovny. Pokud ji chcete použít, definujte strukturu, jak je uvedeno výše.

Požadavky

Platformy: Viz požadavky na systém.
Záhlaví: Žádný
Knihovna: Žádný
.NET Framework verze: K dispozici od verze 4.7

Viz také