次の方法で共有


IObjectWithBackReferences インターフェイス (shobjidl_core.h)

オブジェクトが保持するバック参照を操作するためのメソッドを提供します。

継承

IObjectWithBackReferences インターフェイスは、IUnknown インターフェイスから継承されます。 IObjectWithBackReferences には、 次の種類のメンバーもあります。

メソッド

IObjectWithBackReferences インターフェイスには、これらのメソッドがあります。

 
IObjectWithBackReferences::RemoveBackReferences

オブジェクトによって保持されているすべてのバック参照を削除します。

注釈

使用するタイミング

親オブジェクトへの後方参照を持つ子オブジェクトへの前方参照がオブジェクトに含まれている場合、循環参照が発生する可能性があります。 この円を解除するには、親オブジェクトが子オブジェクトからのバック参照を追跡する必要があります。

実装するタイミング

このインターフェイスは、参照サイクルが発生する可能性のある方法で他のオブジェクトへの参照を保持するシェル データ ソース オブジェクト ( IShellFolder を実装するオブジェクト) によって実装する必要があります。 たとえば、バインド操作の結果としてキャッシュされる他のデータ ソース オブジェクトへの参照を保持するオブジェクトは、このインターフェイスを実装する必要があります。

このインターフェイスは、Service Pack 1 (SP1) で Windows Vista で使用できますが、Windows 7 まではパブリック ヘッダーで宣言されませんでした。 SP1 で Windows Vista で使用するために、次のインターフェイス定義言語 (IDL) フラグメントは、その IID を含め、このインターフェイスを記述します。

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

このインターフェイスへのアクセスを有効にするには、次の C++ フラグメントを使用できます。

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

要件

要件
サポートされている最小のクライアント Windows Vista と SP1、Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー shobjidl_core.h (Shobjidl.h を含む)