DacpRCWData (estructura)

Define un búfer de transporte para la información del contenedor invocable (RCW) en tiempo de ejecución.

Note

Esta API se diseñó originalmente para su uso interno en tiempo de ejecución. Aunque ahora es compatible con el uso de terceros, se recomienda trabajar con las API ICorDebug y ICorProfiler siempre que sea posible.

Syntax

struct DacpRCWData : ZeroInit<DacpRCWData>
{
    CLRDATA_ADDRESS identityPointer;
    CLRDATA_ADDRESS unknownPointer;
    CLRDATA_ADDRESS managedObject;
    CLRDATA_ADDRESS jupiterObject;
    CLRDATA_ADDRESS vtablePtr;
    CLRDATA_ADDRESS creatorThread;
    CLRDATA_ADDRESS ctxCookie;
    
    LONG refCount;
    LONG interfaceCount;

    BOOL isJupiterObject;
    BOOL supportsIInspectable;
    BOOL isAggregated;
    BOOL isContained;
    BOOL isFreeThreaded;
    BOOL isDisconnected;
    
    HRESULT Request(ISOSDacInterface *sos, CLRDATA_ADDRESS rcw)
    {
        return sos->GetRCWData(rcw, this);
    }

    HRESULT IsDCOMProxy(ISOSDacInterface *sos, CLRDATA_ADDRESS rcw, BOOL* isDCOMProxy)
    {
        ISOSDacInterface2 *pSOS2 = nullptr;
        HRESULT hr = sos->QueryInterface(__uuidof(ISOSDacInterface2), reinterpret_cast<LPVOID*>(&pSOS2));
        if (SUCCEEDED(hr))
        {
            hr = pSOS2->IsRCWDCOMProxy(rcw, isDCOMProxy);
            pSOS2->Release();
        }

        return hr;
    }
};

Members

Miembro Descripción
identityPointer Dirección del puntero de identidad COM.
unknownPointer Dirección del IUnknown puntero.
managedObject Dirección del objeto administrado asociado al RCW.
jupiterObject Dirección del objeto Júpiter asociado.
vtablePtr Dirección del puntero de la tabla virtual.
creatorThread Dirección del subproceso que creó el RCW.
ctxCookie Cookie de contexto para la RCW.
refCount Recuento de referencias para el RCW.
interfaceCount Número de interfaces asociadas al RCW.
isJupiterObject Valor que indica si el RCW representa un objeto Júpiter.
supportsIInspectable Valor que indica si el RCW admite IInspectable.
isAggregated Valor que indica si se agrega el RCW.
isContained Valor que indica si el RCW está contenido.
isFreeThreaded Valor que indica si el RCW está libre en subproceso.
isDisconnected Valor que indica si el RCW está desconectado.
Request Rellena la estructura llamando a ISOSDacInterface::GetRCWData.
IsDCOMProxy Determina si RCW es un proxy DCOM mediante ISOSDacInterface2::IsRCWDCOMProxy, cuando esa interfaz está disponible.

Remarks

Esta estructura reside dentro del tiempo de ejecución y no se expone a través de ningún encabezado o archivo de biblioteca. Para usarlo, defina la estructura como se especificó anteriormente.

Requisitos

Plataformas: Consulte Requisitos del sistema.
Encabezado: Ninguno
Biblioteca: Ninguno
versiones de .NET Framework: disponibles desde la versión 4.7

Consulte también