API:Soap.SOAPHTTPClient.THTTPRIO.QueryInterface
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 メソッドを実装します。
Soap.SOAPHTTPClient.THTTPRIO.QueryInterface は Soap.Rio.TRIO.QueryInterface を継承しています。以下の内容はすべて Soap.Rio.TRIO.QueryInterface を参照しています。
IInterface QueryInterface メソッドを実装します。
QueryInterface メソッドは IInterface インターフェースを介して呼び出され,IID パラメータで識別されるインターフェースのインターフェースポインタを取得します。Delphi では,この呼び出しは,アプリケーションが as 演算子を使って TRIO を呼び出し可能なインターフェースにキャストしたときに生成されます。
TRIO が返せるインターフェースポインタの型は,1 つだけです。アプリケーションが最初に QueryInterface を呼び出したときに,TRIO はメモリ内メソッドテーブルを生成して,要求されたインターフェースのメソッドの呼び出しをサポートします。
IID は,この TRIO インスタンスを使用して,アプリケーションが呼び出す呼び出し可能なインターフェースを指定します。TRIO オブジェクトがすでにインターフェースに型キャストされている場合,IID はそのインターフェースを識別する必要があります。TRIO インスタンスがまだインターフェースに型キャストされていない場合,IID は登録されている呼び出し可能なインターフェースである必要があります。
Obj は,TRIO がすでにほかのインターフェースを実装していない場合や,IID が登録されていないインターフェースを特定していない場合は,指定したインターフェースのインターフェースポインタを返します。
QueryInterface は,Obj がインターフェースポインタを返すことに成功すると,0(S_OK)を返します。成功しなかった場合は,E_NOINTERFACE を返します。
QueryInterface は,インターフェースポインタを返すことに成功すると,参照カウントを自動的にインクリメントします。