Pastas Conhecidas

O Windows Vista apresenta novos cenários de armazenamento e um novo namespace de perfil de usuário. Para resolver esses novos fatores, o sistema mais antigo de referência a pastas padrão por um valor CSIDL foi substituído. A partir do Windows Vista, essas pastas são referenciadas por um novo conjunto de valores de GUID chamado IDs de Pasta Conhecida.

O sistema de Pastas Conhecidas oferece estas vantagens:

  • OS ISVs (fornecedores independentes de software) podem estender o conjunto de IDs de Pasta Conhecida com suas próprias. Eles podem definir pastas, fornecer IDs e registrá-las no sistema. Os valores csidl não puderam ser estendidos.
  • Todas as Pastas Conhecidas em um sistema podem ser enumeradas. Nenhuma API forneceu essa funcionalidade para valores CSIDL. Consulte IKnownFolderManager::GetFolderIds para obter mais informações.
  • Uma pasta conhecida adicionada por um ISV pode adicionar propriedades personalizadas que permitem explicar sua finalidade e o uso pretendido.
  • Muitas pastas conhecidas podem ser redirecionadas para novos locais, incluindo locais de rede. No sistema CSIDL, somente a pasta Meus Documentos pode ser redirecionada.
  • Pastas conhecidas podem ter manipuladores personalizados para uso durante a criação ou exclusão.

O sistema CSIDL e as APIs que usam valores CSIDL ainda têm suporte para compatibilidade. No entanto, não é recomendável usá-los em nenhum novo desenvolvimento.

Os tópicos a seguir discutem as especificidades do sistema de Pastas Conhecidas.

As páginas de referência a seguir explicam as funções pastas conhecidas do Win32, que podem ser usadas para recuperar o local de Pastas Conhecidas ou redirecioná-las para um novo local. Essas funções substituem funções win32 mais antigas. As novas funções são fornecidas para fornecer comportamento equivalente às funções antigas, mas cada nova função também é duplicada por uma API COM (Component Object Model).

Nova função Substitui Equivalente a COM
SHGetKnownFolderPath SHGetFolderPath IKnownFolder::GetPath
SHGetKnownFolderIDList SHGetFolderLocation IKnownFolder::GetIDList
SHSetKnownFolderPath SHSetFolderPath IKnownFolder::SetPath

 

As páginas de referência a seguir explicam as APIs de Pastas Conhecidas com, que fornecem todas as funcionalidades das APIs do Win32 listadas acima, além de adicionar a capacidade de enumerar todas as Pastas Conhecidas, acessar propriedades de Pasta Conhecida e estender o conjunto padrão de Pastas Conhecidas.

Um exemplo de C++ que demonstra as APIs de Pasta Conhecida está incluído no SDK (Software Development Kit) do Windows. Depois de instalar o SDK do Windows em seu computador, o exemplo pode ser encontrado em %ProgramFiles%\Microsoft SDKs\Windows\v6.0\Samples\WinUI\Shell\AppPlatform\KnownFolders.

Exemplo de pastas conhecidas