定义运行时对象信息的传输缓冲区。
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 |
对于数组,元素类型句柄的地址。 |
ElementType |
对于数组,元素类型的 CorElementType 值。 |
dwRank |
对于数组,维度数。 |
dwNumComponents |
对于数组,元素数。 |
dwComponentSize |
对于数组,每个组件的大小(以字节为单位)。 |
ArrayDataPtr |
对于数组,数组数据的地址。 |
ArrayBoundsPtr |
对于数组,数组边界的地址。 |
ArrayLowerBoundsPtr |
对于数组,数组下限的地址。 |
RCW |
与对象关联的运行时可调用包装器的地址。 |
CCW |
与对象关联的 COM 可调用包装器的地址。 |
Request |
通过调用 ISOSDacInterface::GetObjectData填充结构。 |
Remarks
此结构位于运行时内,不会通过任何标头或库文件公开。 若要使用它,请定义上面指定的结构。
要求
平台:请参阅系统要求。
页眉: 没有
图书馆: 没有
.NET Framework 版本:自 4.7 起可用