Share via


IUnknown::QueryInterface メソッド

IUnknown::QueryInterface メソッド

オブジェクトが特定のコンポーネント オブジェクト モデル (COM) インターフェイスをサポートしているかどうかを判別する。インターフェイスがサポートされている場合、システムはオブジェクトの参照カウントを増やし、アプリケーションは、そのインターフェイスをすぐに使える。

構文

HRESULT QueryInterface(      
    REFIID riid,
    LPVOID *ppvObj
);

パラメータ

  • riid
    要求するインターフェイスの参照識別子。
  • ppvObj
    目的のインターフェイスがサポートされている場合に、インターフェイスへのポインタが格納されるポインタ変数のアドレス。

戻り値

成功した場合は、S_OK を返す。

失敗した場合は、E_NOINTERFACE または E_POINTER を返す。コンポーネントには、これらのエラー値に対する独自の定義をヘッダー ファイルに格納しているものもある。たとえば、Microsoft® DirectInput® では DIERR_NOINTERFACE は E_NOINTERFACE に等しい。

注意

このメソッドの呼び出しにより取得したインターフェイスを使う必要がない場合は、そのインターフェイスの IUnknown::Release メソッドを呼び出してインターフェイスを解放しなければならない。IUnknown::QueryInterface メソッドにより、Microsoft およびサード パーティ各社は、機能を妨害することなくオブジェクトを拡張できる。