Поделиться через


SFGAO

SFGAO Значения bitfield представляют атрибуты, которые можно получить из элемента (файла или папки) или набора элементов. Они используются с API IShellFolder и IShellItem, в первую очередь iShellFolder::GetAttributesOf и IShellItem::GetAttributes.

Констант/значение Описание
SFGAO_CANCOPY
0x00000001
Указанные элементы можно скопировать.
SFGAO_CANMOVE
0x00000002
Указанные элементы можно перемещать.
SFGAO_CANLINK
0x00000004
Для указанных элементов можно создать ярлыки. Этот атрибут имеет то же значение, что и DROPEFFECT_LINK.
Если расширение пространства имен возвращает этот атрибут, в контекстное меню, отображаемое во время операций перетаскивания, добавляется запись Создать ярлык с обработчиком по умолчанию. Расширение также может реализовать собственный обработчик для команды ссылки вместо стандартного. Если расширение делает это, оно отвечает за создание ярлыка.
Элемент Создать ярлык также добавляется в меню Файл windows Обозреватель и в обычные контекстные меню.
Если выбран элемент, вызывается метод IContextMenu::InvokeCommand приложения с элементом lpVerb структуры CMINVOKECOMMANDINFO , заданной для связывания. Ваше приложение отвечает за создание ссылки.
SFGAO_STORAGE
0x00000008
Указанные элементы можно привязать к объекту IStorage с помощью IShellFolder::BindToObject. Дополнительные сведения о возможностях управления пространством имен см. в разделе IStorage.
SFGAO_CANRENAME
0x00000010
Указанные элементы можно переименовать. Обратите внимание, что это значение по сути является предложением; Не все клиенты пространства имен разрешают переименование элементов. Однако эти атрибуты должны быть заданы.
SFGAO_CANDELETE
0x00000020
Указанные элементы можно удалить.
SFGAO_HASPROPSHEET
0x00000040
Указанные элементы имеют листы свойств.
SFGAO_DROPTARGET
0x00000100
Указанные элементы являются целевыми объектами удаления.
SFGAO_CAPABILITYMASK
0x00000177
Этот флаг является маской для атрибутов возможностей: SFGAO_CANCOPY, SFGAO_CANMOVE, SFGAO_CANLINK, SFGAO_CANRENAME, SFGAO_CANDELETE, SFGAO_HASPROPSHEET и SFGAO_DROPTARGET. Вызывающие абоненты обычно не используют это значение.
SFGAO_SYSTEM
0x00001000
Windows 7 и более поздних версий. Указанные элементы являются системным элементом.
SFGAO_ENCRYPTED
0x00002000
Указанные элементы зашифрованы и могут потребовать специального представления.
SFGAO_ISSLOW
0x00004000
Ожидается, что доступ к элементу (через IStream или другие интерфейсы хранилища) будет медленным. Приложения должны избегать доступа к элементам, помеченным SFGAO_ISSLOW.
Примечание: Открытие потока для элемента обычно выполняется медленно. SFGAO_ISSLOW указывает, что ожидается, что она будет особенно медленной, например в случае медленного сетевого подключения или автономных (FILE_ATTRIBUTE_OFFLINE) файлов. Однако запрос SFGAO_ISSLOW сам по себе является медленной операцией. Приложения должны запрашивать SFGAO_ISSLOW только в фоновом потоке. Вместо вызова метода, который включает SFGAO_ISSLOW, можно использовать альтернативный метод, например получение свойства PKEY_FileAttributes и тестирование FILE_ATTRIBUTE_OFFLINE.
SFGAO_GHOSTED
0x00008000
Указанные элементы отображаются как неактивные и недоступные пользователю.
SFGAO_LINK
0x00010000
Указанные элементы являются ярлыками.
SFGAO_SHARE
0x00020000
Указанные объекты являются общими.
SFGAO_READONLY
0x00040000
Указанные элементы доступны только для чтения. В случае папок это означает, что новые элементы не могут быть созданы в этих папках. Это не следует путать с поведением, заданным флагом FILE_ATTRIBUTE_READONLY, извлекаемым IColumnProvider::GetItemData в структуре SHCOLUMNDATA . FILE_ATTRIBUTE_READONLY не имеет значения для папок файловой системы Win32.
SFGAO_HIDDEN
0x00080000
Элемент скрыт и не должен отображаться, если в параметрах папки не включен параметр Показать скрытые файлы и папки.
SFGAO_DISPLAYATTRMASK
0x000FC000
Не используйте.
SFGAO_NONENUMERATED
0x00100000
Элементы являются нечислированными элементами и должны быть скрыты. Они не возвращаются с помощью перечислителя, например, созданного методом IShellFolder::EnumObjects .
SFGAO_NEWCONTENT
0x00200000
Элементы содержат новое содержимое в соответствии с определением конкретного приложения.
SFGAO_CANMONIKER
Не поддерживается.
SFGAO_HASSTORAGE
Не поддерживается.
SFGAO_STREAM
0x00400000
Указывает, что элемент имеет связанный с ним поток. Доступ к потоку можно получить через вызов IShellFolder::BindToObject или IShellItem::BindToHandler с IID_IStream в параметре riid .
SFGAO_STORAGEANCESTOR
0x00800000
Дочерние элементы этого элемента доступны через IStream или IStorage. Эти дочерние элементы помечены SFGAO_STORAGE или SFGAO_STREAM.
SFGAO_VALIDATE
0x01000000
При указании в качестве входных данных SFGAO_VALIDATE указывает папке, чтобы убедиться, что элементы, содержащиеся в папке или массиве элементов оболочки, существуют. Если один или несколько из этих элементов не существуют, IShellFolder::GetAttributesOf и IShellItemArray::GetAttributes возвращают код сбоя. Этот флаг никогда не возвращается в виде значения [out].
При использовании с папкой файловой системы SFGAO_VALIDATE указывает папке удалить кэшированные свойства, полученные клиентами IShellFolder2::GetDetailsEx , которые могли накапливаться для указанных элементов.
SFGAO_REMOVABLE
0x02000000
Указанные элементы находятся на съемном носителе или сами являются съемными устройствами.
SFGAO_COMPRESSED
0x04000000
Указанные элементы сжимаются.
SFGAO_BROWSABLE
0x08000000
Указанные элементы могут размещаться в веб-браузере или в фрейме Windows Обозреватель.
SFGAO_FILESYSANCESTOR
0x10000000
Указанные папки являются папками файловой системы или содержат по крайней мере один потомок (дочерний, внук или более поздний), который является папкой файловой системы (SFGAO_FILESYSTEM).
SFGAO_FOLDER
0x20000000
Указанные элементы являются папками. Некоторые элементы можно пометить как SFGAO_STREAM, так и SFGAO_FOLDER, например сжатый файл с расширением имени .zip. Некоторые приложения могут включать этот флаг при тестировании элементов, которые являются файлами и контейнерами.
SFGAO_FILESYSTEM
0x40000000
Указанные папки или файлы являются частью файловой системы (то есть это файлы, каталоги или корневые каталоги). Проанализированные имена элементов можно считать допустимыми путями файловой системы Win32. Эти пути могут быть либо UNC, либо буквами диска.
SFGAO_STORAGECAPMASK
0x70C50008
Этот флаг является маской для атрибутов возможностей хранения: SFGAO_STORAGE, SFGAO_LINK, SFGAO_READONLY, SFGAO_STREAM, SFGAO_STORAGEANCESTOR, SFGAO_FILESYSANCESTOR, SFGAO_FOLDER и SFGAO_FILESYSTEM. Вызывающие абоненты обычно не используют это значение.
SFGAO_HASSUBFOLDER
0x80000000
Указанные папки имеют вложенные папки. Атрибут SFGAO_HASSUBFOLDER является только рекомендаемым и может возвращаться реализациями папок оболочки, даже если они не содержат вложенных папок. Однако обратите внимание, что в обратном варианте (не удается вернуть SFGAO_HASSUBFOLDER) окончательно указывается, что объекты папки не имеют вложенных папок.
Возвращать SFGAO_HASSUBFOLDER рекомендуется всякий раз, когда требуется значительное количество времени, чтобы определить, существуют ли какие-либо вложенные папки. Например, оболочка всегда возвращает SFGAO_HASSUBFOLDER, если папка находится на сетевом диске.
SFGAO_CONTENTSMASK
0x80000000
Этот флаг является маской для атрибутов содержимого, в настоящее время SFGAO_HASSUBFOLDER. Вызывающие абоненты обычно не используют это значение.
SFGAO_PKEYSFGAOMASK
0x81044000
Маска, используемая свойством PKEY_SFGAOFlags для определения атрибутов, которые считаются причиной замедления вычислений или отсутствия контекста: SFGAO_ISSLOW, SFGAO_READONLY, SFGAO_HASSUBFOLDER и SFGAO_VALIDATE. Вызывающие абоненты обычно не используют это значение.

Требования

Требование Значение
Минимальная версия клиента
Windows Vista [только классические приложения]
Минимальная версия сервера
Windows Server 2008 [только классические приложения]
Заголовок
Shobjidl.h
IDL
Shobjidl.idl

См. также раздел

IShellFolder::GetAttributesOf

IShellFolder::P arseDisplayName

IShellItem::GetAttributes

IShellItemArray::GetAttributes