Struttura DacpRCWData

Definisce un buffer di trasporto per informazioni di runtime callable wrapper (RCW).

Note

Questa API è stata originariamente progettata per l'uso interno nel runtime. Sebbene sia ora supportato per l'uso di terze parti, è consigliabile usare ICorDebug le API e ICorProfiler quando possibile.

Sintassi

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

Membro Descrizione
identityPointer Indirizzo del puntatore di identità COM.
unknownPointer Indirizzo del IUnknown puntatore.
managedObject Indirizzo dell'oggetto gestito associato all'RCW.
jupiterObject Indirizzo dell'oggetto Giove associato.
vtablePtr Indirizzo del puntatore della tabella virtuale.
creatorThread Indirizzo del thread che ha creato l'RCW.
ctxCookie Cookie di contesto per RCW.
refCount Conteggio dei riferimenti per RCW.
interfaceCount Numero di interfacce associate all'RCW.
isJupiterObject Valore che indica se RCW rappresenta un oggetto Giove.
supportsIInspectable Valore che indica se RCW supporta IInspectable.
isAggregated Valore che indica se l'RCW è aggregato.
isContained Valore che indica se l'RCW è contenuto.
isFreeThreaded Valore che indica se rcw è a thread libero.
isDisconnected Valore che indica se l'RCW è disconnesso.
Request Popola la struttura chiamando ISOSDacInterface::GetRCWData.
IsDCOMProxy Determina se RCW è un proxy DCOM tramite ISOSDacInterface2::IsRCWDCOMProxy, quando tale interfaccia è disponibile.

Remarks

Questa struttura si trova all'interno del runtime e non viene esposta tramite intestazioni o file di libreria. Per usarla, definire la struttura come specificato in precedenza.

Requisiti

Piattaforme: Vedere Requisiti di sistema.
Intestazione: Nessuno
Biblioteca: Nessuno
versioni di .NET Framework: disponibile dalla versione 4.7

Vedere anche