DacpMethodTableData 構造体

メソッド テーブル情報のトランスポート バッファーを定義します。

Note

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

構文

struct DacpMethodTableData : ZeroInit<DacpMethodTableData>
{
    BOOL bIsFree; // everything else is NULL if this is true.
    CLRDATA_ADDRESS Module;
    CLRDATA_ADDRESS Class;
    CLRDATA_ADDRESS ParentMethodTable;
    WORD wNumInterfaces;
    WORD wNumMethods;
    WORD wNumVtableSlots;
    WORD wNumVirtuals;
    DWORD BaseSize;
    DWORD ComponentSize;
    mdTypeDef cl; // Metadata token    
    DWORD dwAttrClass; // cached metadata
    BOOL bIsShared; // flags & enum_flag_DomainNeutral
    BOOL bIsDynamic;
    BOOL bContainsPointers;
    
    HRESULT Request(ISOSDacInterface *sos, CLRDATA_ADDRESS addr)
    {
        return sos->GetMethodTableData(addr, this);
    }
};

Members

メンバー 説明
bIsFree メソッド テーブルが空きかどうかを示す値。 このメンバーが TRUEされている場合は、他のすべてのメンバーが NULLされます。
Module メソッド テーブルを含むモジュールのアドレス。
Class メソッド テーブルの EEClass のアドレス。
ParentMethodTable 親メソッド テーブルのアドレス。
wNumInterfaces 型によって実装されるインターフェイスの数。
wNumMethods メソッド テーブルのメソッドの数。
wNumVtableSlots メソッド テーブル上の vtable スロットの数。
wNumVirtuals メソッド テーブルの仮想メソッドの数。
BaseSize 型のインスタンスの基本サイズ。
ComponentSize 配列または文字列インスタンスのコンポーネント サイズ。
cl 型のメタデータ トークン。
dwAttrClass 型のキャッシュされたメタデータ属性。
bIsShared メソッド テーブルが共有されているかどうかを示す値。
bIsDynamic メソッド テーブルが動的な型を表すかどうかを示す値。
bContainsPointers 型のインスタンスにオブジェクト参照が含まれているかどうかを示す値。
Request ISOSDacInterface::GetMethodTableDataを呼び出して、メソッド テーブルのアドレスから構造体を設定します。

注釈

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

必要条件

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

こちらも参照ください