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 .