Microsoft DirectX 8.0 (C++)

IUnknown::QueryInterface

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

HRESULT QueryInterface(
  REFIID riid, 
  LPVOID* ppvObj  
);

パラメータ

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

戻り値

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

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

注意

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

動作環境

  Windows NT/2000 : Windows NT 3.1 以降が必要。
  Windows 95/98 : Windows 95 以降に対する再配布可能ファイルとして提供。
  ヘッダー : Unknwn.h で宣言。