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 |