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 для развертывания свернутой категории таблицы. |