Klasa IDispEventImpl
Ta klasa zawiera implementacje IDispatch metody.
Ważne |
---|
Nie można użyć tej klasy i jej członków w aplikacjach, które są wykonywane w Środowisko wykonawcze systemu Windows. |
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
Identyfikator unikatowy dla obiektu źródłowego.Gdy IDispEventImpl jest klasą podstawową dla formantu złożonego należy użyć Identyfikatora zasobu żądanego formantu zawarte dla tego parametru.W innych przypadkach należy użyć dowolnego dodatnią liczbą całkowitą.T
Klasy użytkownika, który pochodzi od IDispEventImpl.pdiid
Wskaźnik celu uzyskanie identyfikatora IID Interfejs rozdzielania zdarzeń implementowana przez tę klasę.Ten interfejs musi być zdefiniowana w biblioteki typów oznaczona plibid, wMajor, i wMinor.plibid
Wskaźnik do biblioteki typów, która definiuje interfejs wysyłki wskazywanej przez pdiid.Jeśli & GUID_NULL, biblioteki typów zostaną załadowane z obiektu zdarzenia zaopatrzenia.wMajor
Główna wersja biblioteki typów.Wartością domyślną jest 0.wMinor
Wersja pomocnicza biblioteki typów.Wartością domyślną jest 0.tihclass
Klasa używana do zarządzania wpisz informacje dotyczące T.Wartość domyślna klasa typu CComTypeInfoHolder; Jednak ten parametr szablonu można zastąpić przez zapewnienie klasy typu innego niż CComTypeInfoHolder.
Członkowie
Definicje TypeDef publicznych
Nazwa |
Opis |
---|---|
Klasa służy do zarządzania informacjami typu.Domyślnie CComTypeInfoHolder. |
Publiczne konstruktory
Nazwa |
Opis |
---|---|
Konstruktor. |
Metody publiczne
Nazwa |
Opis |
---|---|
Lokalizuje funkcji indeks dla identyfikatora określonego wysyłki. |
|
Mapuje pojedynczego członka i opcjonalny zestaw nazwy argumentu odpowiedni zestaw całkowitą identyfikatory DISPID. |
|
Pobiera informacje o typie obiektu. |
|
Pobiera numer typu informacji o interfejsach. |
|
Pobiera typ podstawowy typ zdefiniowany przez użytkownika. |
Uwagi
IDispEventImplzapewnia sposób wykonawczych Interfejs rozdzielania zdarzeń bez konieczności wykonania kodu dla każdej metody i zdarzeń na tym interfejsie dostaw.IDispEventImplzawiera implementacje IDispatch metody.Trzeba dostarczyć implementacji zdarzenia jesteś zainteresowany obsługi.
IDispEventImpldziała w połączeniu z mapy obiektu sink zdarzenia w klasie zdarzeń trasy do funkcji obsługi odpowiedniego.Aby użyć tej klasy:
Dodaj SINK_ENTRY lub SINK_ENTRY_EX makro do mapy obiektu sink zdarzenia dla każdego zdarzenia dla każdego obiektu, który chcesz obsługiwać.Podczas korzystania z IDispEventImpl jako klasa podstawowa formantu złożonego może wywołać AtlAdviseSinkMap do ustanowienia i zerwanie połączenia ze źródłami zdarzeń dla wszystkich zapisów sink zdarzeń mapy.W innych przypadkach lub większą kontrolę, call DispEventAdvise do ustanowienia połączenia między obiektem źródłowym i klasy podstawowej.Wywołanie DispEventUnadvise , aby przerwać połączenie.
Muszą pochodzić od IDispEventImpl (przy użyciu unikatową wartość dla nID) dla każdego obiektu, dla którego są wymagane do obsługi zdarzeń.Można ponownie użyć klasy bazowej przez unadvising przeciwko obiektu jednego źródła, następnie doradzanie przeciwko obiekt innego źródła, ale maksymalną liczbę obiektów źródła, które mogą być obsługiwane przez pojedynczy obiekt jednocześnie jest ograniczona przez liczbę IDispEventImpl klasy base.
IDispEventImpludostępnia taką samą funkcjonalność jak IDispEventSimpleImpl, z wyjątkiem go pobiera typ informacji o interfejsie z biblioteki typów zamiast dostarczana jako wskaźnik do _ATL_FUNC_INFO struktury.Użyj IDispEventSimpleImpl podczas nie opisujące interfejsu zdarzenia typu biblioteki lub aby uniknąć obciążenie związane z używaniem biblioteki typów.
[!UWAGA]
IDispEventImpli IDispEventSimpleImpl zapewnienia realizacji z IUnknown::QueryInterface umożliwiających każdej IDispEventImpl i IDispEventSimpleImpl działać jako oddzielną tożsamość COM, umożliwiając bezpośredni dostęp do elementów klas w głównym obiekt COM klasy base.
Wdrożenie CE ATL ActiveX obsługuje tylko ujść zdarzeń zwracają wartości typu HRESULT lub unieważnić swoje metody obsługi zdarzenia; inne wartości zwracanej nie jest obsługiwane i jego zachowanie jest niezdefiniowane.
Aby uzyskać więcej informacji, zobacz Obsługa IDispEventImpl.
Hierarchii dziedziczenia
_IDispEvent
_IDispEventLocator
IDispEventImpl
Wymagania
Nagłówek: atlcom.h