DacpSyncBlockData, struktura

Definiuje bufor transportu dla informacji o bloku synchronizacji.

Note

Ten interfejs API został pierwotnie zaprojektowany do użytku wewnętrznego w środowisku uruchomieniowym. Mimo że jest ona teraz obsługiwana w przypadku używania innych firm, zalecamy pracę z interfejsami ICorDebug API i ICorProfiler , jeśli jest to możliwe.

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

Członek Opis
Object Adres obiektu skojarzonego z blokiem synchronizacji.
bFree Wartość wskazująca, czy blok synchronizacji jest bezpłatny. Jeśli ten element członkowski jest ustawiony, żadne inne pola nie są przydatne.
SyncBlockPointer Adres bloku synchronizacji.
COMFlags Flagi opisujące dane międzyoperacyjności modelu COM skojarzone z blokiem synchronizacji.
MonitorHeld Liczba przechowywanych monitorów.
Recursion Liczba rekursji monitora.
HoldingThread Adres wątku, który przechowuje monitor.
AdditionalThreadCount Liczba dodatkowych wątków skojarzonych z blokiem synchronizacji.
appDomainPtr Adres domeny aplikacji skojarzonej z blokiem synchronizacji.
SyncBlockCount Liczba bloków synchronizacji. Bloki synchronizacji można zażądać z zakresu od 1 do tej wartości.
Request Wypełnia strukturę przez wywołanie metody ISOSDacInterface::GetSyncBlockData.

Remarks

Ta struktura znajduje się wewnątrz środowiska uruchomieniowego i nie jest uwidaczniona za pośrednictwem żadnych nagłówków ani plików biblioteki. Aby go użyć, zdefiniuj strukturę zgodnie z powyższymi definicjami.

Wymagania

Platformy: Zobacz Wymagania systemowe.
Nagłówek: Żaden
Biblioteka: Żaden
wersje platformy .NET: dostępne od wersji 4.7

Zobacz także