DacpSyncBlockData 구조체

동기화 블록 정보에 대한 전송 버퍼를 정의합니다.

Note

이 API는 원래 런타임에서 내부용으로 설계되었습니다. 이제 타사 사용이 지원되지만 가능하면 ICorDebugICorProfiler API로 작업하는 것이 좋습니다.

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

회원 설명
Object 동기화 블록과 연결된 개체의 주소입니다.
bFree 동기화 블록이 무료인지 여부를 나타내는 값입니다. 이 멤버를 설정하면 다른 필드가 유용하지 않습니다.
SyncBlockPointer 동기화 블록의 주소입니다.
COMFlags 동기화 블록과 연결된 COM interop 데이터를 설명하는 플래그입니다.
MonitorHeld 모니터가 유지되는 횟수입니다.
Recursion 모니터 재귀 횟수입니다.
HoldingThread 모니터를 보유하는 스레드의 주소입니다.
AdditionalThreadCount 동기화 블록과 연결된 추가 스레드 수입니다.
appDomainPtr 동기화 블록과 연결된 애플리케이션 도메인의 주소입니다.
SyncBlockCount 동기화 블록 수입니다. 동기화 블록은 1에서 이 값까지 요청할 수 있습니다.
Request 를 호출 ISOSDacInterface::GetSyncBlockData하여 구조를 채웁니다.

Remarks

이 구조는 런타임 내에 있으며 헤더 또는 라이브러리 파일을 통해 노출되지 않습니다. 이를 사용하려면 위에서 지정한 대로 구조를 정의합니다.

요구 사항

플랫폼:시스템 요구 사항을 참조하세요.
머리글: 없음
도서관: 없음
.NET 프레임워크 버전: 4.7 이후 사용 가능

참고하십시오