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 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 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: See .NET Framework System Requirements.

Header: CorDebug.idl

Library: CorGuids.lib

.NET Framework Versions: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

See Also

Reference

ICorDebugHandleValue Interface

ICorDebugValue Interface

Other Resources

Debugging Interfaces