Intégrer un fournisseur de stockage cloud
Lorsque vous disposez d’un fournisseur de stockage cloud, vous devez effectuer quelques étapes afin de fournir une expérience cohérente et préférée pour l’utilisateur. Ces deux éléments s’inscrivent en tant que fournisseur racine de synchronisation et intègrent votre application au niveau racine du volet de navigation.
Important
L’intégration de votre fournisseur de stockage cloud est prise en charge uniquement à partir de Windows 10.
La première chose est de s’inscrire en tant que fournisseur racine de synchronisation. Cela permet à Windows Shell de connaître votre application et que votre application sera responsable de la synchronisation des fichiers sous votre racine de synchronisation. Cela permet également à d’autres applications de savoir que vous synchronisez ces fichiers afin qu’ils puissent répondre de manière appropriée. D’autres applications peuvent ensuite utiliser StorageFile.Provider pour obtenir leDisplayNameet l'ID dede votre application.
Pour vous inscrire en tant que fournisseur racine de synchronisation, vous devez créer plusieurs entrées de Registre. Avant de fournir la liste des paires clé-valeur, voici quelques espaces réservés que vous devez remplacer par vos propres données d’application.
- [ID du fournisseur de stockage]: nom de votre fournisseur de stockage cloud. Ce nom doit être cohérent, quelle que soit la version de votre application. Voici un exemple de OneDrive.
- [SID Windows]: SID Windows unique qui identifie l’utilisateur. Si votre application prend en charge plusieurs installations pour plusieurs utilisateurs sur un seul ordinateur, cette pièce est requise.
- [ID de compte]: identificateur du fournisseur de services pour le compte actuel de cet utilisateur. Certains fournisseurs nécessitent la possibilité de fournir plusieurs racines de synchronisation pour un utilisateur. Un exemple de ceci est un travail et un compte personnel. L’ID de compte vous permet d’avoir plusieurs comptes inscrits pour un utilisateur. Si votre fournisseur prend en charge plusieurs racines de synchronisation par utilisateur, cette pièce est requise.
Ces espaces réservés sont combinés pour former l’ID racine de synchronisation. Vous devez placer un ! caractère entre chacun des espaces réservés lors de la formation de l’ID racine de synchronisation. Voici les paires clé-valeur qui doivent être créées.
- HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\SyncRootManager\[ID du fournisseur de stockage]![Windows SID]![ID de compte]\DisplayNameResource : pointe vers la ressource où Windows Shell ou d’autres applications peuvent obtenir un nom convivial pour votre racine de synchronisation.
- HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\SyncRootManager\[ID du fournisseur de stockage]![Windows SID]![ID de compte]\IconResource : pointe vers la ressource où Windows Shell ou d’autres applications peuvent obtenir une icône pour votre racine de synchronisation.
- HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\SyncRootManager\[ID du fournisseur de stockage]![Windows SID]![ID de compte]\UserSyncRoots\[WINDOWS SID] : emplacement sur le disque où se trouve la racine de synchronisation.
En dehors de l’inscription en tant que fournisseur racine de synchronisation, vous souhaitez également que les utilisateurs aient un accès facile aux données que vous fournissez. L’espace de noms de l’Explorateur de fichiers est conçu pour fournir une méthode d’accès facile. La création d’une extension d’espace de noms pour votre fournisseur et son incorporation dans la fenêtre Explorateur de fichiers permet aux utilisateurs d’interagir avec le niveau racine de vos services comme ils sont utilisés avec d’autres éléments de l’Explorateur de fichiers. Cette rubrique explique comment étendre l’espace de noms de l’Explorateur de fichiers afin que votre fournisseur apparaisse au niveau racine dans le volet de navigation.
Le volet de navigation de la fenêtre Explorateur de fichiers est la partie de la fenêtre affichée sur le côté gauche. Dans l’image ci-dessous, vous pouvez voir la structure de l’espace de noms pour cet utilisateur. Le niveau racine du volet de navigation inclut les objets de OneDrive, ce PCet Réseau. En suivant ces étapes, vous allez ajouter votre extension au même niveau.
Pour ajouter votre extension au volet de navigation, vous devez disposer des éléments suivants avant de modifier le Registre :
Dossier de système de fichiers qui contient les données à afficher à l’utilisateur.
Nom de votre service cloud qui s’affiche dans le volet de navigation. Il peut également s’agir du nom de l’instance si votre service prend en charge plusieurs comptes.
Icône identifiable pour votre application.
CLSID pour votre application. Une façon de générer un CLSID pour votre application consiste à utiliser le Uuidgen.exe. Pour plus d’informations sur le CLSID, consultez clé CLSID.
Les étapes suivantes modifient le Registre pour obtenir les informations nécessaires dans l’espace de noms de l’Explorateur de fichiers. Les étapes spécifiques effectuent trois opérations.
Créez des clés dans le Registre pour votre CLSID qui inclut des valeurs pour le nom et l’icône de votre extension, ainsi que d’autres informations qui définissent son comportement.
Configurez votre extension pour qu’elle soit intégrée dans le volet de navigation à l’emplacement approprié et avec la visibilité appropriée.
Configurez votre extension pour avoir le comportement attendu d’un élément dans le volet de navigation.
Ces instructions utilisent spécifiquement la commande reg.exe, mais vous pouvez utiliser n’importe quel outil de modification de Registre de votre choix. Vous pouvez même intégrer ces étapes dans un programme d’installation qui met à jour le Registre par programmation.
Instructions
Étape 1 : Ajouter votre CLSID et nommer votre extension
Ajoutez le nom de votre extension au Registre sous HKEY_CURRENT_USER. Vous allez également ajouter l’identificateur unique pour cette extension. Il est possible d’ajouter plusieurs extensions par utilisateur, mais dans ce cas, vous aurez besoin d’un nom et d’un identificateur uniques pour chaque extension. Ce nom et cet identificateur doivent être cohérents tout au long de ces étapes. Dans cet exemple, le nom est MyCloudStorageApp.
Important
L’identificateur fourni (0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3) dans ces étapes est simplement utilisé comme exemple. Vous devrez le remplacer par votre CLSID unique.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /ve /t REG_SZ /d « MyCloudStorageApp » /f
Étape 2 : Définir l’image de votre icône
Indiquez le chemin d’accès à l’icône qui doit être affichée dans le volet de navigation. Dans l’exemple ci-dessous, 1043 fait référence à l’identificateur de ressource de l’icône dans la DLL indiquée.
Important
Vous devez mettre à jour le chemin d’accès de l’image. Il doit pointer vers un chemin générique où votre application a installé une image.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\DefaultIcon /ve /t REG_EXPAND_SZ /d %%SystemRoot%%\system32\imageres.dll,-1043 /f
Étape 3 : Ajouter votre extension au volet de navigation et la rendre visible
La définition de cette valeur sur 0x1 indique que l’extension doit être épinglée. Cela permet de s’assurer qu’il est affiché aux utilisateurs par défaut. La configuration par défaut d’un utilisateur est que seuls les éléments épinglés sont affichés dans le volet de navigation. Un utilisateur peut modifier ce paramètre en cliquant avec le bouton droit dans le volet de navigation et en sélectionnant Afficher tous les dossiers. Si vous ne souhaitez pas épingler votre extension, vous pouvez définir cette valeur sur 0x0. Cela ne supprime pas votre extension, mais empêche simplement son affichage par défaut à l’utilisateur.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /v System.IsPinnedToNameSpaceTree /t REG_DWORD /d 0x1 /f
Étape 4 : Définir l’emplacement de votre extension dans le volet de navigation
Cela est essentiel pour vous assurer que le volet de navigation offre une expérience cohérente pour l’utilisateur.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /v SortOrderIndex /t REG_DWORD /d 0x42 /f
Étape 5 : Indiquez la dll qui héberge votre extension.
Utilisez le shell32.dll pour émuler les dossiers windows par défaut. Modifiez cela uniquement si vous avez une raison spécifique de le faire et que vous connaissez bien les extensions d’espace de noms.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\InProcServer32 /ve /t REG_EXPAND_SZ /d %%systemroot%%\system32\shell32.dll /f
Étape 6 : Définir l’objet d’instance
Indiquez que votre extension d’espace de noms doit fonctionner comme d’autres structures de dossiers de fichiers dans l’Explorateur de fichiers. Pour plus d’informations sur les objets d’instance de shell, consultez Création d’extensions shell avec des objets d’instance Shell.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\Instance /v CLSID /t REG_SZ /d {0E5AAE11-A475-4c5b-AB00-C66DE400274E} /f
Étape 7 : Fournir les attributs du système de fichiers du dossier cible
Cela est nécessaire pour vous assurer que l’Explorateur de fichiers fournit une expérience cohérente et attendue pour les utilisateurs. Cette commande définit FILE_ATTRIBUTE_DIRECTORY et FILE_ATTRIBUTE_READONLY, qui sont constantes d’attribut de fichier.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\Instance\InitPropertyBag /v Attributes /t REG_DWORD /d 0x11 /f
Étape 8 : Définir le chemin d’accès de la racine de synchronisation
Définissez le chemin d’accès de la racine de synchronisation.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\Instance\InitPropertyBag /v TargetFolderPath /t REG_EXPAND_SZ /d %%USERPROFILE%%\MyCloudStorageApp /f
Étape 9 : Définir les indicateurs d’interpréteur de commandes appropriés
Définissez certains indicateurs nécessaires pour épingler votre extension d’espace de noms à l’arborescence de l’Explorateur de fichiers.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\ShellFolder /v FolderValueFlags /t REG_DWORD /d 0x28 /f
Étape 10 : Définir les indicateurs appropriés pour contrôler le comportement de votre interpréteur de commandes
Définissez les indicateurs deSFGAO appropriés. Les indicateurs pertinents sont SFGAO_CANCOPY, SFGAO_CANLINK, SFGAO_STORAGE, SFGAO_HASPROPSHEET, SFGAO_STORAGEANCESTOR, SFGAO_FILESYSANCESTOR, SFGAO_FOLDER, SFGAO_FILESYSTEM et SFGAO_HASSUBFOLDER.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\ShellFolder /v Attributes /t REG_DWORD /d 0xF080004D /f
Étape 11 : Inscrire votre extension dans la racine de l’espace de noms
Configurez l’extension d’espace de noms pour qu’elle soit enfant du dossier de bureau.
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /ve /t REG_SZ /d MyCloudStorageApp /f
Étape 12 : Masquer votre extension à partir du Bureau
Il est important que votre extension apparaisse uniquement dans le volet de navigation de l’Explorateur de fichiers. Une extension d’espace de noms ne fonctionne pas comme un raccourci normal. Par conséquent, vous ne devez pas utiliser cette méthode pour créer un raccourci Bureau.
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel /v {0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /t REG_DWORD /d 0x1 /f