IUnknown: Porovnání verzí

Smazaný obsah Přidaný obsah
Založení stránky IUnknown
 
Více o metodě QueryInterface
Řádek 1:
IUnknown je [[Rozhraní (informatika)|rozhraní]] sloužící k získání jiného rozhraní od nějaké [[Component Object Model|COM]] komponenty. Podle specifikace musí každá COM komponenta implementovat přinejmenším právě toto rozhraní.
 
==Metody==
Rozhraní IUnknown obsahuje tři virtuální funkcemetody: <code>QueryInterface</code>, <code>AddRef</code> a <code>Release</code>. Tyto tři
funkcemetody jsou prvními třemi funkcemimetodami 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 <code>QueryInterface</code> může uživatel zjistit, zda daná komponenta podporuje nějaké určité rozhraní.
Řádek 14:
};
</source>
 
===Funkce QueryInterface===
Pomocí metody <code>QueryInterface</code> klient zjišťuje, zda daná komponenta podporuje nějaké rozhraní. První parametr této metody <code>riid</code> 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 <code>QueryInterface</code> vrací ukazatel na požadované rozhraní.
 
HRESULT je 32-bitový návratový kód, který může být buť <code>S_OK</code> nebo <code>E_NOINTERFACE</code>.
 
==Použití rozhraní==
Rozhraní IUnknown má své využití v následujících oblastech:
*Je základním rozhraním všech COM komponent
*Je základem pro Mac OS X framework CFPlugIn (Core Foundation)
*Pro vývojáře v Mozille je toto rozhraní známé jako <code>nsISupports</code>