IXCLRDataProcess::FollowStub2 メソッド
CLR スタブであるアドレス (および前の後続の状態の可能性がある) を指定すると、スタブが終了したかどうかを確認する次の実行アドレスが決定されます。
注: このメソッドは、 IXCLRDataProcess::Request
によって返されるプロセスリビジョンが少なくとも7である場合にのみ使用できます。 プロセスリビジョンを低くするために、呼び出し元は古い IXCLRDataProcess::FollowStub
メソッドを使用する必要があります。
Note
この API はもともと、ランタイムで内部使用するために設計されました。 現在はサードパーティによる使用がサポートされていますが、可能な場合は API ICorDebug
および ICorProfiler
を使用することをお勧めします。
構文
HRESULT FollowStub(
[in] IXCLRDataTask *task,
[in] ULONG32 inFlags,
[in] CLRDATA_ADDRESS inAddr,
[in] CLRDATA_FOLLOW_STUB_BUFFER *inBuffer,
[out] CLRDATA_ADDRESS *outAddr,
[out] CLRDATA_FOLLOW_STUB_BUFFER *outBuffer,
[out] ULONG32 *outFlags
);
パラメーター
task
[in]スタブの後に続くタスク。
inFlags
[in]スタブのフォロー方法を説明するフラグのセット。 現在、CLRDATA_FOLLOW_STUB_DEFAULT (0) の 1 つの値のみを含む CLRDataFollowStubInFlag
列挙体の値である必要があります。
inAddr
[in]フォローするスタブのアドレス
inBuffer
[in]スタブのチェーンを歩く状態を維持するために内部的に使用される不透明なデータ バッファー。 これは、 FollowStub
メソッドの最初の呼び出しでは NULL である必要があります。
outAddr
[out]スタブに従って決定された次の実行アドレス。
outBuffer
[out]スタブのチェーンを歩く状態を維持するために内部的に使用される不透明なデータ バッファー。
outFlags
[out]スタブに従った結果を記述するフラグのセット。 これは、 CLRDataFollowStubOutFlag
列挙体の値です。 値が CLRDATA_FOLLOW_STUB_INTERMEDIATE
(0) の場合、結果はスタブの後の中間ステップになり、呼び出し元は FollowStub を再度呼び出すことができます。 値が CLRDATA_FOLLOW_STUB_EXIT
(1) の場合、これはスタブ チェーンの末尾であり、 outAddr
はチェーンの末尾にある実行アドレスです。
解説
特定のアドレスは、CLRDATA_ADDRESS_RUNTIME_MANAGED_STUB
またはCLRDATA_ADDRESS_RUNTIME_UNMANAGED_STUB
の型を返すIXCLRDataProcess::GetAddressType
メソッドを使用してスタブであると判断できます。
指定されたメソッドは、 IXCLRDataProcess
インターフェイスの一部であり、仮想メソッド テーブルの 48 番目のスロットに対応します。
要件
:「システム要件」を参照してください。 ヘッダー: なし ライブラリ: なし .NET Framework のバージョン: 4.7 以降で使用可能
関連項目
.NET