KNOWN_FOLDER_FLAG列挙 (shlobj_core.h)

既知のフォルダーの特別な取得オプションを指定する定数を定義します (たとえば、SHGetKnownFolderIDList 関数を呼び出して既知のフォルダーのパスを取得するときに使用します)。 これらの値は、並列の意味を持つ CSIDL 値よりも優先されます。

構文

typedef enum {
  KF_FLAG_DEFAULT = 0x00000000,
  KF_FLAG_FORCE_APP_DATA_REDIRECTION = 0x00080000,
  KF_FLAG_RETURN_FILTER_REDIRECTION_TARGET = 0x00040000,
  KF_FLAG_FORCE_PACKAGE_REDIRECTION = 0x00020000,
  KF_FLAG_NO_PACKAGE_REDIRECTION = 0x00010000,
  KF_FLAG_FORCE_APPCONTAINER_REDIRECTION = 0x00020000,
  KF_FLAG_NO_APPCONTAINER_REDIRECTION = 0x00010000,
  KF_FLAG_CREATE = 0x00008000,
  KF_FLAG_DONT_VERIFY = 0x00004000,
  KF_FLAG_DONT_UNEXPAND = 0x00002000,
  KF_FLAG_NO_ALIAS = 0x00001000,
  KF_FLAG_INIT = 0x00000800,
  KF_FLAG_DEFAULT_PATH = 0x00000400,
  KF_FLAG_NOT_PARENT_RELATIVE = 0x00000200,
  KF_FLAG_SIMPLE_IDLIST = 0x00000100,
  KF_FLAG_ALIAS_ONLY = 0x80000000
} KNOWN_FOLDER_FLAG;

定数

 
KF_FLAG_DEFAULT
値: 0x00000000
特別な取得オプションを指定しません。
KF_FLAG_FORCE_APP_DATA_REDIRECTION
値: 0x00080000
Windows 10 バージョン 1709 で導入されました。 パッケージ アプリから呼び出されると、LocalAppData/RoamingAppData フォルダーが、LocalFolder プロパティと RoamingFolder プロパティの Windows.Storage.ApplicationData.Current から返されるパスと一致するプライベート アプリの場所にリダイレクトされることを指定します。 他のフォルダーは LocalAppData のサブディレクトリにリダイレクトされます。

このフラグは、 FOLDERID_AppDataDesktopFOLDERID_AppDataDocumentsFOLDERID_AppDataFavoritesおよびFOLDERID_AppDataProgramDataで使用されます。 また、.NET アプリケーションとの互換性を目的としており、アプリケーションから直接使用するためのものではありません。
KF_FLAG_RETURN_FILTER_REDIRECTION_TARGET
値: 0x00040000
Windows 10 バージョン 1703 で導入されました。 パッケージ化されたプロセスでを実行する場合は、ファイル システムの一部の場所がファイル システムによってパッケージ固有の場所にリダイレクトされることを指定します。 このフラグにより、それらの場所の方向のターゲットが返されます。 これは、ファイル システム内の実際の場所を認識する必要がある場合に役立ちます。
KF_FLAG_FORCE_PACKAGE_REDIRECTION
値: 0x00020000
Windows 10 バージョン 1703 で導入されました。 AppContainer プロセス内で実行する場合、または AppContainer トークンを指定する場合は、一部のフォルダーがパッケージ内の AppContainer 固有の場所にリダイレクトされることを指定します。 このフラグは、パッケージ化されたプロセスの目的でリダイレクト (通常はリダイレクトされないフォルダーの場合) を強制し、同じパッケージ内の UWP とパッケージ化されたアプリの間でファイルを共有するために使用できます。 このフラグは、非推奨の KF_FLAG_FORCE_APPCONTAINER_REDIRECTIONよりも優先されます。
KF_FLAG_NO_PACKAGE_REDIRECTION
値: 0x00010000
Windows 10 バージョン 1703 で導入されました。 パッケージ化されたプロセス内で実行する場合、またはパッケージ化されたプロセス トークンを指定する場合は、一部のフォルダーがパッケージ固有の場所にリダイレクトされることを指定します。 このフラグは、適用されている場所でのリダイレクトを無効にし、パッケージ化されたプロセス内で実行されていない場合に返されるパスを返します。 このフラグは、非推奨の KF_FLAG_NO_APPCONTAINER_REDIRECTIONよりも優先されます。
KF_FLAG_FORCE_APPCONTAINER_REDIRECTION
値: 0x00020000
Windows 8で導入されました。 このフラグは、Windows 10 バージョン 1703 では非推奨となりました。 代わりに KF_FLAG_FORCE_PACKAGE_REDIRECTION を使用してください。
KF_FLAG_NO_APPCONTAINER_REDIRECTION
値: 0x00010000
Windows 8で導入されました。 このフラグは、Windows 10 バージョン 1703 では非推奨となりました。 代わりに KF_FLAG_NO_PACKAGE_REDIRECTION を使用してください。
KF_FLAG_CREATE
値: 0x00008000
指定したフォルダーがまだ存在しない場合に、指定したフォルダーの作成を強制するように指定します。 そのフォルダーに対して定義済みのセキュリティ プロビジョニングが適用されます。 フォルダーが存在せず、作成できない場合、関数はエラー コードを返し、パスは返されません。 この値は、次の関数とメソッドでのみ使用できます。

* SHGetKnownFolderPath
* SHGetKnownFolderIDList
* IKnownFolder::GetIDList
* IKnownFolder::GetPath
* IKnownFolder::GetShellItem
KF_FLAG_DONT_VERIFY
値: 0x00004000
パスまたは IDList を取得する前に、フォルダーの存在を確認しないように指定します。 このフラグが設定されていない場合は、フォルダーがパスに本当に存在することを確認しようとします。 フォルダーが存在しないかアクセスできないために検証が失敗した場合、関数はエラー コードを返し、パスは返されません。

フォルダーがネットワーク上にある場合、関数の実行に時間がかかる場合があります。 そのため、このフラグを設定すると、その待機時間を短縮できます。
KF_FLAG_DONT_UNEXPAND
値: 0x00002000
環境文字列を使用せずにレジストリに完全なパスを格納する仕様。 このフラグが設定されていない場合、パスの一部は などの %USERPROFILE%環境文字列で表される可能性があります。 このフラグは、 SHSetKnownFolderPath および IKnownFolder::SetPath でのみ使用できます。
KF_FLAG_NO_ALIAS
値: 0x00001000
SHGetKnownFolderIDList および IKnownFolder::GetIDList によって返される、 などの%USERPROFILE%エイリアス付きプレースホルダーを含まない、フォルダーの真のシステム パスを取得するように指定します。 このフラグは、 SHGetKnownFolderPath および IKnownFolder::GetPath によって返されるパスには影響しません。 既定では、既知のフォルダー取得関数とメソッドは、エイリアスが存在する場合はエイリアス化されたパスを返します。
KF_FLAG_INIT
値: 0x00000800
設定を使用して Desktop.ini フォルダーを初期化するように指定します。 フォルダーを初期化できない場合、関数はエラー コードを返し、パスは返されません。 このフラグは常に KF_FLAG_CREATEと組み合わせる必要があります。

フォルダーがネットワーク上にある場合、関数の実行に時間がかかる場合があります。
KF_FLAG_DEFAULT_PATH
値: 0x00000400
既知のフォルダーの既定のパスを取得するように指定します。 このフラグが設定されていない場合、関数はフォルダーの現在のパス (場合によってはリダイレクトされる可能性があります) を取得します。 このフラグの実行には、 KF_FLAG_DONT_VERIFY が設定されていない限り、フォルダーの存在の検証が含まれます。
KF_FLAG_NOT_PARENT_RELATIVE
値: 0x00000200
親の現在の場所に関係なく、フォルダーの既定のパスを取得するように指定します。 KF_FLAG_DEFAULT_PATH も設定する必要があります。
KF_FLAG_SIMPLE_IDLIST
値: 0x00000100
単純な IDList (PIDL) をビルドするように指定します。 この値は、ファイル システム パスを取得する場合に使用できます。 ただし、フォルダーのローカライズされた表示名を取得する場合は、正しく解決されない可能性があるため、この値を指定しないでください。
KF_FLAG_ALIAS_ONLY
値: 0x80000000
Windows 7 で導入されました。 エイリアス化された PIDL のみを取得するように指定します。 ファイル システム パスは使用しないでください。

注釈

これらの値は、 KF_FLAG_ALIAS_ONLYを除き、Windows Vista では個々の定数として定義されていました。 これらは、Windows 7 以降でのみ列挙体として定義されています。 ただし、基になる数値はすべてどちらの形式でも同じです。

要件

要件
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
Header shlobj_core.h (Shlobj.h を含む)

こちらもご覧ください