IUnknown

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

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í.

Metody

Rozhraní IUnknown obsahuje tři metody: QueryInterface, AddRef a Release. 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; };

Metoda QueryInterface

Pomocí metody QueryInterface klient zjišťuje, zda daná komponenta podporuje nějaké rozhraní. První parametr této metody - riid - identifikuje rozhraní, které požadujeme. +more 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.

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). +more * Pro vývojáře v Mozille je toto rozhraní známé jako nsISupports.

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top