Sdílet prostřednictvím


Rozhraní QueryInterface funkce

Přestože mechanismy, kterými objekt lze vyjádřit funkcí poskytuje staticky (dříve, než je obvyklá), je základní mechanismus COM použít IUnknown volána metoda funkce QueryInterface.

Každé rozhraní je odvozena od IUnknown, takže každé rozhraní má implementace QueryInterface .Tato metoda nezávisle na provádění dotazů objektu pomocí IID rozhraní, které chce volající ukazatel.Pokud objekt podporuje rozhraní, QueryInterface načítá při volání také ukazatele na rozhraní AddRef .Jinak vrací E_NOINTERFACE kód chyby.

Všimněte si, že musí dodržovat Počítání odkazů pravidla vždy.Při volání vydání na ukazatele rozhraní chcete snížit počet odkazů na nulu, neměli byste používat tento ukazatel znovu.Občas budete muset získat Slabý odkaz na objekt (to znamená, že chcete získat ukazatel myši na jeden z jeho rozhraní bez nezvyšuje počet odkazů), ale není přijatelné provést voláním QueryInterface následované vydání.Ukazatel získané takovým způsobem, je neplatná a by neměly být použity.Tím méně zřejmé při _ATL_DEBUG_INTERFACES je definován tak definující toto makro je užitečné hledání odkazu počítání chyby.

Viz také

Referenční dokumentace

Úvod do modelu COM

QueryInterface: Navigating in an Object