SFGAO

SFGAO Os valores de bitfield representam atributos que podem ser recuperados em um item (arquivo ou pasta) ou conjunto de itens. Eles são usados com as APIs IShellFolder e IShellItem, principalmente IShellFolder::GetAttributesOf e IShellItem::GetAttributes.

Constante/valor Descrição
SFGAO_CANCOPY
0x00000001
Os itens especificados podem ser copiados.
SFGAO_CANMOVE
0x00000002
Os itens especificados podem ser movidos.
SFGAO_CANLINK
0x00000004
Atalhos podem ser criados para os itens especificados. Esse atributo tem o mesmo valor que DROPEFFECT_LINK.
Se uma extensão de namespace retornar esse atributo, uma entrada Criar Atalho com um manipulador padrão será adicionada ao menu de atalho exibido durante operações de arrastar e soltar. A extensão também pode implementar seu próprio manipulador para o verbo de link no lugar do padrão. Se a extensão fizer isso, ela será responsável por criar o atalho.
Um item Criar Atalho também é adicionado ao menu Arquivo Explorer do Windows e aos menus de atalho normais.
Se o item estiver selecionado, o método IContextMenu::InvokeCommand do aplicativo será invocado com o membro lpVerb da estrutura CMINVOKECOMMANDINFO definida como link. Seu aplicativo é responsável por criar o link.
SFGAO_STORAGE
0x00000008
Os itens especificados podem ser associados a um objeto IStorage por meio de IShellFolder::BindToObject. Para obter mais informações sobre os recursos de manipulação de namespace, consulte IStorage.
SFGAO_CANRENAME
0x00000010
Os itens especificados podem ser renomeados. Observe que esse valor é essencialmente uma sugestão; nem todos os clientes de namespace permitem que os itens sejam renomeado. No entanto, aqueles que o fazem devem ter esse atributo definido.
SFGAO_CANDELETE
0x00000020
Os itens especificados podem ser excluídos.
SFGAO_HASPROPSHEET
0x00000040
Os itens especificados têm folhas de propriedades.
SFGAO_DROPTARGET
0x00000100
Os itens especificados são destinos de descarte.
SFGAO_CAPABILITYMASK
0x00000177
Esse sinalizador é uma máscara para os atributos de funcionalidade: SFGAO_CANCOPY, SFGAO_CANMOVE, SFGAO_CANLINK, SFGAO_CANRENAME, SFGAO_CANDELETE, SFGAO_HASPROPSHEET e SFGAO_DROPTARGET. Normalmente, os chamadores não usam esse valor.
SFGAO_SYSTEM
0x00001000
Windows 7 e posterior. Os itens especificados são itens do sistema.
SFGAO_ENCRYPTED
0x00002000
Os itens especificados são criptografados e podem exigir apresentação especial.
SFGAO_ISSLOW
0x00004000
Espera-se que o acesso ao item (por meio de IStream ou outras interfaces de armazenamento) seja uma operação lenta. Os aplicativos devem evitar acessar itens sinalizados com SFGAO_ISSLOW.
Nota: Abrir um fluxo para um item geralmente é uma operação lenta o tempo todo. SFGAO_ISSLOW indica que espera-se que seja especialmente lento, por exemplo, no caso de conexões de rede lentas ou arquivos offline (FILE_ATTRIBUTE_OFFLINE). No entanto, consultar SFGAO_ISSLOW é uma operação lenta. Os aplicativos devem consultar SFGAO_ISSLOW apenas em um thread em segundo plano. Um método alternativo, como recuperar a propriedade PKEY_FileAttributes e o teste para FILE_ATTRIBUTE_OFFLINE, pode ser usado no lugar de uma chamada de método que envolve SFGAO_ISSLOW.
SFGAO_GHOSTED
0x00008000
Os itens especificados são mostrados como esmaecidos e indisponíveis para o usuário.
SFGAO_LINK
0x00010000
Os itens especificados são atalhos.
SFGAO_SHARE
0x00020000
Os objetos especificados são compartilhados.
SFGAO_READONLY
0x00040000
Os itens especificados são somente leitura. No caso de pastas, isso significa que novos itens não podem ser criados nessas pastas. Isso não deve ser confundido com o comportamento especificado pelo sinalizador FILE_ATTRIBUTE_READONLY recuperado por IColumnProvider::GetItemData em uma estrutura SHCOLUMNDATA . FILE_ATTRIBUTE_READONLY não tem nenhum significado para pastas do sistema de arquivos Win32.
SFGAO_HIDDEN
0x00080000
O item está oculto e não deve ser exibido, a menos que a opção Mostrar arquivos e pastas ocultos esteja habilitada em Configurações de Pasta.
SFGAO_DISPLAYATTRMASK
0x000FC000
Não use.
SFGAO_NONENUMERATED
0x00100000
Os itens são itens não numerados e devem estar ocultos. Eles não são retornados por meio de um enumerador como o criado pelo método IShellFolder::EnumObjects .
SFGAO_NEWCONTENT
0x00200000
Os itens contêm novo conteúdo, conforme definido pelo aplicativo específico.
SFGAO_CANMONIKER
Sem suporte.
SFGAO_HASSTORAGE
Sem suporte.
SFGAO_STREAM
0x00400000
Indica que o item tem um fluxo associado a ele. Esse fluxo pode ser acessado por meio de uma chamada para IShellFolder::BindToObject ou IShellItem::BindToHandler com IID_IStream no parâmetro riid .
SFGAO_STORAGEANCESTOR
0x00800000
Os filhos deste item podem ser acessados por meio de IStream ou IStorage. Essas crianças são sinalizadas com SFGAO_STORAGE ou SFGAO_STREAM.
SFGAO_VALIDATE
0x01000000
Quando especificado como entrada, SFGAO_VALIDATE instrui a pasta a validar se os itens contidos em uma pasta ou matriz de itens do Shell existem. Se um ou mais desses itens não existirem, IShellFolder::GetAttributesOf e IShellItemArray::GetAttributes retornarão um código de falha. Esse sinalizador nunca é retornado como um valor [out].
Quando usada com a pasta do sistema de arquivos, SFGAO_VALIDATE instrui a pasta a descartar propriedades armazenadas em cache recuperadas por clientes de IShellFolder2::GetDetailsEx que podem ter se acumulado para os itens especificados.
SFGAO_REMOVABLE
0x02000000
Os itens especificados estão em mídia removível ou são dispositivos removíveis.
SFGAO_COMPRESSED
0x04000000
Os itens especificados são compactados.
SFGAO_BROWSABLE
0x08000000
Os itens especificados podem ser hospedados dentro de um navegador da Web ou quadro do Windows Explorer.
SFGAO_FILESYSANCESTOR
0x10000000
As pastas especificadas são pastas do sistema de arquivos ou contêm pelo menos um descendente (filho, neto ou posterior) que é uma pasta do sistema de arquivos (SFGAO_FILESYSTEM).
SFGAO_FOLDER
0x20000000
Os itens especificados são pastas. Alguns itens podem ser sinalizados com SFGAO_STREAM e SFGAO_FOLDER, como um arquivo compactado com uma extensão de nome de arquivo .zip. Alguns aplicativos podem incluir esse sinalizador ao testar itens que são arquivos e contêineres.
SFGAO_FILESYSTEM
0x40000000
As pastas ou arquivos especificados fazem parte do sistema de arquivos (ou seja, são arquivos, diretórios ou diretórios raiz). Os nomes analisados dos itens podem ser considerados caminhos válidos do sistema de arquivos Win32. Esses caminhos podem ser baseados em UNC ou drive-letter.
SFGAO_STORAGECAPMASK
0x70C50008
Esse sinalizador é uma máscara para os atributos de capacidade de armazenamento: SFGAO_STORAGE, SFGAO_LINK, SFGAO_READONLY, SFGAO_STREAM, SFGAO_STORAGEANCESTOR, SFGAO_FILESYSANCESTOR, SFGAO_FOLDER e SFGAO_FILESYSTEM. Normalmente, os chamadores não usam esse valor.
SFGAO_HASSUBFOLDER
0x80000000
As pastas especificadas têm subpastas. O atributo SFGAO_HASSUBFOLDER é apenas consultoria e pode ser retornado por implementações de pasta do Shell, mesmo que elas não contenham subpastas. Observe, no entanto, que o inverso — falha ao retornar SFGAO_HASSUBFOLDER — afirma definitivamente que os objetos de pasta não têm subpastas.
É recomendável retornar SFGAO_HASSUBFOLDER sempre que for necessário um período significativo de tempo para determinar se existem subpastas. Por exemplo, o Shell sempre retorna SFGAO_HASSUBFOLDER quando uma pasta está localizada em uma unidade de rede.
SFGAO_CONTENTSMASK
0x80000000
Esse sinalizador é uma máscara para atributos de conteúdo, no momento apenas SFGAO_HASSUBFOLDER. Normalmente, os chamadores não usam esse valor.
SFGAO_PKEYSFGAOMASK
0x81044000
Máscara usada pela propriedade PKEY_SFGAOFlags para determinar atributos que são considerados para causar cálculos lentos ou falta de contexto: SFGAO_ISSLOW, SFGAO_READONLY, SFGAO_HASSUBFOLDER e SFGAO_VALIDATE. Normalmente, os chamadores não usam esse valor.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2008 [somente aplicativos da área de trabalho]
parâmetro
Shobjidl.h
IDL
Shobjidl.idl

Confira também

IShellFolder::GetAttributesOf

IShellFolder::P arseDisplayName

IShellItem::GetAttributes

IShellItemArray::GetAttributes