次の方法で共有


QueryInterface

オブジェクトが機能を表現できる機構が、静的に提供する (インスタンス化される前に) ですが、基本的な COM の機構は QueryInterfaceという IUnknown のメソッドを使用することです。

すべてのインターフェイスは IUnknownから派生しているため、すべてのインターフェイスに QueryInterfaceの実装があります。実装に関係なく、このメソッドは呼び出し元は、ポインターを取得するインターフェイスの IID を使用してオブジェクトを照会します。また AddRefの呼び出し中にインターフェイスをサポートするオブジェクト、QueryInterface がインターフェイスへのポインターを取得します。それ以外の場合は E_NOINTERFACE のエラー コードを返します。

参照カウント の規則には常に従う必要があります。ゼロに参照カウントをデクリメントするためのインターフェイス ポインターの [リリース] を呼び出すと、このポインターを使用しないでください。ときどきオブジェクト (つまり、参照カウントをインクリメントしませんの 1 つがインターフェイスへのポインターを取得する) への弱い参照を取得する必要がある QueryInterface を **[リリース]**後に呼び出さないことで行います。は適切ではありません。このような方法で取得されたポインターは無効なため、使用しないでください。_ATL_DEBUG_INTERFACES が定義されているため、このマクロを定義すると、参照カウント バグを検出する便利な方法です。この場合も簡単に明確になります。

参照

関連項目

COM の概要

QueryInterface: Navigating in an Object