Implementare un'interfaccia duale
È possibile implementare un'interfaccia duale utilizzando la classe IDispatchImpl, che fornisce un'implementazione predefinita dei metodi IDispatch in un'interfaccia duale.Per ulteriori informazioni, vedere Implementing the IDispatch Interface.
Per utilizzare questa classe:
Definire l'interfaccia duale in una libreria dei tipi.
Derivare la classe da una specializzazione IDispatchImpl (informazioni sulla sessione sull'interfaccia e la libreria dei tipi come argomenti di modello).
Aggiungere una voce o le voci) alla mappa COM per esporre l'interfaccia duale con QueryInterface.
Implementare la parte vtable dell'interfaccia della classe.
Assicurarsi che la libreria dei tipi contenente la definizione di interfaccia è disponibile agli oggetti in fase di esecuzione.
Creazione guidata oggetto semplice ATL
Per creare una nuova interfaccia e una nuova classe per distribuirlo, è possibile utilizzare ATL aggiunge la finestra di dialogo della classequindi Procedura guidata semplice ATL.
Procedura guidata di interfaccia di utilizzo
Se si dispone di un'interfaccia esistente, è possibile utilizzare Procedura guidata di interfaccia di utilizzo per aggiungere la classe di base necessarie, le voci della mappa COM e le implementazioni di base di un metodo in una classe esistente.
[!NOTA]
Potrebbe essere necessario modificare la classe di base generata in modo da passare ai numeri di versione principale e secondaria della libreria dei tipi come argomenti di modello alla classe di base IDispatchImpl.La procedura guidata di interfaccia di utilizzo non controlla il numero di versione della libreria dei tipi automaticamente.
Implementare IDispatch
È possibile utilizzare una classe base IDispatchImpl per fornire un'implementazione di un'interfaccia solo dispatch specificando la voce appropriata nella mappa COM utilizzando la macro COM_INTERFACE_ENTRY_IID o COM_INTERFACE_ENTRY2 ) purché una libreria dei tipi che descrive un'interfaccia duale corrispondente.È piuttosto comune da implementare l'interfaccia IDispatch questa modalità, ad esempio.La procedura guidata e il centro semplice ATL collegano la procedura guidata che entrambe si presuppone che si intende distribuire IDispatch in questo modo, pertanto aggiunti la voce appropriata al mapping.
[!NOTA]
ATL fornisce le classi IDispEventSimpleImpl e IDispEventImpl per implementare interfacce dispatch senza richiedere una libreria dei tipi contenente la definizione di un'interfaccia duale compatibile.