DacpMethodTableData 구조체

메서드 테이블 정보에 대한 전송 버퍼를 정의합니다.

Note

이 API는 원래 런타임에서 내부용으로 설계되었습니다. 이제 타사 사용이 지원되지만 가능하면 ICorDebugICorProfiler 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 이후 사용 가능

참고하십시오