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


IMAPITable::ExpandRow

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

Разворачивает свернутую категорию таблицы, добавляя в представление таблицы строки заголовка конечного или нижнего уровня, принадлежащие категории.

HRESULT ExpandRow(
ULONG cbInstanceKey,
LPBYTE pbInstanceKey,
ULONG ulRowCount,
ULONG ulFlags,
LPSRowSet FAR * lppRows,
ULONG FAR * lpulMoreRows
);

Параметры

cbInstanceKey

[в] Количество байтов в свойстве PR_INSTANCE_KEY, на которое указывает параметр pbInstanceKey .

pbInstanceKey

[в] Указатель на свойство PR_INSTANCE_KEY (PidTagInstanceKey), идентифицирующее строку заголовка для категории.

ulRowCount

[в] Максимальное количество строк, возвращаемых в параметре lppRows .

ulFlags

Защищены; значение должно быть равно нулю.

lppRows

[out] Указатель на структуру SRowSet , получающую первые строки (до ulRowCount), которые были вставлены в табличное представление в результате расширения. Эти строки вставляются после строки заголовка, определяемой параметром pbInstanceKey . Параметр lppRows может иметь значение NULL, если параметр ulRowCount равен нулю.

lpulMoreRows

[out] Указатель на общее количество строк, добавленных в представление таблицы.

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

S_OK

Категория успешно развернута.

MAPI_E_NOT_FOUND

Строка, определяемая параметром pbInstanceKey , не существует.

Замечания

Метод IMAPITable::ExpandRow расширяет свернутую категорию таблицы, добавляя строки заголовков конечного или нижнего уровня, принадлежащие категории, в представление таблицы. Ограничение на количество строк, возвращаемых в параметре lppRows , можно указать в параметре ulRowCount . Если ulRowCount имеет значение больше нуля и возвращается одна или несколько строк в наборе строк, на который указывает lppRows, позиция закладки BOOKMARK_CURRENT перемещается в строку сразу после последней строки в наборе строк.

Если значение ulRowCount равно нулю, при запросе добавления в категорию нулевые строки заголовка или заголовка нижнего уровня или возврата нулевых строк, так как в категории нет строк заголовка конечного или нижнего уровня, позиция BOOKMARK_CURRENT устанавливается на строку, следующую за строкой, определенной pbInstanceKey.

Примечания для исполнителей

Не создавайте уведомления о строках, добавленных в представление таблицы из-за расширения категории.

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

Количество строк в наборе строк, на которые указывает параметр lppRows , может не равняться количеству строк, которые были фактически добавлены в таблицу, а также всему набору строк заголовков конечного или нижнего уровня для категории. Могут возникать ошибки, например нехватка памяти или количество строк в категории, превышающее число, указанное в параметре ulRowCount . В любом случае BOOKMARK_CURRENT будет располагаться в последней возвращенной строке. Чтобы немедленно получить остальные строки в категории, вызовите IMAPITable::QueryRows.

Не ожидайте получать уведомление таблицы при изменении состояния категории. Вы можете поддерживать локальный кэш строк, который можно обновлять при каждом вызове ExpandRow или CollapseRow .

Дополнительные сведения о таблицах с классификацией см. в разделе Сортировка и классификация.

Справочные материалы по MFCMAPI

Пример кода MFCMAPI указан в приведенной ниже таблице.

Файл Функция Comment
ContentsTableListCtrl.cpp
CContentsTableListCtrl::D oExpandCollapse
MFCMAPI использует метод IMAPITable::ExpandRow для развертывания свернутой категории таблицы.

См. также

IMAPITable::CollapseRow

IMAPITable : IUnknown

Mfcmapi (en) � �������� ������� ����