Condividi tramite


Aggiunta di un'interfaccia al provider

Determinare a quale oggetto si desidera aggiungere l'interfaccia. In genere l'interfaccia viene aggiunta a oggetti DataSource, Rowset, Command o Session creati tramite la Creazione guidata provider OLE DB ATL. È possibile che l'oggetto a cui si desidera aggiungere l'interfaccia non sia supportato dal provider. In tal caso eseguire la Creazione guidata provider OLE DB ATL per creare l'oggetto. Fare clic con il pulsante destro del mouse sul progetto in Visualizzazione classi, scegliere Aggiungi classe dal menu Aggiungi, quindi Provider OLE DB ATL. È possibile inserire il codice dell'interfaccia in una directory separata, quindi copiare i file nel progetto del provider.

Se si è creata una nuova classe per il supporto dell'interfaccia, l'oggetto dovrà ereditare da tale classe. È ad esempio possibile aggiungere la classe IRowsetIndexImpl a un oggetto Rowset:

template <class Creator>
class CAgentRowset : 
public CRowsetImpl< CAgentRowset<Creator>, CAgentMan, Creator>,
   public IRowsetIndexImpl< ... > 

Aggiungere l'interfaccia a COM_MAP dell'oggetto utilizzando la macro COM_INTERFACE_ENTRY. Se non è presente alcuna mappa, crearne una. Di seguito è riportato un esempio.

BEGIN_COM_MAP(CAgentRowset)
     COM_INTERFACE_ENTRY(IRowsetIndex)
END_COM_MAP()

Per l'oggetto Rowset eseguire la concatenazione con la mappa dell'oggetto padre in modo che l'oggetto possa delegare alla classe padre. In questo esempio viene aggiunta la macro COM_INTERFACE_ENTRY_CHAIN alla mappa:

BEGIN_COM_MAP(CAgentRowset)
     COM_INTERFACE_ENTRY(IRowsetIndex)
     COM_INTERFACE_ENTRY_CHAIN(CRowsetImpl)
END_COM_MAP()

Vedere anche

Concetti

Utilizzo dei modelli provider OLE DB