将接口添加到提供程序

确定要将接口添加到哪个对象(通常是“OLE DB 提供程序向导”创建的数据源、行集合、命令或会话对象)。 需要将接口添加到的对象可能是提供程序当前不支持的对象。 这种情况下,运行“ATL OLE DB 提供程序向导”创建对象。 右击“类视图”视图中的项目,从“添加”菜单中单击“添加类”,然后单击“ATL OLE DB 提供程序”。 可能需要将接口代码放在单独的目录中,然后将文件复制到提供程序项目。

如果创建了支持接口的新类,使对象从该类继承。 例如,可以将 IRowsetIndexImpl 类添加到行集合对象:

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

使用 COM_INTERFACE_ENTRY 宏将接口添加到对象中的 COM_MAP。 如果没有映射,则创建一个。 例如:

BEGIN_COM_MAP(CAgentRowset)
     COM_INTERFACE_ENTRY(IRowsetIndex)
END_COM_MAP()

对于行集合对象,链接其父对象的映射以便对象可以委托给父类。 在本例中,将 COM_INTERFACE_ENTRY_CHAIN 宏添加到映射:

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

请参见

概念

使用 OLE DB 提供程序模板