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 およびサード パーティ各社は、機能を妨害することなくオブジェクトを拡張できる。