Перечисление 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 перенаправляются в частные расположения приложений, которые соответствуют путям, возвращенным из Windows.Storage.ApplicationData.Current в свойствах LocalFolder и RoamingFolder . Другие папки перенаправляются в подкаталоги 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 Указывает, чтобы получить истинный системный путь к папке без каких-либо псевдонимов заполнителей, таких как %USERPROFILE% , возвращаемых SHGetKnownFolderIDList и IKnownFolder::GetIDList. Этот флаг не влияет на пути, возвращаемые 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 Указывает на создание простого СПИСКА ИДЕНТИФИКАТОРОВ (PIDL). Это значение можно использовать, если требуется получить путь к файловой системе. Но не указывайте это значение, если вы извлекете локализованное отображаемое имя папки, так как оно может разрешиться неправильно. |
KF_FLAG_ALIAS_ONLY Значение: 0x80000000 Представлено в Windows 7. Указывает для получения только псевдонимов PIDLs. Не используйте путь к файловой системе. |
Комментарии
Эти значения, за исключением KF_FLAG_ALIAS_ONLY, были определены в Windows Vista как отдельные константы. Они определяются как перечисление только в Windows 7 и более поздних версиях. Однако все базовые числовые значения одинаковы в любой форме.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Верхняя часть | shlobj_core.h (включая Shlobj.h) |