Platform SDK: DirectX

IUnknown::QueryInterface

IUnknown::QueryInterface メソッドは、指定された COM インターフェイスがオブジェクトによりサポートされているかどうかを調べる。インターフェイスがサポートされていた場合は、オブジェクトの参照カウントが 1 だけ増加する。アプリケーションは、このメソッドの呼び出し直後からそのインターフェイスを使用できるようになる。

HRESULT QueryInterface(
  REFIID riid, 
  LPVOID* obp  
);

パラメータ

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

戻り値

メソッドが成功すれば、S_OK が返される。

メソッドが失敗すれば、E_NOINTERFACE または E_POINTER が返される。また、コンポーネントの中には、これらのエラー値に対する個別の定義をヘッダー ファイルに格納しているものもある。たとえば、DirectInput では DIERR_NOINTERFACE と E_NOINTERFACE は同じ値である。

注意

このメソッドの呼び出しにより取得したインターフェイスを実際に使用する必要がない場合は、取得したインターフェイスの Release メソッドを呼び出してインターフェイスを解放しなければならない。QueryInterface メソッドにより、Microsoft およびサード パーティ各社は、既存の機能や将来追加される機能と衝突することなくオブジェクトを拡張できるようになる。

動作環境

  Windows NT/2000 : Windows NT 3.1 以降が必要。
  Windows 95/98 : Windows 95 以降が必要。
  ヘッダー : unknwn.h で宣言。