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.
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 (GC) on objects when the debugged process is continued. The GC may move objects around in memory. An ICorDebugReferenceValue will either cooperate with GCs so that its information is updated after the GC, or it will be invalidated implicitly before the GC.
The ICorDebugReferenceValue object may be implicitly invalidated after the debugged process has been continued. The derived ICorDebugHandleValue Interface 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
See Also
Reference
ICorDebugHandleValue Interface
ICorDebugValue Interface