Win32 API 日本語リファレンス
ホームUI.Shell › KNOWN_FOLDER_FLAG

KNOWN_FOLDER_FLAG

列挙型フラグ
基底型i4

メンバー 16

名前10進16進説明
KF_FLAG_DEFAULT00x0特別な取得オプションを指定しません。
KF_FLAG_FORCE_APP_DATA_REDIRECTION5242880x80000

Windows 10 バージョン 1709 で導入されました。パッケージ化されたアプリから呼び出された場合、LocalAppData/RoamingAppData フォルダーが、Windows.Storage.ApplicationData.CurrentLocalFolder および RoamingFolder プロパティから返されるパスと一致する、アプリ専用の場所にリダイレクトされることを指定します。その他のフォルダーは LocalAppData のサブディレクトリにリダイレクトされます。

このフラグは、FOLDERID_AppDataDesktopFOLDERID_AppDataDocumentsFOLDERID_AppDataFavorites、および FOLDERID_AppDataProgramData と共に使用します。また、.NET アプリケーションとの互換性を目的としたものであり、アプリケーションから直接使用することを意図したものではありません。

KF_FLAG_RETURN_FILTER_REDIRECTION_TARGET2621440x40000Windows 10 バージョン 1703 で導入されました。パッケージ化されたプロセス内で実行されている場合に、一部のファイル システム上の場所が、ファイル システムによってパッケージ固有の場所へリダイレクトされることを指定します。このフラグを指定すると、それらの場所についてリダイレクト先が返されます。これは、ファイル システム内の実際の場所を知る必要がある場合に役立ちます。
KF_FLAG_FORCE_PACKAGE_REDIRECTION1310720x20000Windows 10 バージョン 1703 で導入されました。AppContainer プロセス内で実行されている場合、または AppContainer トークンを指定する場合に、一部のフォルダーがパッケージ内の AppContainer 固有の場所へリダイレクトされることを指定します。このフラグは、パッケージ化されたプロセスのために (通常はリダイレクトされないフォルダーについても) リダイレクトを強制するものであり、同一パッケージ内の UWP アプリとパッケージ化されたアプリとの間でファイルを共有する目的に使用できます。このフラグは、非推奨となった KF_FLAG_FORCE_APPCONTAINER_REDIRECTION に取って代わるものです。
KF_FLAG_NO_PACKAGE_REDIRECTION655360x10000Windows 10 バージョン 1703 で導入されました。パッケージ化されたプロセス内で実行されている場合、またはパッケージ化されたプロセスのトークンを指定する場合に、一部のフォルダーがパッケージ固有の場所へリダイレクトされることを指定します。このフラグは、リダイレクトが適用される場所でそのリダイレクトを無効にし、代わりに、パッケージ化されたプロセス内で実行されていない場合に返されるパスを返します。このフラグは、非推奨となった KF_FLAG_NO_APPCONTAINER_REDIRECTION に取って代わるものです。
KF_FLAG_FORCE_APPCONTAINER_REDIRECTION1310720x20000Windows 8 で導入されました。このフラグは Windows 10 バージョン 1703 で非推奨となりました。代わりに KF_FLAG_FORCE_PACKAGE_REDIRECTION を使用してください。
KF_FLAG_NO_APPCONTAINER_REDIRECTION655360x10000Windows 8 で導入されました。このフラグは Windows 10 バージョン 1703 で非推奨となりました。代わりに KF_FLAG_NO_PACKAGE_REDIRECTION を使用してください。
KF_FLAG_CREATE327680x8000

指定されたフォルダーがまだ存在しない場合に、その作成を強制することを指定します。そのフォルダーに対してあらかじめ定義されているセキュリティ設定が適用されます。フォルダーが存在せず、作成もできない場合、関数は失敗コードを返し、パスは返されません。この値は、次の関数およびメソッドでのみ使用できます。

KF_FLAG_DONT_VERIFY163840x4000

パスまたは IDList を取得する前に、フォルダーの存在を検証しないことを指定します。このフラグが設定されていない場合は、そのパスにフォルダーが実際に存在するかどうかを検証する処理が行われます。フォルダーが存在しない、またはアクセスできないために検証に失敗した場合、関数は失敗コードを返し、パスは返されません。

フォルダーがネットワーク上にある場合、関数の実行に時間がかかることがあります。そのため、このフラグを設定することでその遅延を軽減できます。

KF_FLAG_DONT_UNEXPAND81920x2000環境文字列を使用せずに、完全なパスをレジストリに格納することを指定します。このフラグが設定されていない場合、パスの一部が %USERPROFILE% のような環境文字列で表されることがあります。このフラグは、SHSetKnownFolderPath および IKnownFolder::SetPath でのみ使用できます。
KF_FLAG_NO_ALIAS40960x1000SHGetKnownFolderIDList および IKnownFolder::GetIDList が返す %USERPROFILE% のようなエイリアス化されたプレースホルダーを含まない、フォルダーの実際のシステム パスを取得することを指定します。このフラグは、SHGetKnownFolderPath および IKnownFolder::GetPath が返すパスには影響しません。既定では、既知のフォルダーを取得する関数およびメソッドは、エイリアスが存在する場合はエイリアス化されたパスを返します。
KF_FLAG_INIT20480x800

Desktop.ini の設定を使用してフォルダーを初期化することを指定します。フォルダーを初期化できない場合、関数は失敗コードを返し、パスは返されません。このフラグは、常に KF_FLAG_CREATE と組み合わせて使用してください。

フォルダーがネットワーク上にある場合、関数の実行に時間がかかることがあります。

KF_FLAG_DEFAULT_PATH10240x400既知のフォルダーの既定のパスを取得することを指定します。このフラグが設定されていない場合、関数はフォルダーの現在の—そしてリダイレクトされている可能性のある—パスを取得します。このフラグの処理には、KF_FLAG_DONT_VERIFY が設定されていない限り、フォルダーの存在の検証が含まれます。
KF_FLAG_NOT_PARENT_RELATIVE5120x200親フォルダーの現在の場所に依存せずに、フォルダーの既定のパスを取得することを指定します。KF_FLAG_DEFAULT_PATH も設定されている必要があります。
KF_FLAG_SIMPLE_IDLIST2560x100単純な IDList (PIDL) を構築することを指定します。この値は、ファイル システム パスを取得したい場合に使用できます。ただし、フォルダーのローカライズされた表示名を取得する場合は、正しく解決されないことがあるため、この値を指定しないでください。
KF_FLAG_ALIAS_ONLY-21474836480x80000000Windows 7 で導入されました。エイリアス化された PIDL のみを取得することを指定します。ファイル システム パスは使用しないでください。

公式ドキュメント

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

解説(Remarks)

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

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum KNOWN_FOLDER_FLAG : int {
    KF_FLAG_DEFAULT = 0,
    KF_FLAG_FORCE_APP_DATA_REDIRECTION = 524288,
    KF_FLAG_RETURN_FILTER_REDIRECTION_TARGET = 262144,
    KF_FLAG_FORCE_PACKAGE_REDIRECTION = 131072,
    KF_FLAG_NO_PACKAGE_REDIRECTION = 65536,
    KF_FLAG_FORCE_APPCONTAINER_REDIRECTION = 131072,
    KF_FLAG_NO_APPCONTAINER_REDIRECTION = 65536,
    KF_FLAG_CREATE = 32768,
    KF_FLAG_DONT_VERIFY = 16384,
    KF_FLAG_DONT_UNEXPAND = 8192,
    KF_FLAG_NO_ALIAS = 4096,
    KF_FLAG_INIT = 2048,
    KF_FLAG_DEFAULT_PATH = 1024,
    KF_FLAG_NOT_PARENT_RELATIVE = 512,
    KF_FLAG_SIMPLE_IDLIST = 256,
    KF_FLAG_ALIAS_ONLY = -2147483648
} KNOWN_FOLDER_FLAG;
[Flags]
public enum KNOWN_FOLDER_FLAG : int
{
    KF_FLAG_DEFAULT = 0,
    KF_FLAG_FORCE_APP_DATA_REDIRECTION = 524288,
    KF_FLAG_RETURN_FILTER_REDIRECTION_TARGET = 262144,
    KF_FLAG_FORCE_PACKAGE_REDIRECTION = 131072,
    KF_FLAG_NO_PACKAGE_REDIRECTION = 65536,
    KF_FLAG_FORCE_APPCONTAINER_REDIRECTION = 131072,
    KF_FLAG_NO_APPCONTAINER_REDIRECTION = 65536,
    KF_FLAG_CREATE = 32768,
    KF_FLAG_DONT_VERIFY = 16384,
    KF_FLAG_DONT_UNEXPAND = 8192,
    KF_FLAG_NO_ALIAS = 4096,
    KF_FLAG_INIT = 2048,
    KF_FLAG_DEFAULT_PATH = 1024,
    KF_FLAG_NOT_PARENT_RELATIVE = 512,
    KF_FLAG_SIMPLE_IDLIST = 256,
    KF_FLAG_ALIAS_ONLY = -2147483648,
}
<Flags>
Public Enum KNOWN_FOLDER_FLAG As Integer
    KF_FLAG_DEFAULT = 0
    KF_FLAG_FORCE_APP_DATA_REDIRECTION = 524288
    KF_FLAG_RETURN_FILTER_REDIRECTION_TARGET = 262144
    KF_FLAG_FORCE_PACKAGE_REDIRECTION = 131072
    KF_FLAG_NO_PACKAGE_REDIRECTION = 65536
    KF_FLAG_FORCE_APPCONTAINER_REDIRECTION = 131072
    KF_FLAG_NO_APPCONTAINER_REDIRECTION = 65536
    KF_FLAG_CREATE = 32768
    KF_FLAG_DONT_VERIFY = 16384
    KF_FLAG_DONT_UNEXPAND = 8192
    KF_FLAG_NO_ALIAS = 4096
    KF_FLAG_INIT = 2048
    KF_FLAG_DEFAULT_PATH = 1024
    KF_FLAG_NOT_PARENT_RELATIVE = 512
    KF_FLAG_SIMPLE_IDLIST = 256
    KF_FLAG_ALIAS_ONLY = -2147483648
End Enum
import enum

class KNOWN_FOLDER_FLAG(enum.IntFlag):
    KF_FLAG_DEFAULT = 0
    KF_FLAG_FORCE_APP_DATA_REDIRECTION = 524288
    KF_FLAG_RETURN_FILTER_REDIRECTION_TARGET = 262144
    KF_FLAG_FORCE_PACKAGE_REDIRECTION = 131072
    KF_FLAG_NO_PACKAGE_REDIRECTION = 65536
    KF_FLAG_FORCE_APPCONTAINER_REDIRECTION = 131072
    KF_FLAG_NO_APPCONTAINER_REDIRECTION = 65536
    KF_FLAG_CREATE = 32768
    KF_FLAG_DONT_VERIFY = 16384
    KF_FLAG_DONT_UNEXPAND = 8192
    KF_FLAG_NO_ALIAS = 4096
    KF_FLAG_INIT = 2048
    KF_FLAG_DEFAULT_PATH = 1024
    KF_FLAG_NOT_PARENT_RELATIVE = 512
    KF_FLAG_SIMPLE_IDLIST = 256
    KF_FLAG_ALIAS_ONLY = -2147483648
// KNOWN_FOLDER_FLAG (flags)
pub const KF_FLAG_DEFAULT: i32 = 0;
pub const KF_FLAG_FORCE_APP_DATA_REDIRECTION: i32 = 524288;
pub const KF_FLAG_RETURN_FILTER_REDIRECTION_TARGET: i32 = 262144;
pub const KF_FLAG_FORCE_PACKAGE_REDIRECTION: i32 = 131072;
pub const KF_FLAG_NO_PACKAGE_REDIRECTION: i32 = 65536;
pub const KF_FLAG_FORCE_APPCONTAINER_REDIRECTION: i32 = 131072;
pub const KF_FLAG_NO_APPCONTAINER_REDIRECTION: i32 = 65536;
pub const KF_FLAG_CREATE: i32 = 32768;
pub const KF_FLAG_DONT_VERIFY: i32 = 16384;
pub const KF_FLAG_DONT_UNEXPAND: i32 = 8192;
pub const KF_FLAG_NO_ALIAS: i32 = 4096;
pub const KF_FLAG_INIT: i32 = 2048;
pub const KF_FLAG_DEFAULT_PATH: i32 = 1024;
pub const KF_FLAG_NOT_PARENT_RELATIVE: i32 = 512;
pub const KF_FLAG_SIMPLE_IDLIST: i32 = 256;
pub const KF_FLAG_ALIAS_ONLY: i32 = -2147483648;
// KNOWN_FOLDER_FLAG
const (
	KF_FLAG_DEFAULT int32 = 0
	KF_FLAG_FORCE_APP_DATA_REDIRECTION int32 = 524288
	KF_FLAG_RETURN_FILTER_REDIRECTION_TARGET int32 = 262144
	KF_FLAG_FORCE_PACKAGE_REDIRECTION int32 = 131072
	KF_FLAG_NO_PACKAGE_REDIRECTION int32 = 65536
	KF_FLAG_FORCE_APPCONTAINER_REDIRECTION int32 = 131072
	KF_FLAG_NO_APPCONTAINER_REDIRECTION int32 = 65536
	KF_FLAG_CREATE int32 = 32768
	KF_FLAG_DONT_VERIFY int32 = 16384
	KF_FLAG_DONT_UNEXPAND int32 = 8192
	KF_FLAG_NO_ALIAS int32 = 4096
	KF_FLAG_INIT int32 = 2048
	KF_FLAG_DEFAULT_PATH int32 = 1024
	KF_FLAG_NOT_PARENT_RELATIVE int32 = 512
	KF_FLAG_SIMPLE_IDLIST int32 = 256
	KF_FLAG_ALIAS_ONLY int32 = -2147483648
)
const
  KF_FLAG_DEFAULT = 0;
  KF_FLAG_FORCE_APP_DATA_REDIRECTION = 524288;
  KF_FLAG_RETURN_FILTER_REDIRECTION_TARGET = 262144;
  KF_FLAG_FORCE_PACKAGE_REDIRECTION = 131072;
  KF_FLAG_NO_PACKAGE_REDIRECTION = 65536;
  KF_FLAG_FORCE_APPCONTAINER_REDIRECTION = 131072;
  KF_FLAG_NO_APPCONTAINER_REDIRECTION = 65536;
  KF_FLAG_CREATE = 32768;
  KF_FLAG_DONT_VERIFY = 16384;
  KF_FLAG_DONT_UNEXPAND = 8192;
  KF_FLAG_NO_ALIAS = 4096;
  KF_FLAG_INIT = 2048;
  KF_FLAG_DEFAULT_PATH = 1024;
  KF_FLAG_NOT_PARENT_RELATIVE = 512;
  KF_FLAG_SIMPLE_IDLIST = 256;
  KF_FLAG_ALIAS_ONLY = -2147483648;
// KNOWN_FOLDER_FLAG
pub const KF_FLAG_DEFAULT: i32 = 0;
pub const KF_FLAG_FORCE_APP_DATA_REDIRECTION: i32 = 524288;
pub const KF_FLAG_RETURN_FILTER_REDIRECTION_TARGET: i32 = 262144;
pub const KF_FLAG_FORCE_PACKAGE_REDIRECTION: i32 = 131072;
pub const KF_FLAG_NO_PACKAGE_REDIRECTION: i32 = 65536;
pub const KF_FLAG_FORCE_APPCONTAINER_REDIRECTION: i32 = 131072;
pub const KF_FLAG_NO_APPCONTAINER_REDIRECTION: i32 = 65536;
pub const KF_FLAG_CREATE: i32 = 32768;
pub const KF_FLAG_DONT_VERIFY: i32 = 16384;
pub const KF_FLAG_DONT_UNEXPAND: i32 = 8192;
pub const KF_FLAG_NO_ALIAS: i32 = 4096;
pub const KF_FLAG_INIT: i32 = 2048;
pub const KF_FLAG_DEFAULT_PATH: i32 = 1024;
pub const KF_FLAG_NOT_PARENT_RELATIVE: i32 = 512;
pub const KF_FLAG_SIMPLE_IDLIST: i32 = 256;
pub const KF_FLAG_ALIAS_ONLY: i32 = -2147483648;
const
  KF_FLAG_DEFAULT* = 0
  KF_FLAG_FORCE_APP_DATA_REDIRECTION* = 524288
  KF_FLAG_RETURN_FILTER_REDIRECTION_TARGET* = 262144
  KF_FLAG_FORCE_PACKAGE_REDIRECTION* = 131072
  KF_FLAG_NO_PACKAGE_REDIRECTION* = 65536
  KF_FLAG_FORCE_APPCONTAINER_REDIRECTION* = 131072
  KF_FLAG_NO_APPCONTAINER_REDIRECTION* = 65536
  KF_FLAG_CREATE* = 32768
  KF_FLAG_DONT_VERIFY* = 16384
  KF_FLAG_DONT_UNEXPAND* = 8192
  KF_FLAG_NO_ALIAS* = 4096
  KF_FLAG_INIT* = 2048
  KF_FLAG_DEFAULT_PATH* = 1024
  KF_FLAG_NOT_PARENT_RELATIVE* = 512
  KF_FLAG_SIMPLE_IDLIST* = 256
  KF_FLAG_ALIAS_ONLY* = -2147483648
enum KNOWN_FOLDER_FLAG : int {
    KF_FLAG_DEFAULT = 0,
    KF_FLAG_FORCE_APP_DATA_REDIRECTION = 524288,
    KF_FLAG_RETURN_FILTER_REDIRECTION_TARGET = 262144,
    KF_FLAG_FORCE_PACKAGE_REDIRECTION = 131072,
    KF_FLAG_NO_PACKAGE_REDIRECTION = 65536,
    KF_FLAG_FORCE_APPCONTAINER_REDIRECTION = 131072,
    KF_FLAG_NO_APPCONTAINER_REDIRECTION = 65536,
    KF_FLAG_CREATE = 32768,
    KF_FLAG_DONT_VERIFY = 16384,
    KF_FLAG_DONT_UNEXPAND = 8192,
    KF_FLAG_NO_ALIAS = 4096,
    KF_FLAG_INIT = 2048,
    KF_FLAG_DEFAULT_PATH = 1024,
    KF_FLAG_NOT_PARENT_RELATIVE = 512,
    KF_FLAG_SIMPLE_IDLIST = 256,
    KF_FLAG_ALIAS_ONLY = -2147483648,
}
#define global KF_FLAG_DEFAULT                          0x0
#define global KF_FLAG_FORCE_APP_DATA_REDIRECTION       0x80000
#define global KF_FLAG_RETURN_FILTER_REDIRECTION_TARGET 0x40000
#define global KF_FLAG_FORCE_PACKAGE_REDIRECTION        0x20000
#define global KF_FLAG_NO_PACKAGE_REDIRECTION           0x10000
#define global KF_FLAG_FORCE_APPCONTAINER_REDIRECTION   0x20000
#define global KF_FLAG_NO_APPCONTAINER_REDIRECTION      0x10000
#define global KF_FLAG_CREATE                           0x8000
#define global KF_FLAG_DONT_VERIFY                      0x4000
#define global KF_FLAG_DONT_UNEXPAND                    0x2000
#define global KF_FLAG_NO_ALIAS                         0x1000
#define global KF_FLAG_INIT                             0x800
#define global KF_FLAG_DEFAULT_PATH                     0x400
#define global KF_FLAG_NOT_PARENT_RELATIVE              0x200
#define global KF_FLAG_SIMPLE_IDLIST                    0x100
#define global KF_FLAG_ALIAS_ONLY                       0x80000000
; ※フラグ列挙型。ビットORで組み合わせ可(例: FOO|BAR)。