Trabalhando com pastas conhecidas em aplicativos
O sistema de Pastas Conhecidas fornece uma maneira de interagir com determinadas pastas de alto perfil que estão presentes por padrão no Windows. Ele também permite essas mesmas interações com pastas instaladas e registradas no sistema de pastas conhecidas por aplicativos. Este tópico discute essas possíveis interações à medida que são fornecidas pelas APIs de Pasta Conhecida.
Importante
Para redirecionar as pastas Documentos, Imagens ou Ambiente de Trabalho para o OneDrive, use o Movimento de Pastas Conhecidas do OneDrive em vez do método de redirecionamento descrito neste artigo. Para obter informações, consulte Redirecionar e mover pastas conhecidas do Windows para o OneDrive.
Interfaces de pasta conhecidas
Existem duas interfaces de pasta conhecida: IKnownFolder e IKnownFolderManager.
IKnownFolderManager fornece muitas das funções mais gerais em relação a essas pastas. Os seus métodos permitem-lhe:
- Recupere umIKnownFoldercom base noKNOWNFOLDERIDdessa pasta, seu nome canônico, seu caminho expresso como uma cadeia de caracteres ou seu caminho expresso como um IDList.
- Converta um CSIDL no seu equivalente KNOWNFOLDERID ou converta um KNOWNFOLDERID para o seu equivalente CSIDL antigo.
- Registre ou cancele o registro de uma pasta conhecida no sistema.
- Recupere todos os valores KNOWNFOLDERID registrados nesse sistema.
- Redirecionar uma pasta conhecida para um novo local.
IKnownFolder fornece um método que permite que uma pasta se redirecione fornecendo um novo caminho. Seus outros métodos obtêm informações sobre uma pasta conhecida específica, incluindo:
- A categoria da pasta: virtual, fixa, comum ou por usuário.
- O tipo da pasta, como compactado, documentos, imagens ou arquivos de usuário.
- O KNOWNFOLDERID da pasta.
- O caminho completo da pasta como um IDList ou como uma cadeia de caracteres. Também seu caminho relativo para uma pasta pai.
- O nome canônico da pasta.
- A dica de ferramenta exibida na pasta.
- O ícone exibido para a pasta.
- Uma descrição da pasta que explica a sua finalidade e utilização.
- Se a pasta pode ser redirecionada.
IKnownFolder também fornece um método para recuperar um IShellItem com base na pasta. Isso permite vincular a pasta a um manipulador, comparar duas pastas e recuperar os atributos, o nome para exibição e a pasta pai da pasta.
Redirecionamento
O redirecionamento de pasta é um recurso importante do sistema de pastas conhecido. Todas as pastas conhecidas de categoria comunsKF_CATEGORY_COMMON**** ou por utilizadorKF_CATEGORY_PERUSER**** são redirecionáveis. Pasta de categoria virtualKF_CATEGORY_VIRTUAL**** ou fixaKF_CATEGORY_FIXED****, no entanto, não pode ser redirecionada.
As pastas podem ser redirecionadas para outro local no mesmo computador ou para um local em uma rede. No caso de um redirecionamento de rede, a pasta pode ser armazenada em cache localmente por meio de cache do lado do cliente para fornecer acesso offline. No entanto, mesmo que exista um cache local, a própria pasta redirecionada deve ser acessada através da rede.
O redirecionamento de pasta não é novo para o Windows Vista. Por exemplo, no Windows XP, algumas pastas identificadas através do sistema CSIDL podem ser redirecionadas através de uma chamada para SHSetFolderPath ou modificando a entrada do CSIDL no registo. No Windows Vista e versões posteriores, o redirecionamento deve ser realizado por meio IKnownFolder::SetPath ou SHSetKnownFolderPath.
Para determinar se uma pasta pode ser redirecionada, chame IKnownFolder::GetRedirectionCapabilities. Se a pasta não puder ser redirecionada, esta chamada pode dar uma explicação.
Se uma pasta for redirecionada para um local de rede, os métodos IKnownFolder ainda poderão ser chamados com êxito.
Tópicos relacionados