DacpThreadData 構造体

ランタイム スレッド情報のトランスポート バッファーを定義します。

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

構文

struct DacpThreadData : ZeroInit<DacpThreadData>
{
    DWORD corThreadId;
    DWORD osThreadId;
    int state;
    ULONG preemptiveGCDisabled;
    CLRDATA_ADDRESS allocContextPtr;
    CLRDATA_ADDRESS allocContextLimit;
    CLRDATA_ADDRESS context;
    CLRDATA_ADDRESS domain;
    CLRDATA_ADDRESS pFrame;
    DWORD lockCount;
    CLRDATA_ADDRESS firstNestedException; // Pass this pointer to DacpNestedExceptionInfo
    CLRDATA_ADDRESS teb;
    CLRDATA_ADDRESS fiberData;
    CLRDATA_ADDRESS lastThrownObjectHandle;
    CLRDATA_ADDRESS nextThread;

    HRESULT Request(ISOSDacInterface *sos, CLRDATA_ADDRESS addr)
    {
        return sos->GetThreadData(addr, this);
    }
};

Members

メンバー 説明
corThreadId マネージド スレッド識別子。
osThreadId オペレーティング システムのスレッド識別子。
state スレッド状態フラグ。
preemptiveGCDisabled スレッドに対してプリエンプティブ ガベージ コレクションが無効かどうかを示す値。
allocContextPtr スレッドの現在の割り当てコンテキスト ポインター。
allocContextLimit スレッドの割り当てコンテキストの制限。
context スレッド コンテキストのアドレス。
domain スレッドのアプリケーション ドメインのアドレス。
pFrame 現在のフレームのアドレス。
lockCount スレッドによって保持されているロックの数。
firstNestedException 入れ子になった最初の例外のアドレス。 このポインターを DacpNestedExceptionInfoに渡します。
teb スレッド環境ブロックのアドレス。
fiberData ファイバー データのアドレス。
lastThrownObjectHandle スレッドでスローされた最後のオブジェクトのハンドル。
nextThread ランタイム スレッドリスト内の次のスレッドのアドレス。
Request ISOSDacInterface::GetThreadDataを呼び出して構造体を設定します。

注釈

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

必要条件

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

こちらも参照ください