IUnknown

すべてのコンポーネント オブジェクト モデル (COM) オブジェクトは、IUnknown と呼ばれるインターフェイスをサポートします。このインターフェイスは、オブジェクトの有効期間を制御する機能とオブジェクトにより実装された他のインターフェイスを取得する機能を Microsoft DirectX に提供します。IUnknown には 3 つのメソッドがあります。

IUnknown メンバー

メソッド 説明
IUnknown::AddRef インターフェイスのリファレンス カウントを 1 だけ増加させます。
IUnknown::QueryInterface 要求するインターフェイスの参照識別子です。
IUnknown::Release インターフェイスのリファレンス カウントを 1 だけ減少させます。

解説 

IUnknown::AddRef メソッドと IUnknown::Release メソッドは、オブジェクトのリファレンス カウントを管理します。たとえば、Microsoft Direct3D オブジェクトを作成すると、オブジェクトのリファレンス カウントは 1 に設定されます。関数はそのオブジェクトのインターフェイスへのポインターを返すたびに、そのポインターを使用して IUnknown::AddRef を呼び出し、リファレンス カウントをインクリメントする必要があります。IUnknown::AddRef を呼び出すたびに、対応する IUnknown::Release を呼び出してください。ポインターを破壊するには、そのポインターを使用して IUnknown::Release を呼び出す必要があります。オブジェクトのリファレンス カウントが 0 に達すると、オブジェクトは破壊され、オブジェクトへのすべてのインターフェイスが無効になります。

IUnknown::QueryInterface メソッドは、オブジェクトが特定のインターフェイスをサポートしているかどうかを確認します。オブジェクトがインターフェイスをサポートしている場合、IUnknown::QueryInterface は、そのインターフェイスへのポインターを返します。これによって、そのインターフェイスのメソッドを使用して、オブジェクトと通信できます。IUnknown::QueryInterface がインターフェイスへのポインターを正常に返すと、暗黙的に IUnknown::AddRef を呼び出して、リファレンス カウントをインクリメントします。そのため、インターフェイスへのポインターを破壊する前に、アプリケーションは IUnknown::Release を呼び出して、リファレンス カウントをデクリメントする必要があります。

     スタンドアロン DirectX ヘルプのユーザーのために、このドキュメントには IUnknown のリファレンス ページが含まれています。このインターフェイスの最新の詳細情報については、Microsoft プラットフォーム ソフトウェア開発キット (SDK) のドキュメントを参照してください。