Utilisation de dossiers connus dans les applications

Le système de dossiers connus permet d’interagir avec certains dossiers à profil élevé présents par défaut dans Windows. Il permet également ces mêmes interactions avec les dossiers installés et enregistrés auprès du système de dossiers connus par les applications. Cette rubrique décrit ces interactions possibles, car elles sont fournies par les API de dossier connu.

Important

Pour rediriger les dossiers Documents, Images ou Bureau vers OneDrive, utilisez OneDrive Known Folder Move au lieu de la méthode de redirection décrite dans cet article. Pour plus d’informations, consultez Rediriger et déplacer des dossiers windows connus vers OneDrive.

Interfaces de dossiers connus

Il existe deux interfaces de dossier connus : IKnownFolder et IKnownFolderManager.

IKnownFolderManager fournit de nombreuses fonctions plus générales en ce qui concerne ces dossiers. Ses méthodes vous permettent de :

  • Récupérez un IKnownFolder en fonction du KNOWNFOLDERID de ce dossier, de son nom canonique, de son chemin exprimé sous la forme d’une chaîne ou de son chemin d’accès exprimé sous la forme d’un IDList.
  • Convertissez un CSIDL en son équivalent KNOWNFOLDERID ou convertissez un KNOWNFOLDERID en son équivalent CSIDL hérité.
  • Inscrivez ou annulez l’inscription d’un dossier connu auprès du système.
  • Récupérez toutes les valeurs KNOWNFOLDERID inscrites sur ce système.
  • Redirigez un dossier connu vers un nouvel emplacement.

IKnownFolder fournit une méthode qui permet à un dossier de se rediriger lui-même en fournissant un nouveau chemin. Ses autres méthodes obtiennent des informations sur un dossier connu spécifique, notamment :

  • Catégorie du dossier : virtuel, fixe, commun ou par utilisateur.
  • Type du dossier, tel que compressé, documents, images ou fichiers utilisateur.
  • KNOWNFOLDERID du dossier.
  • Chemin d’accès complet du dossier sous forme d’IDList ou de chaîne. Également son chemin d’accès relatif à un dossier parent.
  • Nom canonique du dossier.
  • Info-bulle affichée pour le dossier.
  • Icône affichée pour le dossier.
  • Description du dossier qui explique son objectif et son utilisation.
  • Indique si le dossier peut être redirigé.

IKnownFolder fournit également une méthode pour récupérer un objet IShellItem basé sur le dossier . Cela vous permet de lier le dossier à un gestionnaire, de comparer deux dossiers et de récupérer les attributs, le nom d’affichage et le dossier parent du dossier.

Redirection

La redirection de dossiers est une fonctionnalité importante du système de dossiers connu. Tous les dossiers connus de catégorie KF_CATEGORY_COMMON**** ou par utilisateurKF_CATEGORY_PERUSER**** peuvent être redirigés. Toutefois, le dossier de catégorie KF_CATEGORY_VIRTUAL virtuel**** ou fixeKF_CATEGORY_FIXED**** ne peut pas être redirigé.

Les dossiers peuvent être redirigés vers un autre emplacement sur le même ordinateur ou vers un emplacement sur un réseau. Dans le cas d’une redirection réseau, le dossier peut être mis en cache localement via la mise en cache côté client pour fournir un accès hors connexion. Toutefois, même s’il existe un cache local, le dossier redirigé lui-même doit être accessible via le réseau.

La redirection de dossiers n’est pas une nouveauté pour Windows Vista. Par exemple, dans Windows XP, certains dossiers identifiés via le système CSIDL peuvent être redirigés via un appel à SHSetFolderPath ou en modifiant l’entrée csiDL dans le Registre. Dans Windows Vista et versions ultérieures, la redirection doit être effectuée via IKnownFolder::SetPath ou SHSetKnownFolderPath.

Pour déterminer si un dossier peut être redirigé, appelez IKnownFolder::GetRedirectionCapabilities. Si le dossier ne peut pas être redirigé, cet appel peut donner une explication.

Si un dossier est redirigé vers un emplacement réseau, les méthodes IKnownFolder peuvent toujours être appelées avec succès sur celui-ci.

Dossiers connus, exemple