基本 COM インターフェイス:IUnknown
COM の基礎:インデックス への移動
C++Builder 開発者ガイド への移動
すべての COM オブジェクトでは、基底インターフェイス型 IInterface への typedef である IUnknown という基本インターフェイスをサポートする必要があります。IUnknown には次のルーチンがあります。
QueryInterface |
オブジェクトでサポートされている他のインターフェイスへのポインタを提供します。 |
AddRef および Release |
クライアントでオブジェクトのサービスが不要になったときにそのオブジェクトが自分自身を削除できるようにオブジェクトの存続時間を追跡するシンプルな参照カウント メソッドです。 |
クライアントでは、IUnknown のメソッド QueryInterface を使って他のインターフェイスへのポインタを取得します。QueryInterface は、サーバー オブジェクトに用意されているすべてのインターフェイスを把握しており、要求されたインターフェイスへのポインタをクライアントに提供できます。インターフェイスへのポインタを受け取ると、クライアントは、そのインターフェイスのどのようなメソッドでも必ず呼び出せます。
オブジェクトは、IUnknown のメソッド AddRef および Release(シンプルな参照カウント メソッド)を使って自分自身の存続時間を追跡します。オブジェクトは、自分の参照カウントがゼロでない限り、メモリ内にとどまります。参照カウントがゼロに達したら、インターフェイス実装は、ベースとなるオブジェクトを安全に破棄できます。