Soap.SOAPHTTPClient.THTTPRIO.QueryInterface

提供:RAD Studio API Documentation

Delphi

function QueryInterface(const IID: TGUID; out Obj): HResult; override; stdcall;

C++

HRESULT __stdcall QueryInterface(::System::DelphiInterface<T>& smartIntf)
virtual HRESULT __stdcall QueryInterface(const GUID &IID, /* out */ void *Obj);

プロパティ

種類 可視性 ソース ユニット 親
function public
Soap.SOAPHTTPClient.pas
Soap.SOAPHTTPClient.hpp
Soap.SOAPHTTPClient THTTPRIO

説明

IInterface QueryInterface メソッドを実装します。

QueryInterface メソッドは IInterface インターフェースを介して呼び出され,IID パラメータで識別されるインターフェースのインターフェースポインタを取得します。Delphi では,この呼び出しは,アプリケーションが as 演算子を使って THTTPRIO を呼び出し可能なインターフェースにキャストしたときに生成されます。

THTTPRIO が返せるインターフェースポインタの型は,1 つだけです。アプリケーションが最初に QueryInterface を呼び出したときに,THTTPRIO はメモリ内メソッドテーブルを生成して,要求されたインターフェースのメソッドに対する呼び出しをサポートします。

IID は,この THTTPRIO インスタンスを使用して,アプリケーションが呼び出す呼び出し可能なインターフェースを指定します。THTTPRIO オブジェクトがすでにインターフェースに型キャストされている場合,IID はそのインターフェースを識別する必要があります。THTTPRIO インスタンスがまだインターフェースに型キャストされていない場合,IID は登録されている呼び出し可能なインターフェースである必要があります。

Obj は,THTTPRIO がすでにほかのインターフェースを実装していたり,IID が登録されていないインターフェースを識別したりしない限りは,指定したインターフェースに対するインターフェースポインタを返します。

QueryInterface は,Obj がインターフェースポインタを返すことに成功すると,0(S_OK)を返します。成功しなかった場合は,E_NOINTERFACE を返します。

メモ:  C++ では,テンプレート化された 2 番めの構文では,目的のインターフェース型をラップする DelphiInterface ラッパーである変数を使用します。

QueryInterface は,インターフェースポインタを返すことに成功すると,参照カウントを自動的にインクリメントします。

関連項目