ICustomDestinationList インターフェイス (shobjidl_core.h)

アプリケーションがタスク バーに表示するために、移動先やタスクなどのカスタムジャンプ リストを提供できるようにするメソッドを公開します。

継承

ICustomDestinationList インターフェイスは、IUnknown インターフェイスから継承します。 ICustomDestinationList には、次の種類のメンバーもあります。

メソッド

ICustomDestinationList インターフェイスには、これらのメソッドがあります。

 
ICustomDestinationList::AbortList

変更をコミットせずに、ICustomDestinationList::BeginList によって開始されたジャンプ リスト構築セッションを中止します。
ICustomDestinationList::AddUserTasks

ユーザー設定のジャンプ リストの [タスク] カテゴリに含める項目を指定します。
ICustomDestinationList::AppendCategory

カスタム ジャンプ リストに含めるために、カスタム カテゴリとそのカテゴリに含まれる変換先を定義します。
ICustomDestinationList::AppendKnownCategory

[頻度] または [最近] カテゴリをカスタムジャンプ リストに含める必要があることを指定します。
ICustomDestinationList::BeginList

カスタムジャンプリストのビルドセッションを開始します。
ICustomDestinationList::CommitList

ICustomDestinationList::BeginList の呼び出しによって開始されたジャンプ リストが完了し、表示の準備ができていることを宣言します。
ICustomDestinationList::D eleteList

指定したアプリケーションのカスタムジャンプ リストを削除します。
ICustomDestinationList::GetRemovedDestinations

このカスタムジャンプリストが置き換えられる既存のジャンプリストから、ユーザーによって削除された移動先の現在のリストを取得します。
ICustomDestinationList::SetAppID

タスク バー ボタンが、このインターフェイスのメソッドを介して構築されたカスタムジャンプ リストを保持するアプリケーションの一意のアプリケーション ユーザー モデル ID (AppUserModelID) を指定します。 このメソッドは省略可能です。

注釈

実装するタイミング

このインターフェイスの実装は、CLSID_DestinationListとして Windows で提供されます。 このインターフェイスは、サード パーティによって実装されていません。

使用するタイミング

ジャンプLists移動先リストとタスク リストの両方が含まれています。
  • 宛先は、個人の使用状況に基づいて、[最近]、[頻繁]、または [カスタム] カテゴリに表示されるアイテムです。 変換先には、ファイル、フォルダー、Web サイト、またはその他のコンテンツ ベースのアイテムを指定できますが、必ずしもファイルでバックアップされるとは限りません。 変換先は、モノまたは名詞と考えることができます。 移動先は、ユーザーがジャンプ リストにピン留めしたり、ジャンプ リストから削除したりすることができます。 これらは一般に IShellItem オブジェクトで表されますが、 IShellLink オブジェクトにすることもできます。
  • タスク は、個人の使用パターンに関係なく、そのアプリケーションのすべてのユーザーに適用されるアプリケーションで実行される一般的なアクションです。 タスクは、アクションまたは動詞と考えることができます。 タスクをピン留めしたり削除したりすることはできません。 これらは IShellLink オブジェクトによって表されます。

タスク バーには、各タスク バー ボタンにジャンプ リストが表示されます。 既定では、ジャンプ リストには Recent カテゴリが含まれています。このカテゴリは、 SHAddToRecentDocs または共通ファイル ダイアログを使用してファイル ベースのアプリケーションに自動的に設定されます。 Recent カテゴリを Frequent カテゴリに置き換えるか、独自のカスタム カテゴリを定義、追加、および設定するには、アプリケーションでこのインターフェイスのメソッドを呼び出す必要があります。 アプリケーションは、アプリケーションのアーキテクチャと使用目的に基づいて独自のタスクを提供することもできます。

メモ アプリケーションは、その種類の項目がジャンプ リストに表示されるファイルの種類の登録済みハンドラーである必要があります。 ただし、そのファイルの種類の既定のハンドラーである必要はありません。
 
カスタムジャンプリストは、アプリケーションの以前の使用状況に基づいて、またはアイテムがユーザーにとって重要であることを示すアクション (ユーザーが [お気に入り] リストに項目を追加するなど) を通じて、アプリケーションが重要と見なしたコンテンツを表示することを目的としています。

アプリケーションは、タスク バー UI にカスタムジャンプ リストを提供するには、このオブジェクトを呼び出す必要があります。 システムは、アプリケーションに対して情報の照会を行うことはありません。

アプリケーションがカスタムジャンプリストを提供する場合は、そのリストに関する特定の責任を負います。 カスタム カテゴリは、ジャンプ リストの使用目的と一致する方法で設定する必要があります。 リスト内の項目の有効性を確認するか、削除された場合は正常に失敗する必要があります。 ユーザーがリストから項目を削除する場合は、その削除を受け入れる必要があります。

カスタムジャンプリストは、既存のリスト内の要素を変更する意味で本当に更新されることはありません。 代わりに、古いリストは新しいリストに置き換えられます。

カスタムジャンプリストをビルドして表示するための ICustomDestinationList メソッド呼び出しの基本的なシーケンスは次のとおりです。

  1. SetAppID (アプリケーションが独自の AppUserModelID を提供する場合にのみ必要)
  2. BeginList
  3. AppendCategoryAppendKnownCategoryAddUserTasks、またはこれら 3 つのメソッドの任意の組み合わせ。
  4. CommitList

要件

要件
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー shobjidl_core.h (Shobjidl.h を含む)

こちらもご覧ください

タスク バーの拡張機能