我为自定义数据库实现了OLE DB提供程序。它将用于ADO应用程序。 现在我有ADO示例创建ADO连接然后用Connection.Close方法关闭它,但不释放连接对象的接口指针。之后该示例应用程序创建另一个连接对象并且无法打开它,因为第一个连接对象不释放创建连接所需的系统资源。
显然,当示例应用程序调用Connection.Close方法时,我需要释放系统资源。但我找不到OLE DB Interface :: Method负责处理ADO Connection.Close。我以为IDBInitialize :: Unintialize对此负责。但事实并非如此。我确信当cliaent应用程序调用Connection.Close时,不会调用IDBInitialize :: Unintialize。
请给我一些关于如何拦截我的OLE DB提供程序中的Connection.Close的建议。
答案 0 :(得分:1)
我找到了解决方案。调用Connection.Close方法时,ADO会释放对OLE DB会话对象的所有引用。