ITableData::HrDeleteRows
Gilt für: Outlook 2013 | Outlook 2016
Löscht mehrere Tabellenzeilen.
HRESULT HrDeleteRows(
ULONG ulFlags,
LPSRowSet lprowsetToDelete,
ULONG FAR * cRowsDeleted
);
Parameter
ulFlags
[in] Eine Bitmaske von Flags, die das Löschen steuert. Das folgende Flag kann festgelegt werden:
TAD_ALL_ROWS
Löscht alle Zeilen aus der Tabelle und alle entsprechenden Ansichten und sendet eine einzelne TABLE_RELOAD Benachrichtigung.
lprowsetToDelete
[in] Ein Zeiger auf einen Zeilensatz, der die zu löschenden Zeilen beschreibt. Der lprowsetToDelete-Parameter kann NULL sein, wenn das TAD_ALL_ROWS-Flag im ulFlags-Parameter festgelegt ist.
cRowsDeleted
[out] Die Anzahl der gelöschten Zeilen.
Rückgabewert
S_OK
Die Tabellenzeilen wurden erfolgreich gelöscht.
Hinweise
Die ITableData::HrDeleteRows-Methode sucht und entfernt die Tabellenzeilen, die die Spalten enthalten, die mit der Eigenschaft übereinstimmen, auf die das lpProps-Element jedes aRow-Eintrags im Zeilensatz verweist. Eine Indexspalte wird verwendet, um jede Zeile zu identifizieren. Diese Spalte muss das gleiche Eigenschaftstag aufweisen wie das Eigenschaftstag, das im UlPropTagIndexColumn-Parameter im Aufruf der CreateTable-Funktion übergeben wird.
Die Anzahl der Zeilen, die tatsächlich gelöscht wurden, wird in cRowsDeleted zurückgegeben. Wenn eine oder mehrere Zeilen nicht gefunden werden konnten, wird kein Fehler zurückgegeben.
Nachdem die Zeilen gelöscht wurden, 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.
Durch das Löschen von Zeilen werden die Spalten, die für vorhandene Tabellenansichten oder anschließend geöffnete Tabellenansichten verfügbar sind, nicht reduziert, auch wenn die gelöschten Zeilen die letzten sind, die Werte für eine bestimmte Spalte aufweisen.