IDispatchImpl-Klasse
Stellt eine Standardimplementierung für den IDispatch Teil einer dualen Schnittstelle bereit.
Wichtig |
---|
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
Öffentliche Konstruktoren
Name |
Description |
---|---|
Der -Konstruktor.Ruft AddRef auf der geschützten Membervariable auf, die die Typinformationen für die duale Schnittstelle verwaltet.Der Destruktor ruft Release auf. |
Öffentliche Methoden
Name |
Description |
---|---|
Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. |
|
Ruft die Typinformationen für die duale Schnittstelle ab. |
|
Bestimmt, ob die Typinformationen gibt, die für die duale Schnittstelle verfügbar sind. |
|
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