Sdílet prostřednictvím


Třída IDispEventImpl

Tato třída poskytuje implementace IDispatch metod.

Důležitá poznámkaDůležité

Tato třída a jeho členy nelze použít v aplikacích, které v .

template < 
UINT nID, 
class T, 
const IID* pdiid= &IID_NULL, 
const GUID* plibid= &GUID_NULL, 
WORD wMajor= 0, 
WORD wMinor= 0, 
class tihclass= CcomTypeInfoHolder 
> 
class ATL_NO_VTABLE IDispEventImpl : 
public IDispEventSimpleImpl<nID, T, pdiid>

Parametry

  • nID
    Jedinečný identifikátor pro zdrojový objekt.Při IDispEventImpl je základní třída pro složený ovládací prvek použijte pro tento parametr ID zdroje požadovaný ovládací prvek obsažený.V ostatních případech použijte libovolné kladné celé číslo.

  • T
    Třídu uživatele, která je odvozena od IDispEventImpl .

  • pdiid
    Ukazatel na identifikátor IID událostí omezené rozhraní IDispatch touto třídou implementována.Toto rozhraní musí být definovány v knihovně typů symbolem plibid , wMajor , a wMinor .

  • plibid
    Ukazatel na knihovnu typů, který definuje rozhraní odeslání odkazuje pdiid .Pokud & GUID_NULL, bude načten typ knihovny z objektu události zasažena.

  • wMajor
    Hlavní verze knihovny typů.Výchozí hodnota je 0.

  • wMinor
    Dílčí verze knihovny typů.Výchozí hodnota je 0.

  • tihclass
    Třídy lze spravovat informace o typu T .Výchozí hodnota je typu třídy CComTypeInfoHolder ; Tento parametr šablony však můžete přepsat zadáním jiné než třídy typu CComTypeInfoHolder .

Členy

Funkce TypeDef veřejné

Název

Description

Třída IDispEventImpl

Třída, která slouží ke správě informací o typu.Ve výchozím nastavení CComTypeInfoHolder .

Veřejné konstruktory

Název

Description

IDispEventImpl::IDispEventImpl

Konstruktor.

Veřejné metody

Název

Description

IDispEventImpl::GetFuncInfoFromId

Vyhledá funkce index pro odeslání zadaný identifikátor.

IDispEventImpl::GetIDsOfNames

Odpovídající sadu celočíselné hodnoty dispID mapuje jeden člen a volitelnou sadu názvy argumentů.

IDispEventImpl::GetTypeInfo

Načte informace o typu objektu.

IDispEventImpl::GetTypeInfoCount

Obnoví informace rozhraní typu číslo.

IDispEventImpl::GetUserDefinedType

Získá základní typ typ definovaný uživatelem.

Poznámky

IDispEventImplposkytuje způsob provádění omezené rozhraní IDispatch událostí bez nutnosti zadat kód provedení každé metody nebo události tohoto rozhraní.IDispEventImplposkytuje implementace IDispatch metod.Potřebujete poskytnout implementace událostí zajímají ve zpracování.

IDispEventImplspolupracuje s mapy jímky událostí ve své třídě na trase události funkci rutině.Pomocí této třídy:

Přidat SINK_ENTRY nebo SINK_ENTRY_EX makro mapy jímky událostí pro každou událost pro každý objekt, který chcete zpracovat.Při použití IDispEventImpl jako základní třída složené řízení volání AtlAdviseSinkMap a zrušit spojení s zdroje událostí pro všechny položky jímky událostí mapy.V ostatních případech nebo větší kontrolu, volání DispEventAdvise připojení mezi zdrojový objekt a základní třídy.Volání DispEventUnadvise přerušte spojení.

Musí být odvozena od IDispEventImpl (pomocí jedinečnou hodnotu pro nID ) pro každý objekt, pro který potřebujete zpracovávat události.Můžete znovu použít základní třídy podle unadvising proti jeden zdrojový objekt radí pak proti různých zdrojového objektu, ale maximální počet zdrojové objekty, které mohou být zpracovány prostřednictvím jednoho objektu v jednom okamžiku je omezen počet IDispEventImpl základní třídy.

IDispEventImplnabízí stejné funkce jako IDispEventSimpleImpl, s výjimkou získává z knihovny typů místo je zadáno jako ukazatel na typ informace o rozhraní _ATL_FUNC_INFO struktury.Použití IDispEventSimpleImpl při není mít knihovnu typů rozhraní události popisující nebo nechcete režijní náklady související s použitím knihovny typů.

[!POZNÁMKA]

IDispEventImpla IDispEventSimpleImpl poskytují vlastní provádění IUnknown::QueryInterface každé povolení IDispEventImpl a IDispEventSimpleImpl základní třída jednat jako zvláštní identity COM zároveň v hlavní objekt modelu COM umožňuje přímý přístup k členy třídy.

CE ATL provádění ActiveX jímky událostí podporuje pouze hodnoty typu HRESULT nebo zrušit z vaší metody zpracování události; ostatní vrácená hodnota není podporována a jeho chování nedefinovaná.

Další informace naleznete v tématu Podpůrné IDispEventImpl.

Hierarchii dědičnosti

_IDispEvent

_IDispEventLocator

IDispEventSimpleImpl

IDispEventImpl

Požadavky

Záhlaví: atlcom.h

Viz také

Referenční dokumentace

Struktura _ATL_FUNC_INFO

Třída IDispatchImpl

Třída IDispEventSimpleImpl

SINK_ENTRY

SINK_ENTRY_EX

SINK_ENTRY_INFO

Další zdroje

Přehled třídy ATL