既知のフォルダー
Windows Vista では、新しいストレージ シナリオと新しいユーザー プロファイル名前空間が導入されています。 これらの新しい要因に対処するために、CSIDL 値によって標準フォルダーを参照する古いシステムが置き換えられました。 Windows Vista の時点では、これらのフォルダーは、既知のフォルダー ID と呼ばれる新しい GUID 値のセットによって参照されます。
既知のフォルダー システムには、次の利点があります。
- 独立系ソフトウェア ベンダー (ISV) は、既知のフォルダー ID のセットを独自に拡張できます。 フォルダーの定義、ID の付与、システムへの登録を行うことができます。 CSIDL 値を拡張できませんでした。
- システム上のすべての既知のフォルダーを列挙できます。 CSIDL 値に対してこの機能を提供する API はありません。 詳細については、IKnownFolderManager::GetFolderIds を参照してください。
- ISV によって追加された既知のフォルダーでは、目的と目的を説明できるカスタム プロパティを追加できます。
- ネットワークの場所など、多くの既知のフォルダーを新しい場所にリダイレクトできます。 CSIDL システムでは、マイ ドキュメント フォルダーのみをリダイレクトできました。
- 既知のフォルダーには、作成時または削除時に使用するカスタム ハンドラーを含めることができます。
CSIDL の値を使用する CSIDL システムと API は、互換性のために引き続きサポートされています。 ただし、新しい開発で使用することはお勧めしません。
次のトピックでは、既知のフォルダー システムの詳細について説明します。
- アプリケーション での既知のフォルダーの操作の
- カスタム フォルダーを使用して既知のフォルダーを拡張する方法
- KNOWNFOLDERIDの
次のリファレンス ページでは、既知のフォルダーの場所を取得したり、新しい場所にリダイレクトしたりするために使用できる Win32 既知のフォルダー関数について説明します。 これらの関数は、以前の Win32 関数を置き換えます。 新しい関数は、古い関数と同等の動作を提供するために提供されますが、新しい各関数もコンポーネント オブジェクト モデル (COM) API によって複製されます。
新しい関数 | 置き換えます | COM に相当する |
---|---|---|
SHGetKnownFolderPathをする | SHGetFolderPathをする | IKnownFolder::GetPath |
SHGetKnownFolderIDListをする | SHGetFolderLocationをする | IKnownFolder::GetIDList |
SHSetKnownFolderPathをする | SHSetFolderPathをする | IKnownFolder::SetPath |
次のリファレンス ページでは、上記の Win32 API のすべての機能を提供する COM 既知のフォルダー API について説明します。さらに、すべての既知のフォルダーを列挙し、既知のフォルダーのプロパティにアクセスし、既知のフォルダーの標準セットを拡張する機能を追加します。
- IKnownFolderの
- IKnownFolderManager
既知のフォルダー API を示す C++ サンプルは、Windows ソフトウェア開発キット (SDK) に含まれています。 コンピューターに Windows SDK をインストールすると、サンプルは %ProgramFiles%\Microsoft SDKs\Windows\v6.0\Samples\WinUI\Shell\AppPlatform\KnownFolders にあります。