Freigeben über


ITableData::HrModifyRows

Gilt für: Outlook 2013 | Outlook 2016

Fügt mehrere Tabellenzeilen ein und ersetzt möglicherweise vorhandene Zeilen.

HRESULT HrModifyRows(
  ULONG ulFlags,
  LPSRowSet lpSRowSet
);

Parameter

ulFlags

[in] Reserviert. NULL muss sein.

lpSRowSet

[in] Ein Zeiger auf eine SRowSet-Struktur , die den Satz der hinzuzufügenden Zeilen enthält und ggf. vorhandene Zeilen ersetzt. Eine der Eigenschaftswertstrukturen, auf die das lpProps-Element jeder SRow-Struktur im Zeilensatz verweist, sollte die Indexspalte enthalten, den gleichen Wert, der im ulPropTagIndexColumn-Parameter im Aufruf der CreateTable-Funktion angegeben wurde.

Rückgabewert

S_OK

Die Zeilen wurden erfolgreich eingefügt oder geändert.

MAPI_E_INVALID_PARAMETER

Mindestens eine der übergebenen Zeilen weist keine Indexspalte auf. Wenn dieser Fehler zurückgegeben wird, werden keine Zeilen geändert.

Hinweise

Die ITableData::HrModifyRows-Methode fügt die Zeilen ein, die von der SRowSet-Struktur beschrieben werden, auf die der lpSRowSet-Parameter verweist. Wenn der Indexspaltenwert einer Zeile im Zeilensatz mit dem Wert für eine vorhandene Zeile in der Tabelle übereinstimmt, wird die vorhandene Zeile ersetzt. Wenn keine Zeile vorhanden ist, die mit der in der SRowSet-Struktur enthaltenen übereinstimmt, fügt HrModifyRows die Zeile am Ende der Tabelle hinzu.

Alle Ansichten der Tabelle werden so geändert, dass sie die Zeilen enthalten, auf die von lpSRowSet verwiesen wird. Wenn eine Ansicht jedoch eine Einschränkung aufweist, die eine Zeile ausschließt, ist sie für den Benutzer möglicherweise nicht sichtbar.

Die Spalten in den Zeilen, auf die lpSRowSet verweist, müssen nicht in der gleichen Reihenfolge wie die Spalten in der Tabelle sein. Der Aufrufer kann auch Als Spalteneigenschaften einschließen, die derzeit nicht in der Tabelle enthalten sind. Für vorhandene Sichten stellt HrModifyRows diese neuen Spalten zur Verfügung, schließt sie jedoch nicht in den aktuellen Spaltensatz ein. Für zukünftige Ansichten schließt HrModifyRows die neuen Spalten in den Spaltensatz ein.

Nachdem HrModifyRows die Zeilen hinzugefügt hat, werden Benachrichtigungen an alle Clients oder Dienstanbieter gesendet, die über eine Ansicht der Tabelle verfügen und die IMAPITable::Advise-Methode der Tabelle aufgerufen haben, um sich für Benachrichtigungen zu registrieren. MAPI sendet TABLE_ROW_ADDED- oder TABLE_ROW_MODIFIED-Benachrichtigungen für jede Zeile, bis zu acht Zeilen. Wenn mehr als acht Zeilen vom HrModifyRows-Aufruf betroffen sind, sendet MAPI stattdessen eine einzelne TABLE_CHANGED Benachrichtigung.

Siehe auch

SRowSet

ITableData : IUnknown