更新 : 2007 年 11 月
オブジェクトへの参照である値を管理するメソッドを提供します(つまり、このインターフェイスには、ポインタを管理するメソッドが用意されています)。このインターフェイスは、ICorDebugValue を実装します。
interface ICorDebugReferenceValue : ICorDebugValue {
HRESULT Dereference (
[out] ICorDebugValue **ppValue
);
HRESULT DereferenceStrong (
[out] ICorDebugValue **ppValue
);
HRESULT GetValue (
[out] CORDB_ADDRESS *pValue
);
HRESULT IsNull (
[out] BOOL *pbNull
);
HRESULT SetValue (
[in] CORDB_ADDRESS value
);
};
メソッド
メソッド |
説明 |
---|---|
参照されるオブジェクトを取得します。 |
|
実装されていません。このメソッドを呼び出さないでください。 |
|
参照されるオブジェクトの現在のメモリ アドレスを取得します。 |
|
この ICorDebugReferenceValue が null 値かどうかを示す値を取得します。null 値の場合、ICorDebugReferenceValue はオブジェクトを指していません。 |
|
現在のメモリ アドレスを設定します。つまり、このメソッドはこの ICorDebugReferenceValue がオブジェクトを指すように設定します。 |
解説
共通言語ランタイム (CLR: Common Language Runtime) は、デバッグされているプロセスを続行するときに、オブジェクトに対してガベージ コレクションを実行する場合があります。ガベージ コレクションはメモリ内でオブジェクトを移動できます。ICorDebugReferenceValue は、ガベージ コレクションの後に情報が更新されるようにガベージ コレクションと連携するか、ガベージ コレクションの前に暗黙的に無効化されます。
ICorDebugReferenceValue オブジェクトは、デバッグされているプロセスが続行された後、暗黙的に無効化される場合があります。派生した ICorDebugHandleValue は、明示的に解放または公開されるまで無効化されません。
必要条件
プラットフォーム : 「.NET Framework システム要件」を参照
ヘッダー : CorDebug.idl
ライブラリ : CorGuids.lib
.NET Framework のバージョン : 3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0