共用方式為


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通知,最多 8 個數據列。 如果超過八個數據列受到 HrModifyRows 呼叫的影響,MAPI 會改為傳送單一TABLE_CHANGED通知。

另請參閱

SRowSet

ITableData:IUnknown