IObjectWithBackReferences interface (shobjidl_core.h)

Provides a method for interacting with back references held by an object.

Inheritance

The IObjectWithBackReferences interface inherits from the IUnknown interface. IObjectWithBackReferences also has these types of members:

Methods

The IObjectWithBackReferences interface has these methods.

 
IObjectWithBackReferences::RemoveBackReferences

Removes all back references held by an object.

Remarks

When to Use

When an object contains forward references to child objects that have back references to the parent object, circular references can occur. To break this circle, the parent object needs to keep track of back references from child objects.

When to Implement

This interface should be implemented by Shell data source objects (objects that implement IShellFolder) that hold references to other objects in a way that might result in reference cycles. For example, an object that maintains references to other data source objects that are cached as the result of binding operations should implement this interface.

This interface was available in Windows Vista with Service Pack 1 (SP1), but it was not declared in a public header until Windows 7. For use in Windows Vista with SP1, the following Interface Definition Language (IDL) fragment describes this interface, including its IID.

object,
    uuid(321a6a6a-d61f-4bf3-97ae-14be2986bb36),
    pointer_default(unique)
]
interface IObjectWithBackReferences : IUnknown
{
    HRESULT RemoveBackReferences();
}

The following C++ fragment can be used to enable access to this interface.

struct 
    __declspec(uuid("321a6a6a-d61f-4bf3-97ae-14be2986bb36")) 
    __declspec(novtable)
IObjectWithBackReferences : public IUnknown
{
    public:
        virtual HRESULT __stdcall RemoveBackReferences() = 0;
};

Requirements

Requirement Value
Minimum supported client Windows Vista with SP1, Windows 7 [desktop apps only]
Minimum supported server Windows Server 2008 R2 [desktop apps only]
Target Platform Windows
Header shobjidl_core.h (include Shobjidl.h)