Use a Table to Work with Properties

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: