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


IMAPITable::SetCollapseState

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

Перестраивает текущее развернутое или свернутое состояние классифицированной таблицы с использованием данных, сохраненных до вызова метода IMAPITable::GetCollapseState .

HRESULT SetCollapseState(
ULONG ulFlags,
ULONG cbCollapseState,
LPBYTE pbCollapseState,
BOOKMARK FAR * lpbkLocation
);

Параметры

ulFlags

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

cbCollapseState

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

pbCollapseState

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

lpbkLocation

[out] Указатель на закладку, определяющую строку в таблице, в которой необходимо перестроить свернутое или развернутое состояние. Эта закладка и ключ экземпляра, переданные в параметре lpbInstanceKey в вызове IMAPITable::GetCollapseState , определяют одну и ту же строку.

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

S_OK

Состояние классифицированной таблицы успешно перестроено.

MAPI_E_BUSY

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

MAPI_E_UNABLE_TO_COMPLETE

Таблица не может завершить перестроение свернутого или развернутого представления.

Замечания

Метод IMAPITable::SetCollapseState восстанавливает развернутое или свернутое состояние табличного представления. SetCollapseState и GetCollapseState работают вместе следующим образом:

  1. Когда состояние классифицированной таблицы изменится, вызывается IMAPITable::GetCollapseState , чтобы сохранить все данные, относящиеся к состоянию до изменения.

  2. Чтобы восстановить представление таблицы до сохраненного состояния, вызывается метод SetCollapseState . Данные, сохраненные GetCollapseState , передаются в SetCollapseState. SetCollapseState может использовать эти данные для восстановления состояния.

  3. SetCollapseState возвращает в качестве выходного параметра закладку, которая идентифицирует ту же строку, что и ключ экземпляра, переданный в качестве входных данных в GetCollapseState.

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

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

Вы несете ответственность за проверку того, что порядок сортировки и ограничения точно совпадают с тем же порядком сортировки, что и во время вызова GetCollapseState . Если было внесено изменение, не следует вызывать SetCollapseState , так как результаты могут быть непредсказуемыми. Это может произойти, если, например, клиент вызывает GetCollapseState , а затем SortTable , чтобы изменить ключ сортировки перед вызовом SetCollapseState. Чтобы обеспечить безопасность, проверка, что сохраненные данные по-прежнему действительны, прежде чем продолжить восстановление.

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

Чтобы вызвать SetCollapseState, необходимо ранее вызывать GetCollapseState. Порядок сортировки, устанавливающий категории, должен быть одинаковым для обоих методов. Если порядок сортировки отличается, результаты операции SetCollapseState непредсказуемы.

См. также

IMAPITable::CreateBookmark

IMAPITable::FreeBookmark

IMAPITable::GetCollapseState

IMAPITable : IUnknown