Windows の Windows シェル ライブラリ
このトピックでは、Windows 7 以降のライブラリの概要について説明します。 ライブラリは Windows シェル機能です。 ライブラリなどの Windows シェル機能にアクセスするには、Windows Search アプリケーションのサードパーティ開発者が最初にシェル データ ストアを実装する必要があります。 詳細については、「 基本的なフォルダー オブジェクト インターフェイスの実装」を参照してください。
このトピックは次のように整理されています。
ライブラリ
Windows 7 以降では、ライブラリはユーザー データの既定のリポジトリです。 ユーザーは、フォルダー内と同じ方法でファイルを参照することも、日付、種類、作成者などのプロパティで整理されたファイルを表示することもできます。 フォルダーとは異なり、ライブラリは実際にはアイテムを格納しませんが、複数のフォルダーに同時に格納されているファイルを表示します。 ライブラリは、集約されたコンテンツのユーザーに 1 つのアクセス ポイントとリッチ ビュー ピボットを提供します。 たとえば、ユーザーが My Music フォルダーに加えて外部ドライブのフォルダーに音楽ファイルを持っている場合、音楽ライブラリを通じてすべての音楽ファイルにすぐにアクセスできます。
ユーザー データエントリポイント
既定のライブラリ ( マイ ドキュメント、 マイ ピクチャなど) は、 既知のフォルダーに相当します。 既定のライブラリはユーザーに使い慣れたエントリ ポイントを提供しますが、ライブラリ コンテンツは既知のフォルダー コンテンツ ライブラリに限定されないため、ドキュメントとメディアを格納する場所をより自由に判断できます。 ライブラリは、シェル名前空間 (シェル データ ソース) を介して公開されます。 アプリケーションでは、ライブラリの認識と参照を有効にすることで、ユーザーに同じ使い慣れたエントリ ポイントをデータに提供できます。
フォルダーのコレクション
ライブラリは、コンテンツのユーザー定義コレクションです。 Windows Search では、ライブラリに含まれている場合にサポートされるフォルダーにインデックスを付けます。 これにより、ライブラリ内のクイック検索およびプロパティベースのスタック配置ビューが可能になります。
ライブラリでサポートされているフォルダー
ライブラリでフォルダーをサポートするには、ローカル コンピューターでインデックスを作成でき、リモート Windows マシンでインデックスを作成するか、Windows Search によってインデックス付けされたファイルを含むサーバーでインデックスを作成する必要があります。
サポートされていないフォルダーは、Windows ライブラリ管理ダイアログでユーザーが追加できないようにブロックされます。 IShellLibrary API を使用してインデックスのないリモート フォルダーがライブラリに追加された場合、ライブラリ のユーザー エクスペリエンスはライブラリ セーフ モードに戻ります。 セーフ モードでは、プロパティベースのスタック配置ビュー、フィルター候補、スタート メニュー検索のサポートなどの機能が、影響を受けるライブラリから削除されます。
次の表に、Windows エクスプローラー ライブラリ管理ダイアログを使用してライブラリに含まれるフォルダーと、セーフ モードでサポートされていないフォルダーを示します。
サポートされているフォルダー | サポートされていないフォルダー |
---|---|
固定および外部 NTFS および FAT32 ハード ドライブ | リムーバブル ドライブ (サムドライブや SD カードなど) |
Windows Search によってインデックスが作成された共有 (部門サーバー、Windows 10を実行しているコンピューター、Windows 7 Home エディションなど) | リムーバブル メディア (CD や DVD など) |
オフラインで使用できる共有 ( リダイレクトされたマイ ドキュメント、 クライアント側キャッシュなど) | オフラインでもリモートでもインデックスが作成されていないネットワーク共有 (NAS ドライブなど) |
該当なし | その他のデータ ソース (Microsoft SharePoint、Microsoft Exchange、Microsoft OneDrive など) |
Storage-Backed
ライブラリは、ストレージ フォルダーのコレクションです。 すべてのライブラリには、これらのファイルを送信する既定の保存場所があるため、ユーザーはファイルを直接保存してライブラリにコピーできます。 既定のライブラリの場合、これはライブラリ ( マイ ドキュメントなど) に含まれるユーザー既知のフォルダー、またはカスタム ライブラリに追加された最初のフォルダーです。 これは、ユーザーがファイルをライブラリにドラッグ アンド ドロップするとき、または共通のファイル ダイアログを使用してライブラリに保存するときにファイルが移動するフォルダーです。 ユーザーは、任意の時点でライブラリの既定の保存場所を変更できますが、既定の保存場所を削除すると、ライブラリ内の次のフォルダーが新しい保存場所として選択されます。 ユーザーは、ライブラリに含まれているアクセス許可を持つ任意のフォルダーにさらに保存できます。
ファイル システム以外のシェル コンテナー
ライブラリには、コンピューターやコントロール パネルなどのファイル システム上のシェル コンテナーを含めることができますが、ファイル システム項目を含めることができます。 ライブラリ フォルダーとコンテンツは、以前のオペレーティング システムのファイル システム ファイルとフォルダーの API を使用して列挙およびアクセスできます。 アプリケーションがファイル システム固有の API に大きく依存している場合は、 IShellLibrary API を使用して、ライブラリ内のフォルダーとファイルのファイル システム パスを取得できます。 ほとんどの場合、シェル プログラミング モデルを使用して、複数の Windows バージョンと項目の柔軟性をサポートすることをお勧めします。 詳細については、「 シェル名前空間の移動」を参照してください。
ライブラリの説明
ライブラリの説明は、%appdata%Microsoft\Windows\Libraries フォルダーの XML ファイルとしてディスクに保存されます ( また、FOLDERID_Librariesとして保存される可能性があります。 FOLDERID_Librariesの詳細については、「KNOWNFOLDERID」を参照してください。
ライブラリ記述ファイルは、ファイル名拡張子が .library-ms の XML ファイルです。 アプリケーションがファイルにアクセスしたり編集したりしないでください。 ライブラリ記述ファイルに保存されるフォルダー パス テキストは、常に最新であるとは限りません。 ライブラリ フォルダーは、シリアル化されたバイナリ シェル リンク 形式でライブラリ記述ファイルに保持されます。 ライブラリとライブラリ記述スキーマの詳細については、「ライブラリ記述 スキーマ」を参照してください。 フェデレーション検索コネクタと検索コネクタの説明スキーマの詳細については、「 Search Connector Description Schema」を参照してください。
[注意]
アプリケーションでは、常にシェル プログラミング モデルまたは IShellLibrary API を使用してライブラリの内容を使用および操作し、ライブラリ記述ファイルに手動でアクセスしたり編集したりしないでください。