为 COM 可调用包装器(CCW)信息定义传输缓冲区。
注释
此 API 最初旨在供运行时内部使用。 尽管现在支持第三方使用,但我们建议尽量使用 ICorDebug 和 ICorProfiler API。
Syntax
struct DacpCCWData : ZeroInit<DacpCCWData>
{
CLRDATA_ADDRESS outerIUnknown;
CLRDATA_ADDRESS managedObject;
CLRDATA_ADDRESS handle;
CLRDATA_ADDRESS ccwAddress;
LONG refCount;
LONG interfaceCount;
BOOL isNeutered;
LONG jupiterRefCount;
BOOL isPegged;
BOOL isGlobalPegged;
BOOL hasStrongRef;
BOOL isExtendsCOMObject;
BOOL isAggregated;
HRESULT Request(ISOSDacInterface *sos, CLRDATA_ADDRESS ccw)
{
return sos->GetCCWData(ccw, this);
}
};
Members
| 成员 | 说明 |
|---|---|
outerIUnknown |
外部 IUnknown 指针的地址。 |
managedObject |
与 CCW 关联的托管对象的地址。 |
handle |
托管对象的句柄的地址。 |
ccwAddress |
CCW 的地址。 |
refCount |
CCW 的引用计数。 |
interfaceCount |
与 CCW 关联的接口数。 |
isNeutered |
一个值,该值指示 CCW 是否为中性。 |
jupiterRefCount |
CCW 的木星引用计数。 |
isPegged |
一个值,该值指示 CCW 是否被固定。 |
isGlobalPegged |
一个值,该值指示 CCW 是否全局挂钩。 |
hasStrongRef |
一个值,该值指示 CCW 是否具有强引用。 |
isExtendsCOMObject |
一个值,该值指示托管对象是否扩展 COM 对象。 |
isAggregated |
一个值,该值指示是否聚合 CCW。 |
Request |
通过调用 ISOSDacInterface::GetCCWData填充结构。 |
Remarks
此结构位于运行时内,不会通过任何标头或库文件公开。 若要使用它,请定义上面指定的结构。
要求
平台:请参阅系统要求。
页眉: 没有
图书馆: 没有
.NET Framework 版本:自 4.7 起可用