Структура DacpRCWData

Определяет буфер транспорта для вызываемой оболочки среды выполнения (RCW).

Note

Этот API изначально был разработан для внутреннего использования во время выполнения. Хотя она теперь поддерживается для 3-го стороннего использования, мы рекомендуем по возможности работать с ICorDebugICorProfiler и API.

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

Член Описание
identityPointer Адрес указателя удостоверения COM.
unknownPointer Адрес указателя IUnknown .
managedObject Адрес управляемого объекта, связанного с RCW.
jupiterObject Адрес связанного объекта Юпитера.
vtablePtr Адрес указателя vtable.
creatorThread Адрес потока, создавшего RCW.
ctxCookie Файл cookie контекста для RCW.
refCount Число ссылок для RCW.
interfaceCount Количество интерфейсов, связанных с RCW.
isJupiterObject Значение, указывающее, представляет ли RCW объект Юпитера.
supportsIInspectable Значение, указывающее, поддерживает IInspectableли RCW.
isAggregated Значение, указывающее, агрегируется ли RCW.
isContained Значение, указывающее, содержится ли RCW.
isFreeThreaded Значение, указывающее, является ли RCW свободным потоком.
isDisconnected Значение, указывающее, отключен ли RCW.
Request Заполняет структуру путем вызова ISOSDacInterface::GetRCWData.
IsDCOMProxy Определяет, является ли RCW прокси-сервером DCOM, используя ISOSDacInterface2::IsRCWDCOMProxyего при наличии этого интерфейса.

Remarks

Эта структура находится внутри среды выполнения и не предоставляется с помощью каких-либо заголовков или файлов библиотеки. Чтобы использовать его, определите структуру, как указано выше.

Требования

Платформы: см. раздел Требования к системе.
Заголовок: Никакой
Библиотека: Никакой
версии платформы .NET: доступно с версии 4.7

См. также