Поделиться через


HrAddColumnsEx

Область применения: Outlook 2013 | Outlook 2016

Добавляет или перемещает столбцы в начало существующей таблицы.

Свойство Значение
Файл заголовка:
Mapiutil.h
Реализовано в:
MAPI
Вызывающая сторона:
Клиентские приложения и поставщики услуг
HRESULT HrAddColumnsEx(
  LPMAPITABLE lptbl,
  LPSPropTagArray lpproptagColumnsNew,
  LPALLOCATEBUFFER lpAllocateBuffer,
  LPFREEBUFFER lpFreeBuffer,
  void (FAR * lpfnFilterColumns)(
  LPSPropTagArray ptaga)
);

Параметры

lptbl

[в] Указатель на затронутую таблицу MAPI.

lpproptagColumnsNew

[в] Указатель на структуру SPropTagArray , содержащую массив тегов свойств для свойств, добавляемых или перемещаемых в начало таблицы.

lpAllocateBuffer

[в] Указатель на функцию MAPIAllocateBuffer , используемую для выделения памяти.

lpFreeBuffer

[в] Указатель на функцию MAPIFreeBuffer , которая будет использоваться для освобождения памяти.

lpfnFilterColumns

[в] Указатель на функцию обратного вызова, которую предоставляет вызывающий объект. Если параметр lpfnFilterColumns имеет значение NULL, обратный вызов не выполняется.

ptaga

[в] Указатель на структуру SPropTagArray , которая содержит массив тегов свойств, уже существующих в таблице до добавления или перемещения свойств в начало. HrAddColumnsEx передает этот указатель в качестве параметра функции обратного вызова, на которую указывает lpfnFilterColumns.

Возвращаемое значение

S_OK

Вызов выполнен успешно, и указанные столбцы были перемещены или добавлены.

Замечания

Свойства, передаваемые в HrAddColumnsEx с помощью параметра lpproptagColumnsNew , становятся первыми свойствами, предоставляемыми при последующих вызовах метода IMAPITable::QueryRows . Все свойства, ранее указанные в таблице, которые не были указаны в параметре lpproptagColumnsNew , предоставляются после всех добавленных и перемещенных свойств.

Если какие-либо свойства таблицы не определены при вызове QueryRows , они возвращаются с типом свойства PT_NULL и идентификатором свойства PROP_ID_NULL.

Примечания для вызывающих методов

Функция HrAddColumnsEx позволяет вызывающей объекту предоставить функцию обратного вызова для фильтрации столбцов, которые уже были в таблице, например для преобразования строк из типа свойства PT_UNICODE в PT_STRING8. HrAddColumnsEx передает указатель на ранее существующий набор столбцов в качестве параметра функции обратного вызова. Функция обратного вызова может изменять данные в массиве тегов свойств, но не может добавлять новые теги.

HrAddColumnsEx сначала вызывает функцию обратного вызова, если она указана, затем добавляет или перемещает указанные столбцы и, наконец, вызывает IMAPITable::SetColumns.

Входные параметры lpAllocateBuffer и lpFreeBuffer указывают на функции MAPIAllocateBuffer и MAPIFreeBuffer соответственно. Точные значения указателей, передаваемых в HrAddColumnsEx, зависят от того, является ли вызывающий объект клиентским приложением или поставщиком услуг. Клиент передает указатели на функции MAPI с указанными именами. Поставщик услуг передает указатели, полученные в вызове инициализации или полученные путем вызова метода IMAPISupport::GetMemAllocRoutines .

См. также

IMAPITable::QueryColumns