ICustomDestinationList::GetRemovedDestinations 方法 (shobjidl_core.h)
擷取使用者已從這個自定義跳躍清單取代的現有跳躍清單中移除的目前目的地清單。
語法
HRESULT GetRemovedDestinations(
[in] REFIID riid,
[out] void **ppv
);
參數
[in] riid
類型:REFIID
透過 ppv 擷取之介面 IID 的參考,通常IID_IObjectArray。
[out] ppv
類型:void**
當這個方法傳回時,會包含 riid中所要求的介面指標。 這通常是 IObjectArray,代表 IShellItem 或 IShellLink 物件,這些物件代表已移除目的地清單中的專案。
傳回值
類型:HRESULT
如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
言論
專案可以透過用戶動作從跳躍清單 UI 中移除。 然後,專案會標示為已移除,且不再顯示。 應用程式可以使用此方法來告知使用者已移除的專案,使其知道不會在其自定義清單中顯示這些專案。 例如,如果該應用程式不會透過 ICustomDestinationList::BeginList產生新的清單,則應該在啟動應用程式時呼叫這個方法。
強烈建議應用程式在使用者選擇移除該目的地時清除任何目的地追蹤數據。 如果使用者在未來再次存取該目的地,它可能會重新新增至跳躍清單,並再次累積數據。 呼叫 ICustomDestinationList::BeginList 時,會擷取此方法所擷取的相同已移除目的地清單。 在此情況下,應用程式不得立即嘗試重新插入任何已移除的專案,或呼叫 AppendCategory 將會失敗。 這可確保應用程式遵守使用者移除專案的意圖。
如果應用程式有明確的應用程式使用者模型標識碼 (AppUserModelID),您必須先呼叫 SetAppID,才能呼叫此方法。
即使應用程式呼叫 GetRemovedDestinations,並在清單中找到一個專案,且該專案的還原機率高於預期建立新的自定義跳躍清單之後,應用程式應該撰寫跳躍清單,且只有在使用者再次存取它之後,才會將它重新新增至清單。
應用程式可以將 最近 或 頻繁已知類別 新增至其自定義跳躍清單。 即使未顯示在任何自定義類別中,該類別中的專案也可能位於移除的項目清單中。 在此情況下,如果已儲存任何專案,應用程式仍應清除該專案的任何使用量數據。
呼叫 GetRemovedDestinations 不會清除移除的目的地數據。 BeginList 下一代清單需要此數據。 已移除的目的地數據已不再需要,而且會在開始清單產生會話之後清除,BeginList開始,繼續呼叫 AppendCategory,並透過呼叫 commitList完成。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 7 [僅限傳統型應用程式] |
支援的最低伺服器 | Windows Server 2008 R2 [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | shobjidl_core.h (包括 Shobjidl.h) |
連結庫 | Shell32.lib |
DLL | Shell32.dll (6.1 版或更新版本) |