共用方式為


IMAPITable::SetCollapseState

適用於:Outlook 2013 |Outlook 2016

使用先前呼叫 IMAPITable::GetCollapseState 方法所儲存的數據,重建分類數據表的目前展開或折迭狀態。

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

參數

ulFlags

保留;必須是零。

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. 若要將數據表的檢視還原為其儲存狀態,會呼叫 SetCollapseStateGetCollapseState 儲存的數據會傳遞至 SetCollapseStateSetCollapseState 能夠使用該數據來還原狀態。

  3. SetCollapseState 會傳回作為輸出參數的書籤,此書籤會識別做為輸入傳遞至 GetCollapseState 之實例索引鍵的相同數據列。

如需分類數據表的詳細資訊,請參閱 排序和分類

實作者注意事項

您必須負責確認排序順序和限制與 GetCollapseState 呼叫時完全相同。 如果已進行變更,就不應該呼叫 SetCollapseState ,因為結果可能無法預測。 例如,如果用戶端呼叫 GetCollapseState ,然後呼叫 SortTable 在呼叫 SetCollapseState 之前變更排序密鑰,就會發生這種情況。 為了安全起見,請先檢查儲存的數據是否仍然有效,再繼續進行還原。

呼叫者注意事項

若要呼叫 SetCollapseState,您必須先前呼叫 GetCollapseState。 這兩種方法建立類別的排序順序應該相同。 如果排序順序不同, SetCollapseState 作業的結果將無法預測。

另請參閱

IMAPITable::CreateBookmark

IMAPITable::FreeBookmark

IMAPITable::GetCollapseState

IMAPITable:IUnknown