DacpCCWData 结构

为 COM 可调用包装器(CCW)信息定义传输缓冲区。

注释

此 API 最初旨在供运行时内部使用。 尽管现在支持第三方使用,但我们建议尽量使用 ICorDebugICorProfiler 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 起可用

另见