DacpMethodTableData Structure

定義方法表資訊的傳輸緩衝區。

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 Framework 版本:自 4.7 版本起可用

也請參閱