메서드 테이블 정보에 대한 전송 버퍼를 정의합니다.
Note
이 API는 원래 런타임에서 내부용으로 설계되었습니다. 이제 타사 사용이 지원되지만 가능하면 ICorDebug 및 ICorProfiler API로 작업하는 것이 좋습니다.
Syntax
struct DacpMethodTableData : ZeroInit<DacpMethodTableData>
{
BOOL bIsFree; // everything else is NULL if this is true.
CLRDATA_ADDRESS Module;
CLRDATA_ADDRESS Class;
CLRDATA_ADDRESS ParentMethodTable;
WORD wNumInterfaces;
WORD wNumMethods;
WORD wNumVtableSlots;
WORD wNumVirtuals;
DWORD BaseSize;
DWORD ComponentSize;
mdTypeDef cl; // Metadata token
DWORD dwAttrClass; // cached metadata
BOOL bIsShared; // flags & enum_flag_DomainNeutral
BOOL bIsDynamic;
BOOL bContainsPointers;
HRESULT Request(ISOSDacInterface *sos, CLRDATA_ADDRESS addr)
{
return sos->GetMethodTableData(addr, this);
}
};
Members
| 회원 | 설명 |
|---|---|
bIsFree |
메서드 테이블이 무료인지 여부를 나타내는 값입니다. 이 멤버가 TRUE면 다른 모든 멤버는 다음과 같습니다 NULL. |
Module |
메서드 테이블을 포함하는 모듈의 주소입니다. |
Class |
메서드 테이블에 대한 EEClass의 주소입니다. |
ParentMethodTable |
부모 메서드 테이블의 주소입니다. |
wNumInterfaces |
형식에 의해 구현된 인터페이스의 수입니다. |
wNumMethods |
메서드 테이블의 메서드 수입니다. |
wNumVtableSlots |
메서드 테이블의 vtable 슬롯 수입니다. |
wNumVirtuals |
메서드 테이블의 가상 메서드 수입니다. |
BaseSize |
형식 인스턴스의 기본 크기입니다. |
ComponentSize |
배열 또는 문자열 인스턴스의 구성 요소 크기입니다. |
cl |
형식에 대한 메타데이터 토큰입니다. |
dwAttrClass |
형식에 대한 캐시된 메타데이터 특성입니다. |
bIsShared |
메서드 테이블이 공유되는지 여부를 나타내는 값입니다. |
bIsDynamic |
메서드 테이블이 동적 형식을 나타내는지 여부를 나타내는 값입니다. |
bContainsPointers |
형식의 인스턴스에 개체 참조가 포함되어 있는지 여부를 나타내는 값입니다. |
Request |
를 호출 ISOSDacInterface::GetMethodTableData하여 메서드 테이블 주소의 구조를 채웁니다. |
Remarks
이 구조는 런타임 내에 있으며 헤더 또는 라이브러리 파일을 통해 노출되지 않습니다. 이를 사용하려면 위에서 지정한 대로 구조를 정의합니다.
요구 사항
플랫폼:시스템 요구 사항을 참조하세요.
머리글: 없음
도서관: 없음
.NET 프레임워크 버전: 4.7 이후 사용 가능
참고하십시오
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET