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_AppDataDesktop、 FOLDERID_AppDataDocuments、 FOLDERID_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 [仅限桌面应用] |
标头 | shlobj_core.h (包括 Shlobj.h) |