定義方法表資訊的傳輸緩衝區。
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 Framework 版本:自 4.7 版本起可用