DacpObjectData 結構

定義執行時物件資訊的傳輸緩衝區。

Note

此 API 原本是針對運行時間內部使用所設計。 雖然現在支援第三方使用,但建議您盡可能使用 ICorDebugICorProfiler API。

Syntax

struct DacpObjectData : ZeroInit<DacpObjectData>
{
    CLRDATA_ADDRESS MethodTable;
    DacpObjectType ObjectType;
    ULONG64 Size;
    CLRDATA_ADDRESS ElementTypeHandle;
    CorElementType ElementType;
    DWORD dwRank;
    ULONG64 dwNumComponents;
    ULONG64 dwComponentSize;
    CLRDATA_ADDRESS ArrayDataPtr;
    CLRDATA_ADDRESS ArrayBoundsPtr;
    CLRDATA_ADDRESS ArrayLowerBoundsPtr;

    CLRDATA_ADDRESS RCW;
    CLRDATA_ADDRESS CCW;
    
    HRESULT Request(ISOSDacInterface *sos, CLRDATA_ADDRESS addr)
    {
        return sos->GetObjectData(addr, this);
    }
};

Members

會員 說明
MethodTable 物件方法表的位址。
ObjectType 一個 DacpObjectType 枚舉 值,用來識別物件類型。
Size 物件的大小,以位元組為單位。
ElementTypeHandle 對於陣列,元素類型的位址為 handle。
ElementType 對於陣列,則是元素類型的 CorElementType 值。
dwRank 對於陣列,則是維度數。
dwNumComponents 對於陣列,則是元素的數量。
dwComponentSize 對於陣列,則以每個元件的大小為單位。
ArrayDataPtr 對於陣列,則是陣列資料的位址。
ArrayBoundsPtr 對於陣列,陣列的位址為界。
ArrayLowerBoundsPtr 對於陣列,陣列的位址為下界。
RCW 與物件相關的執行時可呼叫包裝器的位址。
CCW 與物件關聯的 COM 可呼叫包裝器的位址。
Request 透過呼叫 ISOSDacInterface::GetObjectData來填充結構。

Remarks

此結構位於運行時間內,不會透過任何標頭或庫檔案公開。 使用時,請依上述定義結構。

要求

平台:請參閱系統需求
標題:
圖書館:
.NET Framework 版本:自 4.7 版本起可用

也請參閱