Freigeben über


IDispatchImpl-Klasse

Stellt eine Standardimplementierung für den IDispatch Teil einer dualen Schnittstelle bereit.

Wichtiger HinweisWichtig

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

template<
   class T,
   const IID* piid= &__uuidof(T),
   const GUID* plibid = &CAtlModule::m_libid,
   WORD wMajor = 1,
   WORD wMinor = 0,
   class tihclass = CComTypeInfoHolder 
> 
class ATL_NO_VTABLE IDispatchImpl :
   public T

Parameter

  • [in] T
    Eine duale Schnittstelle.

  • [in] piid
    Ein Zeiger auf IID von T.

  • [in] plibid
    Ein Zeiger auf LIBID der Typbibliothek, die Informationen über die Schnittstelle enthält.Standardmäßig wird die Typbibliothek auf Serverebene übergeben.

  • [in] wMajor
    Die Hauptversion der Typbibliothek.Der Standardwert ist 1.

  • [in] wMinor
    Die Nebenversion der Typbibliothek.Der Standardwert ist 0.

  • [in] tihclass
    Die Klasse verwendet, um die Typinformationen für T zu verwalten.Der Standardwert ist CComTypeInfoHolder.

Mitglieder

494h01te.collapse_all(de-de,VS.110).gifÖffentliche Konstruktoren

Name

Description

IDispatchImpl::IDispatchImpl

Der -Konstruktor.Ruft AddRef auf der geschützten Membervariable auf, die die Typinformationen für die duale Schnittstelle verwaltet.Der Destruktor ruft Release auf.

494h01te.collapse_all(de-de,VS.110).gifÖffentliche Methoden

Name

Description

IDispatchImpl::GetIDsOfNames

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.

IDispatchImpl::GetTypeInfo

Ruft die Typinformationen für die duale Schnittstelle ab.

IDispatchImpl::GetTypeInfoCount

Bestimmt, ob die Typinformationen gibt, die für die duale Schnittstelle verfügbar sind.

IDispatchImpl::Invoke

Bietet Zugriff auf Methoden und Eigenschaften, die von der duale Schnittstelle verfügbar gemacht werden.

Hinweise

IDispatchImpl stellt eine Standardimplementierung für den IDispatch Teil einer dualen Schnittstelle in einem Objekt bereit.Eine duale Schnittstelle abgeleitet von IDispatch und verwendet nur Automatisierung-kompatible Typen.Wie eine Dispatchschnittstelle unterstützt eine duale Schnittstelle und späte Bindung frühe Bindung; unterstützt jedoch auch eine duale Schnittstelle auch - Bindung.

Im folgenden Beispiel wird eine typische Implementierung von IDispatchImpl veranschaulicht.

class ATL_NO_VTABLE CBeeper :
   public CComObjectRootEx<CComSingleThreadModel>,
   public CComCoClass<CBeeper, &CLSID_Beeper>,
   public IDispatchImpl<IBeeper, &IID_IBeeper, &LIBID_NVC_ATL_COMLib, /*wMajor =*/ 1, /*wMinor =*/ 0>

Standardmäßig sucht die IDispatchImpl-Klasse oben die Typinformationen nach T in der Registrierung.Um eine nicht registrierte Schnittstelle implementieren, können Sie die Klasse verwenden IDispatchImpl ohne auf die Registrierung zuzugreifen indem Sie eine vordefinierte Versionsnummer verwenden.Wenn Sie ein Objekt erstellen, das IDispatchImpl 0xFFFF als Wert für wMajor und 0xFFFF als Wert für wMinor verfügt, ruft die IDispatchImpl-Klasse die Typbibliothek der DLL-Datei anstelle der Registrierung ab.

IDispatchImpl enthält einen statischen Member des Typs CComTypeInfoHolder, der die Typinformationen für die duale Schnittstelle verwaltet.Wenn Sie mehrere Objekte verfügen, die dieselbe duale Schnittstelle implementieren, nur eine Instanz von CComTypeInfoHolder verwendet wird.

Vererbungshierarchie

T

IDispatchImpl

Anforderungen

Header: möchten

Siehe auch

Weitere Ressourcen

ATL-Klassenübersicht