Share via


ITableData : IUnknown

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Provides utility methods for working with tables. MAPI provides table data objects or objects that implement ITableData to help service providers perform table maintenance. To obtain a table data object, service providers call the CreateTable function.

Header file:

Mapiutil.h

Exposed by:

Table data objects

Implemented by:

MAPI

Called by:

Service providers

Interface identifier:

IID_IMAPITableData

Pointer type:

LPTABLEDATA

Vtable Order

HrGetView

Creates a table view, returning a pointer to an IMAPITable implementation.

HrModifyRow

Inserts a new table row, possibly replacing an existing row.

HrDeleteRow

Deletes a table row.

HrQueryRow

Retrieves a table row.

HrEnumRow

Retrieves a row based on its position in the table.

HrNotify

Sends a notification for a table row.

HrInsertRow

Inserts a table row.

HrModifyRows

Inserts multiple table rows, possibly replacing existing rows.

HrDeleteRows

Deletes multiple table rows.

Remarks

The MAPI implementation of ITableData works with tables by holding all of the data and any associated restrictions in memory, making it unsuitable for use with very large tables. Large restrictions and complex operations such as categorization are not supported.

Table data objects identify rows by using an index column, a property that is guaranteed to have a unique value for each row. Most service providers use the PR_INSTANCE_KEY (PidTagInstanceKey) property as the index column. Properties that have multiple values cannot be used as an index column.

Table data objects generate a single notification regardless of the number of rows affected by a change or deletion. If a target row in an operation does not exist, a row is added.

See Also

Concepts

MAPI Interfaces