|
IUnknownインタフェースは、Component Object Model (COM)において基盤となるインタフェースである。COMの仕様では、すべてのCOMオブジェクトはIUnknownインタフェースを実装していなければならないとされている。すなわち、IUnknownは、COMにおけるルートクラスである。また、すべてのCOMインタフェースはIUnknownの派生である。 ==メソッド== IUnknownには、QueryInerface、AddRef、Releaseの3つのメソッドがある。QueryInterfaceは、ほかに実装しているインタフェースを問い合わせ、取得するメソッドである。AddRefとReleaseは、それぞれ参照カウントの増減を行う。 *QueryInterfaceはインタフェースを識別するGUID (通常インタフェースID (IID) と呼ぶ) に基づいて、他のインタフェースへのポインタを得るために用いる。対象のCOMオブジェクトが実装していないインタフェースを要求された場合には、エラー値としてE_NOINTERFACEを返す。 *なお、すべてのCOMオブジェクトはIUnknownを実装しているという性質上、IUnknownのIIDを引数に指定してのQueryInterfaceは必ず成功する。 *AddRefはクライアントがこのCOMオブジェクトの参照を始めることを伝えるために用いる。 *ReleaseはクライアントがこのCOMオブジェクトの使用を終了することを伝えるために用いる。 AddRefとReleaseの戻り値は現在の参照カウントの値であるが、あくまでテスト用を目的としている。 なお、IUnknownのインタフェースIDは、と定義されている。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「IUnknown」の詳細全文を読む スポンサード リンク
|