Soap.Rio.TRIO.QueryInterface
Delphi
function QueryInterface(const IID: TGUID; out Obj): HResult; override; stdcall;
C++
virtual HRESULT __stdcall QueryInterface(const GUID &IID, /* out */ void *Obj);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | Soap.Rio.pas Soap.Rio.hpp |
Soap.Rio | TRIO |
説明
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 は,インターフェースポインタを返すことに成功すると,参照カウントを自動的にインクリメントします。