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 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 GUID chamado IDs de Pasta Conhecida.
O sistema de pastas conhecidas oferece estas vantagens:
- Os fornecedores independentes de software (ISVs) podem estender o conjunto de IDs de Pastas Conhecidas com os seus próprios. Eles podem definir pastas, dar-lhes IDs e registrá-los 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 lhe permitem explicar sua finalidade e uso pretendido.
- Muitas pastas conhecidas podem ser redirecionadas para novos locais, incluindo locais de rede. No sistema CSIDL, apenas a pasta Meus Documentos poderia ser redirecionada.
- As 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 são suportados para compatibilidade. No entanto, não é recomendado usá-los em qualquer novo desenvolvimento.
Os tópicos a seguir abordam as especificidades do sistema de pastas conhecidas.
- Trabalhando com pastas conhecidas em aplicativos
- Como estender pastas conhecidas com pastas personalizadas
- KNOWNFOLDERID
As páginas de referência a seguir explicam as funções de 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 dar um 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 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 as propriedades de Pastas Conhecidas e estender o conjunto padrão de Pastas Conhecidas.
- IKnownFolder
- IKnownFolderManager
Um exemplo de C++ que demonstra as APIs de pasta conhecida está incluído no Windows Software Development Kit (SDK). Depois de instalar o SDK do Windows no seu computador, o exemplo pode ser encontrado em %ProgramFiles%\Microsoft SDKs\Windows\v6.0\Samples\WinUI\Shell\AppPlatform\KnownFolders.