ITableData::HrModifyRows

适用于:Outlook 2013 | Outlook 2016

插入多个表行,可能替换现有行。

HRESULT HrModifyRows(
  ULONG ulFlags,
  LPSRowSet lpSRowSet
);

参数

ulFlags

[in]保留;必须为零。

lpSRowSet

[in]指向 SRowSet 结构的指针,该结构包含要添加的行集,必要时替换现有行。 行集中每个 SRow 结构的 lpProps 成员指向的属性值结构之一应包含索引列,该值与调用 CreateTable 函数时 ulPropTagIndexColumn 参数中指定的值相同。

返回值

S_OK

行已成功插入或修改。

MAPI_E_INVALID_PARAMETER

一个或多个传入行没有索引列。 如果返回此错误,则不会更改任何行。

备注

ITableData::HrModifyRows 方法插入 lpSRowSet 参数指向的 SRowSet 结构所描述的行。 如果行集中某行的索引列值与表中现有行的值匹配,则会替换现有行。 如果不存在与 SRowSet 结构中包含的行匹配的行, HrModifyRows 会将该行添加到表的末尾。

将修改表的所有视图,以包含 lpSRowSet 指向的行。 但是,如果视图存在排除行的限制,则用户可能看不到该视图。

lpSRowSet 指向的行中的列不必与表中的列相同。 调用方还可以包含当前不在表中的列属性。 对于现有视图, HrModifyRows 使这些新列可用,但不包括在当前列集中。 对于将来的视图, HrModifyRows 包括列集中的新列。

HrModifyRows 添加行后,通知将发送到具有表视图并调用表的 IMAPITable::Advise 方法注册通知的所有客户端或服务提供商。 MAPI 为每行发送TABLE_ROW_ADDED或TABLE_ROW_MODIFIED通知,最多八行。 如果 HrModifyRows 调用影响超过八行,MAPI 将改为发送单个TABLE_CHANGED通知。

另请参阅

SRowSet

ITableData : IUnknown