Estrutura DacpRCWData

Define um buffer de transporte para informação de wrapper chamável em tempo de execução (RCW).

Note

Esta API foi originalmente projetada para uso interno no tempo de execução. Embora agora seja suportado para uso de terceiros 3rd, recomendamos trabalhar com ICorDebug e ICorProfiler APIs quando possível.

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

Membro Descrição
identityPointer O endereço do apontador de identidade COM.
unknownPointer A morada do IUnknown apontador.
managedObject O endereço do objeto gerido associado ao RCW.
jupiterObject O endereço do objeto Júpiter associado.
vtablePtr O endereço do ponteiro vtable.
creatorThread O endereço do tópico que criou o RCW.
ctxCookie O cookie de contexto para o RCW.
refCount A contagem de referências para o RCW.
interfaceCount O número de interfaces associadas ao RCW.
isJupiterObject Um valor que indica se o RCW representa um objeto de Júpiter.
supportsIInspectable Um valor que indica se o RCW suporta IInspectable.
isAggregated Um valor que indica se o RCW é agregado.
isContained Um valor que indica se o RCW está contido.
isFreeThreaded Um valor que indica se o RCW é free-threaded.
isDisconnected Um valor que indica se o RCW está desconectado.
Request Preenche a estrutura chamando ISOSDacInterface::GetRCWData.
IsDCOMProxy Determina se o RCW é um proxy DCOM usando ISOSDacInterface2::IsRCWDCOMProxy, quando essa interface está disponível.

Remarks

Essa estrutura vive dentro do tempo de execução e não é exposta através de cabeçalhos ou arquivos de biblioteca. Para o usar, defina a estrutura conforme especificado acima.

Requisitos

Plataformas: Consulte Requisitos do sistema.
Cabeçalho: Nenhum
Biblioteca: Nenhum
Versões do .NET Framework: Disponíveis desde a 4.7

Consulte também