When rows are fetched, they are returned to the consumer in an array of row handles. A consumer manages a row or sets of rows through row handles. However, row handles are considered a limited resource. Depending upon the provider, there may be a limit on the number of rows that a consumer is allowed to fetch and keep referenced per rowset. To find out the limits, consumers should call IRowsetInfo::GetProperties (which is wrapped as CRowset::GetRowsetProperties) for the appropriate rowset properties. See the OLE DB Programmer’s Reference, “Fetching Rows” in Chapter 4, “Rowsets.” Also see CRowset::GetProperties in Rowset.h and RowsetProperties::value.MaxOpenRows in Adbhelp.h of the SDK wrapper classes.