Adicionando uma interface ao provedor
Determine objeto que você deseja adicionar a interface (normalmente fonte de dados, conjunto de linhas, comando, ou objetos de sessão criados pelo assistente do provedor OLE DB). É possível que o objeto que você precisa adicionar a interface é uma que o provedor não oferecer suporte a. Nesse caso, execute o assistente do provedor OLE DB de ATL para criar o objeto. Clique com o botão direito do mouse na exibição da classe Adicionar Classe , clique no menu de Adicionar , e clique em ATL OLE DB Provider. Talvez você queira colocar o código de interface em um diretório separado e para copiar os arquivos em seu provedor do projeto.
Se você criou uma nova classe para dar suporte à interface, faça o objeto ser herdada da classe. Por exemplo, você pode adicionar a classe IRowsetIndexImpl a um objeto de conjunto de linhas:
template <class Creator>
class CAgentRowset :
public CRowsetImpl< CAgentRowset<Creator>, CAgentMan, Creator>,
public IRowsetIndexImpl< ... >
Adicionar à interface COM_MAP no objeto usando a macro de COM_INTERFACE_ENTRY. Se não houver nenhum mapa, crie um. Por exemplo:
BEGIN_COM_MAP(CAgentRowset)
COM_INTERFACE_ENTRY(IRowsetIndex)
END_COM_MAP()
Para o objeto de conjunto de linhas, o encadeamento o mapa do seu objeto pai de forma que o objeto pode delegar a classe pai. Neste exemplo, adicione a macro de COM_INTERFACE_ENTRY_CHAIN ao mapa:
BEGIN_COM_MAP(CAgentRowset)
COM_INTERFACE_ENTRY(IRowsetIndex)
COM_INTERFACE_ENTRY_CHAIN(CRowsetImpl)
END_COM_MAP()