プロセスに読み込まれる共通言語ランタイム (CLR: Common Language Runtime) モジュールに対応する ICorDebugProcess インターフェイスを取得します。
HRESULT OpenVirtualProcess(
[in] ULONG64 moduleBaseAddress,
[in] IUnknown * pDataTarget,
[in] ICLRDebuggingLibraryProvider * pLibraryProvider,
[in] CLR_DEBUGGING_VERSION * pMaxDebuggerSupportedVersion,
[in] REFIID riidProcess,
[out, iid_is(riidProcess)] IUnknown ** ppProcess,
[in, out] CLR_DEBUGGING_VERSION * pVersion,
[out] CLR_DEBUGGING_PROCESS_FLAGS * pdwFlags);
パラメーター
moduleBaseAddress
[入力] ターゲット プロセスのモジュールのベース アドレス。 指定したモジュールが CLR モジュールでない場合は、COR_E_NOT_CLR が返されます。pDataTarget
[入力] マネージ デバッガーでプロセス状態を確認できるようにするためのデータ ターゲットの抽象。 デバッガーは、ICorDebugDataTarget インターフェイスを実装する必要があります。 デバッグする CLR がコンピューターのローカルにインストールされていないシナリオをサポートするには、ICLRDebuggingLibraryProvider インターフェイスを実装します。pLibraryProvider
[入力] バージョン固有のデバッグ ライブラリをオンデマンドで検索し、読み込むことを可能にする、ライブラリ プロバイダーのコールバック インターフェイス。 このパラメーターは、ppProcess または pFlags が null 以外である場合にのみ必要です。pMaxDebuggerSupportedVersion
[入力] このデバッガーでデバッグできる CLR の最上位バージョン。 今後の埋め込みの CLR サービス リリースに対応するには、このデバッガーでサポートされる最新の CLR バージョンのメジャー、マイナー、およびビルドの各バージョンを指定し、リビジョン番号を 65535 に設定します。riidProcess
[入力] 取得する ICorDebugProcess インターフェイスの ID。 現在指定できる値は、IID_CORDEBUGPROCESS3、IID_CORDEBUGPROCESS2、および IID_CORDEBUGPROCESS だけです。ppProcess
[出力] riidProcess によって識別される COM インターフェイスへのポインター。pVersion
[入力、出力] CLR のバージョン。 入力時は、この値を null にすることもできます。 また、CLR_DEBUGGING_VERSION 構造体へのポインターを指定することもできます。その場合、構造体の wStructVersion フィールドが 0 (ゼロ) に初期化されている必要があります。出力時は、CLR のバージョン情報が格納された CLR_DEBUGGING_VERSION 構造体が返されます。
pdwFlags
[出力] 指定したランタイムに関する情報フラグ。 フラグについては、CLR_DEBUGGING_PROCESS_FLAGS のトピックを参照してください。
戻り値
このメソッドは、次の特定の HRESULT と、メソッドの失敗を示す HRESULT エラーも返します。
HRESULT |
説明 |
---|---|
S_OK |
メソッドは正常に終了しました。 |
E_POINTER |
pDataTarget は null なので、 |
CORDBG_E_LIBRARY_PROVIDER_ERROR |
ICLRDebuggingLibraryProvider コールバックによりエラーが返されます。または、有効なハンドルが提供されません。 |
CORDBG_E_MISSING_DATA_TARGET_INTERFACE |
pDataTarget が、このバージョンのランタイムに必要なデータ ターゲット インターフェイスを実装していません。 |
CORDBG_E_NOT_CLR |
指定されたモジュールは、CLR モジュールではありません。 この HRESULT は、メモリが壊れているために CLR モジュールを検出できない場合、モジュールを使用できない場合、または CLR のバージョンが shim のバージョンより新しい場合にも返されます。 |
CORDBG_E_UNSUPPORTED_DEBUGGING_MODEL |
このランタイム バージョンは、このデバッグ モデルをサポートしていません。 現在、.NET Framework Version 4 より前のバージョンの CLR では、このデバッグ モデルがサポートされていません。 このエラーが発生しても、pwszVersion 出力パラメーターは正しい値に設定されます。 |
CORDBG_E_UNSUPPORTED_FORWARD_COMPAT |
このデバッガーでサポートされるバージョンよりも上位のバージョンの CLR が指定されています。 このエラーが発生しても、pwszVersion 出力パラメーターは正しい値に設定されます。 |
E_NO_INTERFACE |
riidProcess インターフェイスを使用できません。 |
CORDBG_E_UNSUPPORTED_VERSION_STRUCT |
CLR_DEBUGGING_VERSION 構造体に、認識される wStructVersion の値がありません。 現在指定できる値は 0 だけです。 |
必要条件
プラットフォーム: 「.NET Framework システム要件」を参照
ヘッダー: CorDebug.idl、CorDebug.h
ライブラリ: CorGuids.lib
.NET Framework のバージョン: 4