ICorDebugReferenceValue Interface
Provides methods that manage a value that is a reference to an object. (That is, this interface provides methods that manage a pointer.) This interface implements 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
);
};
Methods
Method |
Description |
---|---|
Gets the object that is referenced. |
|
Not implemented. Do not call this method. |
|
Gets the current memory address of the referenced object. |
|
Gets a value that indicates whether this ICorDebugReferenceValue is a null value, in which case the ICorDebugReferenceValue does not point to an object. |
|
Sets the current memory address. That is, this method sets this ICorDebugReferenceValue to point to an object. |
Remarks
The common language runtime (CLR) may do a garbage collection on objects when the debugged process is continued. The garbage collection may move objects around in memory. An ICorDebugReferenceValue will either cooperate with the garbage collection so that its information is updated after the garbage collection, or it will be invalidated implicitly before the garbage collection.
The ICorDebugReferenceValue object may be implicitly invalidated after the debugged process has been continued. The derived ICorDebugHandleValue is not invalidated until it is explicitly released or exposed.
Requirements
Platforms: Windows 2000, Windows XP, Windows Server 2003 family
Header: CorDebug.idl
Library: CorGuids.lib
.NET Framework Version: 2.0, 1.1, 1.0