IMAPITable::SetCollapseState

適用対象: Outlook 2013 | Outlook 2016

IMAPITable::GetCollapseState メソッドの以前の呼び出しによって保存されたデータを使用して、分類されたテーブルの現在の展開または折りたたまれた状態を再構築します。

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

パラメーター

ulFlags

予約;は 0 にする必要があります。

cbCollapseState

[in] pbCollapseState パラメーターによって指される構造体のバイト数。

pbCollapseState

[in]テーブル ビューの再構築に必要なデータを含む構造体へのポインター。

lpbkLocation

[out]折りたたまれた状態または展開された状態を再構築するテーブル内の行を識別するブックマークへのポインター。 このブックマークと、IMAPITable::GetCollapseState の呼び出しで lpbInstanceKey パラメーターに渡されたインスタンス キーは、同じ行を識別します。

戻り値

S_OK

分類されたテーブルの状態が正常に再構築されました。

MAPI_E_BUSY

操作の開始を妨げる別の操作が進行中です。 進行中の操作の完了を許可するか、停止する必要があります。

MAPI_E_UNABLE_TO_COMPLETE

折りたたまれたビューまたは展開されたビューの再構築を完了できませんでした。

注釈

IMAPITable::SetCollapseState メソッドは、テーブル ビューの展開または折りたたまれた状態を再確立します。 SetCollapseStateGetCollapseState は 、次のように連携します。

  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