ITableData::HrModifyRows
Aplica-se a: Outlook 2013 | Outlook 2016
Insere várias linhas de tabela, possivelmente substituindo linhas existentes.
HRESULT HrModifyRows(
ULONG ulFlags,
LPSRowSet lpSRowSet
);
Parâmetros
ulFlags
[in] Reservados; deve ser zero.
lpSRowSet
[in] Um ponteiro para uma estrutura SRowSet que contém o conjunto de linhas a serem adicionadas, substituindo as linhas existentes, se necessário. Uma das estruturas de valor da propriedade apontadas pelo membro lpProps de cada estrutura SRow no conjunto de linhas deve conter a coluna de índice, o mesmo valor especificado no parâmetro ulPropTagIndexColumn na chamada para a função CreateTable .
Valor de retorno
S_OK
As linhas foram inseridas ou modificadas com êxito.
MAPI_E_INVALID_PARAMETER
Uma ou mais das linhas passadas não têm uma coluna de índice. Se esse erro for retornado, nenhuma linha será alterada.
Comentários
O método ITableData::HrModifyRows insere as linhas descritas pela estrutura SRowSet apontadas pelo parâmetro lpSRowSet . Se o valor da coluna de índice de uma linha no conjunto de linhas corresponder ao valor de uma linha existente na tabela, a linha existente será substituída. Se não existir nenhuma linha que corresponda à incluída na estrutura SRowSet , HrModifyRows adicionará a linha ao final da tabela.
Todas as exibições da tabela são modificadas para incluir as linhas apontadas por lpSRowSet. No entanto, se uma exibição tiver uma restrição em vigor que exclua uma linha, ela poderá não estar visível para o usuário.
As colunas nas linhas apontadas por lpSRowSet não precisam estar na mesma ordem que as colunas na tabela. O chamador também pode incluir como propriedades de colunas que não estão atualmente na tabela. Para exibições existentes, HrModifyRows disponibiliza essas novas colunas, mas não as inclui no conjunto de colunas atual. Para exibições futuras, HrModifyRows inclui as novas colunas no conjunto de colunas.
Depois que o HrModifyRows tiver adicionado as linhas, as notificações são enviadas a todos os clientes ou provedores de serviços que têm uma exibição da tabela e que chamaram o método IMAPITable::Advise da tabela para se registrar para notificações. O MAPI envia TABLE_ROW_ADDED ou TABLE_ROW_MODIFIED notificações para cada linha, até oito linhas. Se mais de oito linhas forem afetadas pela chamada HrModifyRows , a MAPI enviará uma única TABLE_CHANGED notificação.