Como adicionar uma Interface ao meu provedor?

Determine qual objeto você deseja adicionar a interface (normalmente dados fonte, conjunto de linhas, comando ou sessão objetos criados pelo Assistente de provedor do ATL). É possível que o objeto que é necessário adicionar a interface é aquela que seu provedor não oferece atualmente suporte. Nesse caso, execute o Assistente de objeto ATL para criar o objeto (com o botão direito no painel ClassView da janela espaço de trabalho do projeto e escolha Novo objeto ATL).

Se você criou uma nova classe de suporte à interface, tornar o objeto herdar dessa classe. Por exemplo, você pode adicionar a classe IRowsetIndexImpl para um objeto de conjunto de linhas:

modelo lt; classe criador >
Classe CAgentRowset: público CRowsetImpl < CAgentRowset <Creator>, CAgentMan, criador >,
   IRowsetIndexImpl pública < … & gt
 

Adicione a interface para o COM_MAP no objeto usando a macro COM_INTERFACE_ENTRY . Se não houver nenhum mapa, crie um. Por exemplo:

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

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

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

Index