동기화 블록 정보에 대한 전송 버퍼를 정의합니다.
Note
이 API는 원래 런타임에서 내부용으로 설계되었습니다. 이제 타사 사용이 지원되지만 가능하면 ICorDebug 및 ICorProfiler 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 이후 사용 가능
참고하십시오
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET