IUnknown インターフェイス

IUnknown インターフェイス

すべてのコンポーネント オブジェクト モデル (COM) オブジェクトは、IUnknown というインターフェイスをサポートする。このインターフェイスは、オブジェクトの有効期間を制御する機能と、オブジェクトが実装する他のインターフェイスを取得する機能を Microsoft® DirectX® に提供する。IUnknown は、次の 3 つのメソッドを持つ。

IUnknown Members

AddRef

インターフェイスの参照カウントを 1 ずつ増やす。

QueryInterface

オブジェクトが特定の COM インターフェイスをサポートしているかどうかを判別する。インターフェイスをサポートしている場合、システムはオブジェクトの参照カウントを増やす。アプリケーションは、そのインターフェイスをすぐに使える。

Release インターフェイスの参照カウントを 1 ずつ減らす。

注意

IUnknown::AddRef メソッドと IUnknown::Release メソッドは、オブジェクトの参照カウントを管理する。たとえば、Microsoft Direct3D® オブジェクトを作成すると、そのオブジェクトの参照カウントは 1 に設定される。関数は、そのオブジェクトのインターフェイスへのポインタを返すたびに、そのポインタを使って IUnknown::AddRef を呼び出し、参照カウントをインクリメントしなければならない。また、IUnknown::AddRef を呼び出した場合は、対応する IUnknown::Release を呼び出さなければならない。ポインタを破棄する前には、そのポインタを使って IUnknown::Release を呼び出さなければならない。オブジェクトの参照カウントが 0 になると、オブジェクトは破棄され、そのオブジェクトへのインターフェイスはすべて無効になる。

IUnknown::QueryInterface メソッドは、オブジェクトが特定のインターフェイスをサポートしているかどうかを調べる。目的のインターフェイスがサポートされている場合、そのインターフェイスへのポインタが返る。次に、そのインターフェイスのメソッドを使って、オブジェクトとやり取りできるようになる。インターフェイスへのポインタが正常に返った場合、IUnknown::QueryInterface は非明示的に IUnknown::AddRef を呼び出して、参照カウントをインクリメントする。このため、インターフェイスへのポインタを破棄する前に、アプリケーションは IUnknown::Release を呼び出して、参照カウントをデクリメントしなければならない。

  スタンドアロン DirectX のヘルプ ファイルのユーザーのために、IUnknown の参照ページがこのドキュメントに含まれている。このインターフェイスの最新かつ詳細な情報については、Microsoft Platform Software Development Kit (SDK) のドキュメントを参照すること。

インターフェイスの情報

継承元 なし
ヘッダー unknwn.h
最低限のオペレーティング システム Windows 98