Freigeben über


IDispEventSimpleImpl Class

Diese Klasse stellt die Implementierungen der IDispatch-Methoden bereit, ohne Typinformationen aus einer Typbibliothek abzurufen.

Wichtig

Diese Klasse und ihre Member können in Anwendungen nicht verwendet werden, die in Windows-Runtime ausführen.

template < 
UINT nID, 
class T, 
const IID* pdiid 
> 
class ATL_NO_VTABLE IDispEventSimpleImpl : 
public _IDispEventLocator<nID, pdiid>

Parameter

  • nID
    Ein eindeutiger Bezeichner für das Quellobjekt. Wenn IDispEventSimpleImpl die Basisklasse für ein zusammengesetztes Steuerelement ist, verwenden Sie das Ressourcen-ID des gewünschten enthaltenden Steuerelements für diesen Parameter. In anderen Fällen verwenden Sie eine beliebige positive ganze Zahl.

  • T
    Die Klasse des Benutzers, die von IDispEventSimpleImpl abgeleitet wird.

  • pdiid
    Der Zeiger auf IID der Ereignisdispatchschnittstelle implementiert von dieser Klasse.

Mitglieder

Öffentliche Methoden

Name

Description

IDispEventSimpleImpl::Advise

Richtet eine Verbindung mit der Standardereignisquelle ein.

IDispEventSimpleImpl::DispEventAdvise

Richtet eine Verbindung mit der Ereignisquelle ein.

IDispEventSimpleImpl::DispEventUnadvise

Unterteilt die Verbindung mit der Ereignisquelle.

IDispEventSimpleImpl::GetIDsOfNames

Gibt E_NOTIMPL.

IDispEventSimpleImpl::GetTypeInfo

Gibt E_NOTIMPL.

IDispEventSimpleImpl::GetTypeInfoCount

Gibt E_NOTIMPL.

IDispEventSimpleImpl::Invoke

Ruft die Ereignishandler aufgelistete im - Senkenzuordnung auf.

IDispEventSimpleImpl::Unadvise

Unterteilt die Verbindung mit der Standardereignisquelle.

Hinweise

IDispEventSimpleImpl stellt eine Methode der Implementierung einer Ereignisdispatchschnittstelle bereit, ohne Sie veranlassen, Implementierungscode für jede Methode/Ereignis für diese Schnittstelle zu erzeugen. IDispEventSimpleImpl stellt Implementierungen der IDispatch-Methoden. Sie müssen nur Implementierungen für die Ereignisse stellen, dass Sie bei der Behandlung von Interesse sind.

IDispEventSimpleImpl funktioniert in Verbindung mit Ereignissenkenzuordnung in der Klasse, um Ereignisse der entsprechenden Handlerfunktion weiterzuleiten. Um diese Klasse verwenden:

  • Fügen Sie ein SINK_ENTRY_INFORMATION-Makro der Ereignissenkenzuordnung für jedes Ereignis auf jedem Objekt hinzu, das Sie behandeln möchten.

  • Zubehörtypinformationen für jedes Ereignis durch Übergeben eines Zeigers auf eine _ATL_FUNC_INFORMATION-Struktur als Parameter zu jedem Eintrag. Klicken Sie auf der _ATL_FUNC_INFO.cc x86-Plattform muss der Wert CC_CDECL mit dem Rückruffunktionsaufruf von werden von __stdcall sein.

  • Rufen Sie DispEventAdvise auf, um die Verbindung zwischen dem Quellobjekt und der Basisklasse herzustellen.

  • Aufruf DispEventUnadvise, um die Verbindung zu unterbrechen.

Sie müssen von IDispEventSimpleImpl (mithilfe eines eindeutigen Werts für nID) für jedes Objekt abgeleitet sind, für das Sie Ereignisse behandeln müssen. Sie können die Basisklasse wiederverwenden, indem Sie für ein Quellobjekt einem anderen Quellobjekt dann abratend von abmelden, aber die maximale Anzahl von Quellobjekte verwendet, die durch ein einzelnes Objekt gleichzeitig verarbeitet werden können, wird durch die Anzahl der IDispEventSimpleImpl Basisklassen beschränkt.

IDispEventSimplImpl stellt die gleiche Funktionalität wie IDispEventImpl bereit, außer es keine Typinformationen über die Schnittstelle aus einer Typbibliothek abruft. Die Assistenten generieren den Code, der nur auf IDispEventImpl basiert, aber Sie können IDispEventSimpleImpl verwenden, indem Sie den Code manuell hinzufügen. Verwenden Sie IDispEventSimpleImpl, wenn Sie keine Typbibliothek verfügen, die Ereignisschnittstelle beschreibt oder den Mehraufwand vermeiden möchten, der mit der Anwendung der Typbibliothek zugeordnet ist.

Hinweis

IDispEventImpl und IDispEventSimpleImpl stellen ihre eigene Implementierung von IUnknown::QueryInterface, jede IDispEventImpl oder IDispEventSimpleImpl Basisklasse aktiviert, die als separate COM-Identität beim Zugriff auf den Klassenmember im wichtigsten COM-Objekt noch ermöglichen fungiert.

Implementierung CEs ATL von ActiveX-Ereignissenken unterstützt nur Rückgabewerte vom Typ void HRESULT oder aus den Ereignishandlermethoden; anderer Rückgabewert wird nicht unterstützt und sein Verhalten ist nicht definiert.

Weitere Informationen finden Sie unter Unterstützung von IDispEventImpl.

Vererbungshierarchie

_IDispEvent

_IDispEventLocator

IDispEventSimpleImpl

Anforderungen

Header: möchten

Siehe auch

Referenz

_ATL_FUNC_INFO Structure

IDispatchImpl Class

IDispEventImpl Class

SINK_ENTRY_INFO

Weitere Ressourcen

ATL Class Overview