DacpSyncBlockData Yapısı

Eşitleme bloğu bilgileri için bir aktarım arabelleği tanımlar.

Note

Bu API başlangıçta çalışma zamanında iç kullanım için tasarlanmıştır. Artık üçüncü taraf kullanımı için desteklense de mümkün olduğunda ve ICorDebug API'leriyle ICorProfiler çalışmanızı öneririz.

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

Üye Açıklama
Object Eşitleme bloğuyla ilişkili nesnenin adresi.
bFree Eşitleme bloğunun boş olup olmadığını gösteren bir değer. Bu üye ayarlanırsa, başka hiçbir alan yararlı olmaz.
SyncBlockPointer Eşitleme bloğunun adresi.
COMFlags Eşitleme bloğuyla ilişkili COM birlikte çalışma verilerini açıklayan bayraklar.
MonitorHeld Monitörün kaç kez tutuldu?
Recursion İzleyici özyineleme sayısı.
HoldingThread İzleyiciyi barındıran iş parçacığının adresi.
AdditionalThreadCount Eşitleme bloğuyla ilişkili ek iş parçacıklarının sayısı.
appDomainPtr Eşitleme bloğuyla ilişkili uygulama etki alanının adresi.
SyncBlockCount Eşitleme bloklarının sayısı. Eşitleme blokları 1'den bu değere kadar istenebilir.
Request çağrısı ISOSDacInterface::GetSyncBlockDatayaparak yapısını doldurur.

Remarks

Bu yapı çalışma zamanının içinde bulunur ve hiçbir üst bilgi veya kitaplık dosyası aracılığıyla kullanıma sunulmaz. Bunu kullanmak için, yukarıda belirtilen yapıyı tanımlayın.

Requirements

Platform: Bkz. Sistem Gereksinimleri.
Üstbilgi: Hiç kimse
Kütüphane: Hiç kimse
.NET Framework Sürümleri: 4.7 sürümünden itibaren kullanılabilir

Ayrıca bakınız