Compartilhar via


HrAddColumnsEx

Aplica-se a: Outlook 2013 | Outlook 2016

Adiciona ou move colunas para o início de uma tabela existente.

Propriedade Valor
Arquivo de cabeçalho:
Mapiutil.h
Implementado por:
MAPI
Chamado por:
Aplicativos cliente e provedores de serviços
HRESULT HrAddColumnsEx(
  LPMAPITABLE lptbl,
  LPSPropTagArray lpproptagColumnsNew,
  LPALLOCATEBUFFER lpAllocateBuffer,
  LPFREEBUFFER lpFreeBuffer,
  void (FAR * lpfnFilterColumns)(
  LPSPropTagArray ptaga)
);

Parâmetros

lptbl

[in] Ponteiro para a tabela MAPI afetada.

lpproptagColumnsNew

[in] Ponteiro para uma estrutura SPropTagArray que contém uma matriz de marcas de propriedade para que as propriedades sejam adicionadas ou movidas para o início da tabela.

lpAllocateBuffer

[in] Ponteiro para a função MAPIAllocateBuffer , a ser usada para alocar memória.

lpFreeBuffer

[in] Ponteiro para a função MAPIFreeBuffer , a ser usada para liberar memória.

lpfnFilterColumns

[in] Ponteiro para uma função de retorno de chamada fornecida pelo chamador. Se o parâmetro lpfnFilterColumns for definido como NULL, nenhum retorno de chamada será feito.

ptaga

[in] Ponteiro para uma estrutura SPropTagArray que contém a matriz de marcas de propriedade já existentes na tabela antes de as propriedades serem adicionadas ou movidas para o início. HrAddColumnsEx passa esse ponteiro como o parâmetro para a função de retorno de chamada apontada por lpfnFilterColumns.

Valor de retorno

S_OK

A chamada foi bem-sucedida e as colunas especificadas foram movidas ou adicionadas.

Comentários

As propriedades passadas para HrAddColumnsEx usando o parâmetro lpproptagColumnsNew tornam-se as primeiras propriedades expostas em chamadas subsequentes para o método IMAPITable::QueryRows . Todas as propriedades anteriormente na tabela que não foram especificadas no parâmetro lpproptagColumnsNew são expostas após todas as propriedades adicionadas e movidas.

Se as propriedades da tabela não forem definidas quando QueryRows for chamada, elas serão retornadas com PT_NULL de tipo de propriedade e PROP_ID_NULL de identificador de propriedade.

Notas para chamadores

A função HrAddColumnsEx permite que o chamador forneça uma função de retorno de chamada para filtrar as colunas que já estavam na tabela, por exemplo, para converter cadeias de caracteres do tipo de propriedade PT_UNICODE para PT_STRING8. HrAddColumnsEx passa um ponteiro para o conjunto de colunas existente anteriormente como o parâmetro para a função de retorno de chamada. A função de retorno de chamada pode alterar dados na matriz de marcas de propriedade, mas não pode adicionar novas marcas.

HrAddColumnsEx primeiro chama a função de retorno de chamada se uma for fornecida, depois adiciona ou move as colunas especificadas e, finalmente, chama IMAPITable::SetColumns.

Os parâmetros de entrada lpAllocateBuffer e lpFreeBuffer apontam para as funções MAPIAllocateBuffer e MAPIFreeBuffer , respectivamente. Os valores exatos dos ponteiros passados para HrAddColumnsEx dependem se o chamador é um aplicativo cliente ou um provedor de serviços. Um cliente passa ponteiros para as funções MAPI com os nomes especificados. Um provedor de serviços passa os ponteiros recebidos em sua chamada de inicialização ou recuperado chamando o método IMAPISupport::GetMemAllocRoutines .

Confira também

IMAPITable::QueryColumns