更新 : 2007 年 11 月
共通言語ランタイム (CLR: Common Language Runtime) のターゲット項目と対話するためのメソッドを提供します。
interface ICLRDataTarget : IUnknown {
HRESULT GetCurrentThreadID (
[out] ULONG32 *threadID
);
HRESULT GetImageBase (
[in, string] LPCWSTR imagePath,
[out] CLRDATA_ADDRESS *baseAddress
);
HRESULT GetMachineType (
[out] ULONG32 *machineType
);
HRESULT GetPointerSize (
[out] ULONG32 *pointerSize
);
HRESULT GetThreadContext (
[in] ULONG32 threadID,
[in] ULONG32 contextFlags,
[in] ULONG32 contextSize,
[out, size_is(contextSize)]
BYTE *context
);
HRESULT GetTLSValue (
[in] ULONG32 threadID,
[in] ULONG32 index,
[out] CLRDATA_ADDRESS *value
);
HRESULT ReadVirtual (
[in] CLRDATA_ADDRESS address,
[out, size_is(bytesRequested), length_is(*bytesRead)]
BYTE *buffer,
[in] ULONG32 bytesRequested,
[out] ULONG32 *bytesRead
);
HRESULT Request (
[in] ULONG32 reqCode,
[in] ULONG32 inBufferSize,
[in, size_is(inBufferSize)]
BYTE *inBuffer,
[in] ULONG32 outBufferSize,
[out, size_is(outBufferSize)]
BYTE *outBuffer
);
HRESULT SetThreadContext (
[in] ULONG32 threadID,
[in] ULONG32 contextSize,
[in, size_is(contextSize)]
BYTE *context
);
HRESULT SetTLSValue (
[in] ULONG32 threadID,
[in] ULONG32 index,
[in] CLRDATA_ADDRESS value
);
HRESULT WriteVirtual (
[in] CLRDATA_ADDRESS address,
[in, size_is(bytesRequested)]
BYTE *buffer,
[in] ULONG32 bytesRequested,
[out] ULONG32 *bytesWritten
);
};
メソッド
メソッド |
説明 |
---|---|
現在のスレッドのオペレーティング システム識別子を取得します。 |
|
指定したイメージのメモリのベース アドレスを取得します。 |
|
対象のプロセスで使用されている命令セットの種類の識別子を取得します。 |
|
現在のターゲットへのポインタのサイズ (バイト単位) を取得します。 |
|
指定した識別子を持つスレッドのコンテキストへのポインタを取得します。 |
|
指定したスレッドの指定したインデックスにあるスレッド ローカル ストレージ (TLS: Thread Local Storage) の値を取得します。 |
|
指定された仮想メモリ アドレスから指定されたバッファにデータを読み込みます。 |
|
実装によって定義されている場合と同じように操作を要求するために、共通言語ランタイム (CLR) データ アクセス サービスによって呼び出されます。 |
|
対象プロセス内の指定したスレッドの現在のコンテキストを設定します。 |
|
対象プロセス内の指定したスレッドのスレッド ローカル ストレージ (TLS) に値を設定します。 |
|
指定されたバッファから指定された仮想メモリ アドレスにデータを書き込みます。 |
解説
API クライアント (デバッガ) は、必要に応じ、特定のターゲット項目に対してこのインターフェイスを実装する必要があります。たとえば、ライブ プロセスには、メモリ ダンプとは異なるインターフェイスを実装します。
必要条件
プラットフォーム : 「.NET Framework システム要件」を参照
ヘッダー : ClrData.idl
ライブラリ : CorGuids.lib
.NET Framework のバージョン : 3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0