ICustomDestinationList::BeginList 方法 (shobjidl_core.h)
起始自定義跳躍清單的建置會話。
語法
HRESULT BeginList(
[out] UINT *pcMinSlots,
[in] REFIID riid,
[out] void **ppv
);
參數
[out] pcMinSlots
類型: UINT*
當這個方法傳回時,指標指向 [任務欄] 和 [開始功能表屬性] 視窗中 [跳躍 清單 選項中顯示的目前用戶設定。 預設值是 10。 這是將顯示的目的地數目上限,而且不論類別為何,都是所有目的地的總計。 您可以新增更多目的地,但不會顯示在UI中。
跳躍清單一律會顯示至少這個許多位置—目的地,如果有會議室、工作。
只要分隔符和標頭總數不超過四個,這個數位就不會包含分隔符和區段標頭。 前四個以外的分隔符和區段標頭可能會減少空間受限時所顯示的目的地數目。 這個數位不會影響固定或取消釘選、關閉視窗或啟動新實例的標準命令專案。 它也不會影響工作或釘選的專案,可顯示的項目數目取決於跳躍清單可用的空間。
[in] riid
類型: REFIID
ppv 中要擷取之介面 IID 的參考,通常IID_IObjectArray,代表目前儲存在應用程式已移除目的地清單中的所有專案。 此資訊可用來確保移除的項目不屬於新的跳躍清單。
[out] ppv
類型: void**
當這個方法傳回時,會包含 riid中要求的介面指標。 這通常是 IObjectArray,代表代表已移除專案的 IShellItem 和 IShellLink 物件集合。
傳回值
類型: HRESULT
如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
備註
如果應用程式有明確的應用程式使用者模型標識碼 (AppUserModelID) ,您必須先呼叫 ICustomDestinationList::SetAppID ,才能呼叫此方法。
ppv 參數中擷取的 IObjectArray 介面代表透過 GetRemovedDestinations 擷取的相同已移除目的地清單。 產生新的跳躍清單時,應用程式必須先處理任何已移除的目的地。 必須清除已移除清單中任何專案的追蹤數據。 如果應用程式嘗試透過此已移除的目的地清單中存在的 AppendCategory 包含專案, AppendCategory 呼叫會失敗。 這可確保應用程式遵守使用者所選的已移除專案。 在呼叫 CommitList 且未失敗呼叫 AppendCategory 之後,因為嘗試在 BeginList 之後重新新增已移除的專案,所以會清除已移除的目的地清單。 在該時間之後,如果用戶繼續使用該專案,先前移除的專案可以返回目的地清單。
必須先呼叫 BeginList 來起始清單,再進行任何呼叫以透過 AppendCategory、AppendKnownCategory 或 AddUserTasks 填入清單。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | shobjidl_core.h (包含 Shobjidl.h) |
程式庫 | Shell32.lib |
Dll | Shell32.dll (6.1 版或更新版本) |