次の方法で共有


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 以降で使用可能

関連項目