COLUMNINFO is an example of how users can extend existing data structures. The COLUMNINFO structure extends DBCOLUMNINFO to contain additional metadata. This structure also implements constructors and destructors to provide automatic cleanup of complex data members. CRowset::GetColumns returns an array of COLUMNINFO structures.