DacpSyncBlockData-structuur

Definieert een transportbuffer voor synchronisatieblokinformatie.

Note

Deze API is oorspronkelijk ontworpen voor intern gebruik in de runtime. Hoewel het nu wordt ondersteund voor gebruik van derden, raden we u aan om indien mogelijk met ICorDebug en ICorProfiler API's te werken.

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

Lid Beschrijving
Object Het adres van het object dat is gekoppeld aan het synchronisatieblok.
bFree Een waarde die aangeeft of het synchronisatieblok gratis is. Als dit lid is ingesteld, zijn er geen andere velden nuttig.
SyncBlockPointer Het adres van het synchronisatieblok.
COMFlags Vlaggen die COM-interoperabiliteitsgegevens beschrijven die zijn gekoppeld aan het synchronisatieblok.
MonitorHeld Het aantal keren dat de monitor wordt gehouden.
Recursion Het aantal monitorrecursies.
HoldingThread Het adres van de thread die de monitor bevat.
AdditionalThreadCount Het aantal extra threads dat is gekoppeld aan het synchronisatieblok.
appDomainPtr Het adres van het toepassingsdomein dat is gekoppeld aan het synchronisatieblok.
SyncBlockCount Het aantal synchronisatieblokken. Synchronisatieblokken kunnen worden aangevraagd van 1 tot en met deze waarde.
Request Vult de structuur door aan te roepen ISOSDacInterface::GetSyncBlockData.

Remarks

Deze structuur bevindt zich in de runtime en wordt niet weergegeven via headers of bibliotheekbestanden. Als u deze wilt gebruiken, definieert u de structuur zoals hierboven is opgegeven.

Requirements

Platformen: Zie Systeemvereisten.
Rubriek: Geen
Bibliotheek: Geen
.NET Framework-versies: beschikbaar sinds 4.7

Zie ook