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);
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
function | public | System.Rtti.pas System.Rtti.hpp |
System.Rtti | TVirtualInterface |
Description
Crée une référence à l'interface virtuelle.
Une instance de TVirtualInterface représente une implémentation à l'exécution d'une interface Delphi. Pour utiliser une "interface virtuelle", vous devez créer une instance spécifique de TVirtualInterface et obtenir une référence à "l'interface virtuelle". Pour ce faire, vous devez transtyper l'instance de TVirtualInterface à l'interface Delphi correspondante ou utiliser la fonction QueryInterface.
Si l'opération a réussi, la valeur de retour (HRESULT) est S_OK.
QueryInterface incrémente le compteur de références associé à l'instance de TVirtualInterface. Lorsque la valeur du compteur devient 0, l'instance de TVirtualInterface est automatiquement détruite. Vous ne devez jamais détruire une instance de TVirtualInterface directement.
Exemple d'utilisation
Pour Delphi :
if TVirtualInterfaceInstance.QueryInterface(ISpecificInterface, ISpecificInterfaceInstance) = S_OK then
// ...
Pour C++ :
if (virtualInterfaceInstance->QueryInterface(__uuidof(ISpecificInterface), &specificInterfaceInstance) == S_OK)
// ...