Estrutura DacpRCWData

Define um buffer de transporte para informações de wrapper callable (RCW) de runtime.

Note

Essa API foi originalmente desenvolvida para uso interno no runtime. Embora ela agora tenha suporte para uso de terceiros, recomendamos trabalhar com as APIs ICorDebug e ICorProfiler quando possível.

Sintaxe

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 ponteiro de identidade COM.
unknownPointer O endereço do IUnknown ponteiro.
managedObject O endereço do objeto gerenciado associado ao RCW.
jupiterObject O endereço do objeto Júpiter associado.
vtablePtr O endereço do ponteiro vtable.
creatorThread O endereço do thread que criou o RCW.
ctxCookie O cookie de contexto para o RCW.
refCount A contagem de referência para o RCW.
interfaceCount O número de interfaces associadas ao RCW.
isJupiterObject Um valor que indica se o RCW representa um objeto Júpiter.
supportsIInspectable Um valor que indica se o RCW é IInspectablecompatível.
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 está com thread livre.
isDisconnected Um valor que indica se o RCW está desconectado.
Request Popula a estrutura chamando ISOSDacInterface::GetRCWData.
IsDCOMProxy Determina se o RCW é um proxy DCOM usando ISOSDacInterface2::IsRCWDCOMProxyquando essa interface está disponível.

Remarks

Essa estrutura reside dentro do runtime e não é exposta por meio de cabeçalhos ou arquivos de biblioteca. Para usá-la, defina a estrutura conforme especificado acima.

Requisitos

Plataformas: confira Requisitos do sistema.
Cabeçalho: Nenhum
Biblioteca: Nenhum
versões do .NET Framework: disponíveis desde 4.7

Consulte também