Come ad aggiungere un'interfaccia al mio Provider?

Determinare quale oggetto che si desidera aggiungere l'interfaccia (solitamente dati fonte, set di righe, comando o sessione oggetti creati dalla creazione guidata Provider ATL). È possibile che l'oggetto che è necessario aggiungere l'interfaccia è uno che il provider non supporta attualmente. In tal caso, eseguire la creazione guidata oggetto per creare l'oggetto (pulsante destro del mouse nel riquadro area di lavoro progetto finestra ClassView e scegliere Nuovo oggetto ATL).

Se avete creato una nuova classe per supportare l'interfaccia, rendere l'oggetto eredita da questa classe. Ad esempio, si potrebbe aggiungere la classe IRowsetIndexImpl a un oggetto rowset:

modello lt; classe creatore >
classe CAgentRowset: CRowsetImpl pubblica < CAgentRowset <Creator>, CAgentMan, creatore >,
   IRowsetIndexImpl pubblica < … & gt

 

Aggiungere l'interfaccia per la COM_MAP nell'oggetto utilizzando la macro COM_INTERFACE_ENTRY . Se non non c'è nessuna mappa, crearne uno. Ad esempio:

BEGI&N_COM_MAP(CAgentRowset)
 nbsp;   COM_INTERFACE_ENTRY(IRowsetIndex)
END_COM_MAP()

Per l'oggetto set di righe, catena la mappa del relativo elemento oggetto così che l'oggetto può delegare a classe padre. In questo esempio, aggiungere la macro COM_INTERFACE_ENTRY_CHAIN alla mappa:

BEGI&N_COM_MAP(CAgentRowset)
 nbsp;   COM_INTERFACE_ENTRY(IRowsetIndex)
     COM_INTERFACE_ENTRY_CHAIN(CRowsetImpl)
END_COM_MAP()

Index