PRB: Memory Leak When Traversing OLE DB Rowset

ID: Q190960


The information in this article applies to:


SYMPTOMS

When you use the OLE DB Consumer template classes, columns that are mapped to BSTRs or interfaces leak memory (for example, IUnknown or ISequentialStream). The leak occurs after each move through the rowset.


CAUSE

The OLE DB Consumer templates do not free BSTRs, VARIANTs, interfaces, or chapters that are retrieved after moving to a record.


RESOLUTION

You must explicitly call CAccessorRowset::FreeRecordMemory() to free the BSTRs, VARIANTs, interfaces, or chapters allocated for each record. Call FreeRecordMemory() before moving to the next record.


STATUS

This behavior is by design.


REFERENCES

Visual C++ version 6.0: CAccessorRowset::FreeRecordMemory();

Additional query words:


Keywords          : kbtemplate kbOLEDB kbVS600 
Version           : WINDOWS:6.0
Platform          : WINDOWS 
Issue type        : kbprb 

Last Reviewed: April 14, 1999