System.Rtti.TVirtualInterface.QueryInterface
Delphi
function QueryInterface(const IID: TGUID; out Obj): HResult; virtual; stdcall;
C++
HIDESBASE virtual HRESULT __stdcall QueryInterface(const GUID &IID, /* out */ void *Obj);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | System.Rtti.pas System.Rtti.hpp |
System.Rtti | TVirtualInterface |
説明
仮想インターフェイスへの参照を作成します。
TVirtualInterface インスタンスは、Delphi インターフェイスのランタイム実装を表します。「仮想インターフェイス」で作業するには、特定の TVirtualInterface インスタンスを作成し、それを使って「仮想インターフェイス」の参照を取得しなければなりません。これには、TVirtualInterface インスタンスを対応する Delphi インターフェイスにキャストするか、QueryInterface 関数を使用します。
オペレーションが成功した場合、戻り値 (HRESULT) は S_OK になります。
QueryInterface は、TVirtualInterface インスタンスに関連づけられた参照カウンタをインクリメントさせます。(カウンタ値が 0 になると、TVirtualInterface インスタンスは自動的に破壊されます。)TVirtualInterface インスタンスを直接破壊してはいけません。
使用例
Delphi の場合:
if TVirtualInterfaceInstance.QueryInterface(ISpecificInterface, ISpecificInterfaceInstance) = S_OK then
// ...
C++ の場合:
if (virtualInterfaceInstance->QueryInterface(__uuidof(ISpecificInterface), &specificInterfaceInstance) == S_OK)
// ...