Many properties are available both from the objects that support them and as columns on tables. Whenever possible, retrieve these properties through the table. Call IMAPITable::SetColumns to include all of the properties that your client needs and IMAPITable::QueryRows to retrieve all of the rows of the table.
These two calls are usually sufficient for retrieving enough information to display to a user and frequently sufficient for any necessary internal processing, making a call to OpenEntry to open the object unnecessary.
There are only two exceptions: