From Wikipedia, the free encyclopedia
IUnknown je rozhraní sloužící k získání jiného rozhraní od jísté COM komponenty. Podle specifikace musí každá COM komponenta implementovat přinejmenším právě toto rozhraní.
Rozhraní IUnknown obsahuje tři metody: QueryInterface
, AddRef
a Release
.[1] Tyto tři
metody jsou prvními třemi metodami v tabulce virtuálních metod každého rozhraní, protože všechny COM rozhraní jsou odvozeny právě od rozhraní IUnknown.
Pomocí funkce QueryInterface
může uživatel zjistit, zda daná komponenta podporuje nějaké určité rozhraní.
interface IUnknown {
virtual HRESULT QueryInterface (REFIID riid, void **ppvObject) = 0;
virtual ULONG AddRef () = 0;
virtual ULONG Release () = 0;
};
Pomocí metody QueryInterface
klient zjišťuje, zda daná komponenta podporuje nějaké rozhraní. První parametr této metody – riid
– identifikuje rozhraní, které požadujeme. Tento parametr je strukturou REFIID ve tvaru globálně jedinečného identifikátoru (GUID). Druhý parametr je adresa, kam metoda QueryInterface
vrací ukazatel na požadované rozhraní.
HRESULT
je 32bitový návratový kód, který může nabývat hodnot S_OK
a E_NOINTERFACE
.
Rozhraní IUnknown má své využití v následujících oblastech:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.