Share via


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

ICorDebugReferenceValue::Dereference Method

Gets the object that is referenced.

ICorDebugReferenceValue::DereferenceStrong Method

Not implemented. Do not call this method.

ICorDebugReferenceValue::GetValue Method

Gets the current memory address of the referenced object.

ICorDebugReferenceValue::IsNull Method

Gets a value that indicates whether this ICorDebugReferenceValue is a NULL value, in which case the ICorDebugReferenceValue does not point to an object.

ICorDebugReferenceValue::SetValue Method

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

Other Resources

Debugging Interfaces