5.2.1. Metoda QueryInterface

   virtual HRESULT __stdcall* QueryInterface(
       const IID& iid, void** ppv) = 0;

Metoda QueryInterface slouží k získání ukazatele na rozhraní, jehož identifikace je dána parametrem iid. Tato identifikace je reprezentována 128 bitovou jednoznačně přidělenou číselnou hodnotou, zapisovanou obvykle šestnáctkově jako např. {cb9497b0-20b8-11d2-a4dc-00c04f991c78}. Přidělování těchto identifikátorů (obecně nazývaných GUID - Globally Unique Identifier, případně UUID - Universally Unique Identifier) se provádí algoritmem, jenž zaručuje, že nikde na světě nemohou vzniknout dva stejné identifikátory. Při výpočtu se berou do úvahy údaje jako je číslo síťové karty, aktuální datum a čas, aby byla jednoznačnost dostatečně spolehlivě zaručena.

Pokud komponenta nepodporuje rozhraní, na které se dotazujeme, vrátí metoda QueryInterface návratovou hodnotu E_NOINTERFACE. Je-li však toto rozhraní podporováno, vrací hodnotu S_OK a do parametru ppv uloží ukazatel na požadované rozhraní. Tento ukazatel je pak možné použít pro volání metod nalezeného rozhraní.