ITableData::HrDeleteRows
適用対象: Outlook 2013 | Outlook 2016
複数のテーブル行を削除します。
HRESULT HrDeleteRows(
ULONG ulFlags,
LPSRowSet lprowsetToDelete,
ULONG FAR * cRowsDeleted
);
パラメーター
ulFlags
[in]削除を制御するフラグのビットマスク。 次のフラグを設定できます。
TAD_ALL_ROWS
テーブルと対応するすべてのビューからすべての行を削除し、1 つのTABLE_RELOAD通知を送信します。
lprowsetToDelete
[in]削除する行を記述する行セットへのポインター。 ulFlags パラメーターにTAD_ALL_ROWS フラグが設定されている場合、lprowsetToDelete パラメーターは NULL にすることができます。
cRowsDeleted
[out]削除された行の数。
戻り値
S_OK
テーブル行が正常に削除されました。
注釈
ITableData::HrDeleteRows メソッドは、行セット内の各 aRow エントリの lpProps メンバーが指すプロパティと一致する列を含むテーブル行を検索して削除します。 インデックス列は、各行を識別するために使用されます。この列には、CreateTable 関数の呼び出しで ulPropTagIndexColumn パラメーターで渡されるプロパティ タグと同じプロパティ タグが必要です。
実際に削除された行の数は、 cRowsDeleted で返されます。 1 つ以上の行が見つからなかった場合、エラーは返されません。
行が削除されると、通知は、テーブルのビューを持ち、通知に登録するためにテーブルの IMAPITable::Advise メソッドを呼び出したすべてのクライアントまたはサービス プロバイダーに送信されます。
行を削除しても、削除された行が特定の列の値を持つ最後の行であっても、既存のテーブル ビューで使用できる列やその後に開かれたテーブル ビューが減らされることはありません。