DacpRCWData 構造体

ランタイム呼び出し可能ラッパー (RCW) 情報のトランスポート バッファーを定義します。

Note

この API はもともと、ランタイムで内部使用するために設計されました。 現在はサードパーティによる使用がサポートされていますが、可能な場合は API ICorDebug および ICorProfiler を使用することをお勧めします。

構文

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 ID ポインターのアドレス。
unknownPointer IUnknown ポインターのアドレス。
managedObject RCW に関連付けられているマネージド オブジェクトのアドレス。
jupiterObject 関連付けられた Jupiter オブジェクトのアドレス。
vtablePtr vtable ポインターのアドレス。
creatorThread RCW を作成したスレッドのアドレス。
ctxCookie RCW のコンテキスト Cookie。
refCount RCW の参照カウント。
interfaceCount RCW に関連付けられているインターフェイスの数。
isJupiterObject RCW が Jupiter オブジェクトを表すかどうかを示す値。
supportsIInspectable RCW が IInspectableをサポートしているかどうかを示す値。
isAggregated RCW が集計されるかどうかを示す値。
isContained RCW が含まれているかどうかを示す値。
isFreeThreaded RCW がフリー スレッドかどうかを示す値。
isDisconnected RCW が切断されているかどうかを示す値。
Request ISOSDacInterface::GetRCWDataを呼び出して構造体を設定します。
IsDCOMProxy を使用して RCW が DCOM プロキシであるかどうかを判断します (そのインターフェイスが使用可能な場合)。

注釈

この構造体はランタイム内に存在し、ヘッダーまたはライブラリ ファイルを介して公開されることはありません。 これを使用するには、上で指定した構造を定義します。

必要条件

:システム要件」を参照してください。
ヘッダ: 何一つ
図書館: 何一つ
.NET Framework のバージョン: 4.7 以降で利用可能

こちらも参照ください