Classe IDispEventSimpleImpl

Questa classe fornisce le implementazioni dei metodi IDispatch, senza ottenere informazioni sul tipo di una libreria dei tipi.

Nota importanteImportante

Questa classe e i relativi membri non possono essere utilizzati nelle applicazioni eseguite in Windows Runtime.

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

Parametri

  • nID
    Un identificatore univoco per l'oggetto di origine.Quando IDispEventSimpleImpl è la classe base per un controllo composito, utilizzare ID di risorsa del controllo contenuto desiderato per il parametro.In altri casi, utilizzare un numero intero positivo arbitrario.

  • T
    La classe dell'utente, derivata da IDispEventSimpleImpl.

  • pdiid
    Il puntatore all'IID dell'interfaccia dispatch di evento implementata da questa classe.

Membri

fwy24613.collapse_all(it-it,VS.110).gifMetodi pubblici

Nome

Descrizione

IDispEventSimpleImpl::Advise

Stabilisce una connessione con l'origine evento predefinita.

IDispEventSimpleImpl::DispEventAdvise

Stabilisce una connessione con l'origine evento.

IDispEventSimpleImpl::DispEventUnadvise

Interrompe la connessione con l'origine evento.

IDispEventSimpleImpl::GetIDsOfNames

Restituisce E_NOTIMPL.

IDispEventSimpleImpl::GetTypeInfo

Restituisce E_NOTIMPL.

IDispEventSimpleImpl::GetTypeInfoCount

Restituisce E_NOTIMPL.

IDispEventSimpleImpl::Invoke

Chiama nel mapping del sink elencato gestori eventi.

IDispEventSimpleImpl::Unadvise

Interrompe la connessione con l'origine evento predefinita.

Note

IDispEventSimpleImpl consente di implementare un'interfaccia dispatch di evento senza necessità di fornire il codice di implementazione per ogni metodo e un evento su tale interfaccia.IDispEventSimpleImpl fornisce le implementazioni dei metodi IDispatch.È sufficiente fornire le implementazioni per gli eventi desiderato gestione.

Funzionamento diIDispEventSimpleImpl insieme a mappa del sink di eventi nella classe per rispondere a eventi alla funzione di gestione appropriata.Per utilizzare questa classe:

  • Aggiungere una macro SINK_ENTRY_INFORMATION alla mappa del sink di eventi per ogni evento per ogni oggetto che si desidera gestire.

  • Informazioni sul tipo per assistere per ogni evento passando un puntatore a una struttura _ATL_FUNC_INFORMATION come parametro a ogni voce.Nella piattaforma x86, il valore _ATL_FUNC_INFO.cc deve essere CC_CDECL con il metodo di chiamata di funzione di callback di l ".

  • Chiamare DispEventAdvise per stabilire la connessione tra l'oggetto di origine e la classe di base.

  • Chiamata DispEventUnadvise per interrompere la connessione.

È necessario derivarvi da IDispEventSimpleImpl (utilizzando un valore univoco per nID) per ogni oggetto di cui è necessario gestire eventi.È possibile utilizzare la classe base unadvising rispetto a un oggetto di origine che quindi consigliabile rispetto a un oggetto di origine diversa, ma il numero massimo di oggetti di origine che possono essere gestiti da un singolo oggetto contemporaneamente dipende dal numero delle classi base IDispEventSimpleImpl.

IDispEventSimplImpl fornisce la stessa funzionalità IDispEventImpl, a meno che non ottenere informazioni sui tipi per l'interfaccia da una libreria dei tipi.Le procedure guidate generano codice basato solo su IDispEventImpl, ma è possibile utilizzare IDispEventSimpleImpl aggiungendo codice a mano.Utilizzare IDispEventSimpleImpl quando non si dispone di una libreria dei tipi che descrive l'interfaccia eventi o non si desidera evitare l'overhead associato alla libreria dei tipi.

[!NOTA]

IDispEventImpl e IDispEventSimpleImpl forniscono la propria implementazione IUnknown::QueryInterface a ogni classe di base IDispEventSimpleImpl o IDispEventImpl da utilizzare come identità separata COM pur consentono l'accesso diretto ai membri della classe nell'oggetto COM principale.

L'implementazione di CE ATL i sink di evento ActiveX supportati solo i valori restituiti di HRESULT o la sospensione del tipo dai metodi del gestore eventi; qualsiasi altro valore restituito non è supportato e il relativo comportamento è definito.

Per ulteriori informazioni, vedere IDispEventImpl di supporto.

Gerarchia di ereditarietà

_IDispEvent

_IDispEventLocator

IDispEventSimpleImpl

Requisiti

Header: atlcom.h

Vedere anche

Riferimenti

Struttura di _ATL_FUNC_INFORMATION

Classe di IDispatchImpl

Classe di IDispEventImpl

SINK_ENTRY_INFORMATION

Altre risorse

I cenni preliminari sulle classi ATL