定義執行時物件資訊的傳輸緩衝區。
Note
此 API 原本是針對運行時間內部使用所設計。 雖然現在支援第三方使用,但建議您盡可能使用 ICorDebug 和 ICorProfiler 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 版本起可用