ITableData::HrInsertRow

The ITableData::HrInsertRow method inserts a table row.

Quick Info

See ITableData : IUnknownOOTYH1.

 

HRESULT HrInsertRow(

    ULONG uliRow,

 

    LPSRow lpSRow

 

   )

 

 

Parameters

uliRow

[in] A sequential row number representing the row after which the new row should be inserted. The uliRow parameter can hold row numbers from 0 through n, where n is the total number of rows in the table; passing n in uliRow results in the row being appended to the table s end.

lpSRow

[in] Pointer to an SRowB8USB6 structure describing the row to be inserted.

 

Return Values

S_OK

The row was successfully inserted.

MAPI_E_INVALID_PARAMETER

A row already exists in the table with the same value for its index column as the row to be inserted.

 

Remarks

The ITableData::HrInsertRow method inserts a row into a table at a particular position. The new row is inserted after the row that is in the position specified by the uliRow parameter.

If uliRow is set to the number of rows in the table, the new row is appended to the table s end.

The property that acts as the index column for the table must be included in the lpProps member of the SRowB8USB6 structure pointed to by the lpSRow parameter. This index property, typically PR_INSTANCE_KEY9X7ABZ, is used to uniquely identify the row for future maintenance tasks.

The property columns in the SRow structure do not have to be in the same order as the property columns in the table.

After the row is inserted, notifications are sent to all clients or service with a view of the table and have called the table s IMAPITable::Advise method to register for notifications.

After the row is inserted, notifications are sent to all clients or service providers with a view of the table that have called the table s IMAPITable::Advise method to register for notifications. No notification is sent if the inserted row is not included in the view due to a restriction in place.

See Also

SRow, TABLE_NOTIFICATION