KNOWN_FOLDER_FLAG enumeration
[This documentation is preliminary and is subject to change.]
Applies to: desktop apps only
Specify special retrieval options for known folders. These values supersede CSIDL values, which have parallel meanings.
Syntax
typedef enum {
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;
Constants
- KF_FLAG_NO_APPCONTAINER_REDIRECTION
-
0x00010000. Windows 7 and later: When running inside an app container, or when providing an app container token, this flag prevents redirection to app container folders. Instead, it retrieves the path that would be returned where it not running inside an app container.
- KF_FLAG_CREATE
-
0x00008000. Forces the creation of the specified folder if that folder does not already exist. The security provisions predefined for that folder are applied. If the folder does not exist and cannot be created, the function returns a failure code and no path is returned. This value can be used only with the following functions and methods:
- KF_FLAG_DONT_VERIFY
-
0x00004000. Do not verify the folder's existence before attempting to retrieve the path or IDList. If this flag is not set, an attempt is made to verify that the folder is truly present at the path. If that verification fails due to the folder being absent or inaccessible, the function returns a failure code and no path is returned.
If the folder is located on a network, the function might take a longer time to execute. Setting this flag can reduce that lag time.
- KF_FLAG_DONT_UNEXPAND
-
0x00002000. Stores the full path in the registry without using environment strings. If this flag is not set, portions of the path may be represented by environment strings such as %USERPROFILE%. This flag can only be used with SHSetKnownFolderPath and IKnownFolder::SetPath.
- KF_FLAG_NO_ALIAS
-
0x00001000. Gets the true system path for the folder, free of any aliased placeholders such as %USERPROFILE%, returned by SHGetKnownFolderIDList and IKnownFolder::GetIDList. This flag has no effect on paths returned by SHGetKnownFolderPath and IKnownFolder::GetPath. By default, known folder retrieval functions and methods return the aliased path if an alias exists.
- KF_FLAG_INIT
-
0x00000800. Initializes the folder using its Desktop.ini settings. If the folder cannot be initialized, the function returns a failure code and no path is returned. This flag should always be combined with KF_FLAG_CREATE.
If the folder is located on a network, the function might take a longer time to execute.
- KF_FLAG_DEFAULT_PATH
-
0x00000400. Gets the default path for a known folder. If this flag is not set, the function retrieves the current—and possibly redirected—path of the folder. The execution of this flag includes a verification of the folder's existence unless KF_FLAG_DONT_VERIFY is set.
- KF_FLAG_NOT_PARENT_RELATIVE
-
0x00000200. Gets the folder's default path independent of the current location of its parent. KF_FLAG_DEFAULT_PATH must also be set.
- KF_FLAG_SIMPLE_IDLIST
-
0x00000100. Build a simple IDList (PIDL) This value can be used when you want to retrieve the file system path but do not specify this value if you are retrieving the localized display name of the folder because it might not resolve correctly.
- KF_FLAG_ALIAS_ONLY
-
0x80000000. Windows 7 and later. Return only aliased PIDLs. Do not use the file system path.
Remarks
These values, with the exception of KF_FLAG_ALIAS_ONLY, were defined in Windows Vista as individual constants. They are defined as an enumeration only in Windows 7 and later. However, all underlying numerical values are the same in either form.
Requirements
|
Minimum supported client | Windows 7 |
|---|---|
|
Minimum supported server | Windows Server 2008 R2 |
|
Header |
|
See also
Build date: 3/7/2012
- SHGetKnownFolderItem
- IKnownFolder::GetShellItem
- 1/4/2010
- Phil Blais