Udostępnij za pośrednictwem


Klasa IDispEventImpl

Ta klasa zawiera implementacje IDispatch metody.

Ważna uwagaWaż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 IDispEventImpl

Klasa służy do zarządzania informacjami typu.Domyślnie CComTypeInfoHolder.

Publiczne konstruktory

Nazwa

Opis

IDispEventImpl::IDispEventImpl

Konstruktor.

Metody publiczne

Nazwa

Opis

IDispEventImpl::GetFuncInfoFromId

Lokalizuje funkcji indeks dla identyfikatora określonego wysyłki.

IDispEventImpl::GetIDsOfNames

Mapuje pojedynczego członka i opcjonalny zestaw nazwy argumentu odpowiedni zestaw całkowitą identyfikatory DISPID.

IDispEventImpl::GetTypeInfo

Pobiera informacje o typie obiektu.

IDispEventImpl::GetTypeInfoCount

Pobiera numer typu informacji o interfejsach.

IDispEventImpl::GetUserDefinedType

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

IDispEventSimpleImpl

IDispEventImpl

Wymagania

Nagłówek: atlcom.h

Zobacz też

Informacje

Struktura _ATL_FUNC_INFO

Klasa IDispatchImpl

Klasa IDispEventSimpleImpl

SINK_ENTRY

SINK_ENTRY_EX

SINK_ENTRY_INFO

Inne zasoby

Omówienie klasy ATL