Compartilhar via


A adição de uma Interface para o seu provedor

Determine qual objeto você deseja adicionar a interface (geralmente dados fonte, o conjunto de linhas, o comando ou sessão objetos criados pelo Assistente do OLE DB para provedor). É possível que o objeto que você precisa adicionar a interface para que o seu provedor não oferece suporte atualmente. Nesse caso, execute o ATL OLE DB Provider Wizard para criar o objeto. O projeto no modo de exibição de classe com o botão direito, clique em Add Class da Add menu e clique ATL provedor OLE DB. Você talvez queira colocar o código de interface em um diretório separado e copie os arquivos para seu projeto do provedor.

Se você criou uma nova classe de suporte à interface, tornar o objeto que herda dessa 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 a interface para COM_MAP no objeto usando a macro COM_INTERFACE_ENTRY. Se não houver nenhum mapa, crie um. For example:

BEGIN_COM_MAP(CAgentRowset)
     COM_INTERFACE_ENTRY(IRowsetIndex)
END_COM_MAP()

Para o objeto de conjunto de linhas, o mapa do seu pai da cadeia de objeto para que o objeto pode delegar a classe pai. Neste exemplo, adicione a macro COM_INTERFACE_ENTRY_CHAIN para o mapa:

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

Consulte também

Conceitos

Trabalhando com modelos de provedor do OLE DB