Delen via


Een cloudopslagprovider integreren

Wanneer u een cloudopslagprovider hebt, moet u een aantal stappen uitvoeren om de gebruiker een consistente en voorkeurservaring te bieden. Deze twee dingen worden geregistreerd als een synchronisatiehoofdprovider en uw toepassing integreren in het hoofdniveau van het navigatiedeelvenster.

Belangrijk

De integratie van uw cloudopslagprovider wordt alleen ondersteund vanaf Windows 10.

 

Het eerste is om te registreren als een synchronisatiehoofdprovider. Zo weet de Windows Shell over uw toepassing en is uw toepassing verantwoordelijk voor het synchroniseren van bestanden onder de hoofdmap van de synchronisatie. Hiermee worden ook andere toepassingen laten weten dat u deze bestanden synchroniseert, zodat ze op de juiste manier kunnen reageren. Andere toepassingen kunnen vervolgens StorageFile.Provider- gebruiken om de DisplayName- en id- van uw toepassing op te halen.

Als u zich wilt registreren als een synchronisatiehoofdmapprovider, moet u meerdere registervermeldingen maken. Voordat u de lijst met sleutel-waardeparen opgeeft, vindt u hier enkele tijdelijke aanduidingen die u moet vervangen door uw eigen toepassingsgegevens.

  • [opslagprovider-id]: de naam van uw cloudopslagprovider. Deze naam moet consistent zijn, ongeacht de versie van uw toepassing. Een voorbeeld hiervan is OneDrive.
  • [Windows SID]: de unieke Windows-SID waarmee de gebruiker wordt geïdentificeerd. Als uw app meerdere installaties ondersteunt voor meerdere gebruikers op één computer, is dit stuk vereist.
  • [Account-id]: de id van de serviceprovider voor het huidige account van deze gebruiker. Voor sommige providers is de mogelijkheid vereist om meerdere synchronisatiewortels voor een gebruiker te bieden. Een voorbeeld hiervan is een werk- en een persoonlijk account. Met de account-id kunt u meerdere accounts registreren voor één gebruiker. Als uw provider meerdere synchronisatiewortels per gebruiker ondersteunt, is dit stuk vereist.

Deze tijdelijke aanduidingen worden gecombineerd om de hoofd-id van de synchronisatie te vormen. Je moet een plaatsen! teken tussen elk van de tijdelijke aanduidingen bij het vormen van de synchronisatiehoofdmap-id. Hier volgen de sleutel-waardeparen die moeten worden gemaakt.

  • HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\SyncRootManager\[opslagprovider-id]![Windows SID]![Account-id]\DisplayNameResource: verwijst naar de resource waar de Windows Shell of andere toepassingen een gebruiksvriendelijke naam voor de synchronisatiehoofdmap kunnen ophalen.
  • HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\SyncRootManager\[opslagprovider-id]![Windows SID]![Account-id]\IconResource: verwijst naar de resource waar de Windows Shell of andere toepassingen een pictogram voor de synchronisatiehoofdmap kunnen ophalen.
  • HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\SyncRootManager\[opslagprovider-id]![Windows SID]![Account-id]\UserSyncRoots\[Windows SID]: de locatie op de schijf waar de synchronisatiehoofdmap zich bevindt.

Behalve het registreren als een synchronisatiehoofdprovider, wilt u ook dat gebruikers eenvoudig toegang hebben tot de gegevens die u opgeeft. De Verkenner-naamruimte is ontworpen om een methode te bieden voor die eenvoudige toegang. Als u een naamruimteextensie voor uw provider maakt en deze in het verkenner-venster opneemt, kunnen gebruikers communiceren met het hoofdniveau van uw services, net zoals ze worden gebruikt voor andere Bestandenverkenner-items. In dit onderwerp wordt uitgelegd hoe u de verkenner-naamruimte kunt uitbreiden, zodat uw provider wordt weergegeven op het hoofdniveau in het navigatiedeelvenster.

Het navigatiedeelvenster van het Verkenner-venster is het gedeelte van het venster dat aan de linkerkant wordt weergegeven. In de onderstaande afbeelding ziet u de naamruimtestructuur voor deze gebruiker. Het hoofdniveau in het navigatiedeelvenster bevat de objecten voor OneDrive-, Deze pcen Network. Als u deze stappen uitvoert, wordt uw extensie toegevoegd aan hetzelfde niveau.

navigatiedeelvenster

Als u uw extensie wilt toevoegen aan het navigatiedeelvenster, moet u het volgende hebben voordat u het register bewerkt:

  • Een bestandssysteemmap die de gegevens bevat die aan de gebruiker moeten worden weergegeven.

  • De naam van uw cloudservice die wordt weergegeven in het navigatiedeelvenster. Dit kan ook de naam van het exemplaar zijn als uw service meerdere accounts ondersteunt.

  • Identificeerbaar pictogram voor uw toepassing.

  • Een CLSID voor uw toepassing. Een manier om een CLSID voor uw toepassing te genereren, is door de Uuidgen.exete gebruiken. Zie CLSID Key voor meer informatie over CLSID.

Met de volgende stappen wijzigt u het register om de benodigde informatie op te halen in de verkenner-naamruimte. De specifieke stappen doen drie dingen.

  • Maak sleutels in het register voor uw CLSID met waarden voor de naam en het pictogram voor uw extensie, evenals andere informatie die het gedrag definieert.

  • Configureer uw extensie zodat deze op de juiste locatie en met de juiste zichtbaarheid in het navigatiedeelvenster wordt geïntegreerd.

  • Configureer uw extensie zodanig dat het verwachte gedrag voor een element in het navigatiedeelvenster wordt gebruikt.

Deze instructies gebruiken specifiek de opdracht reg.exe, maar u kunt elk hulpprogramma voor registerbewerking van uw keuze gebruiken. U kunt deze stappen zelfs integreren in een installatieprogramma waarmee het register programmatisch wordt bijgewerkt.

Aanwijzingen

Stap 1: Voeg uw CLSID toe en geef uw extensie een naam

Voeg de naam van uw extensie toe aan het register onder HKEY_CURRENT_USER. U voegt ook de unieke id voor deze extensie toe. Het is mogelijk om meer dan één extensie per gebruiker toe te voegen, maar in dat geval hebt u een unieke naam en id voor elke extensie nodig. Deze naam en id moeten consistent zijn in de rest van deze stappen. In dit voorbeeld is de naam MyCloudStorageApp.

Belangrijk

De opgegeven id (0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3) in deze stappen wordt zojuist gebruikt als voorbeeld. U moet dit wijzigen in uw unieke CLSID.

 

reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /ve /t REG_SZ /d "MyCloudStorageApp" /f

Stap 2: De afbeelding voor het pictogram instellen

Geef het pad op naar het pictogram dat moet worden weergegeven in het navigatiedeelvenster. In het onderstaande voorbeeld verwijst 1043 naar de resource-id voor het pictogram in de aangegeven DLL.

Belangrijk

U moet het pad naar de installatiekopieën bijwerken. Het moet verwijzen naar een algemeen pad waar uw app een installatiekopieën heeft geïnstalleerd.

 

reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\DefaultIcon /ve /t REG_EXPAND_SZ /d %%SystemRoot%%\system32\imageres.dll,-1043 /f

Stap 3: Voeg uw extensie toe aan het navigatiedeelvenster en maak deze zichtbaar

Als u deze waarde instelt op 0x1 geeft u aan dat de extensie moet worden vastgemaakt. Dit zorgt ervoor dat deze standaard wordt weergegeven voor gebruikers. De standaardconfiguratie voor een gebruiker is dat alleen vastgemaakte items worden weergegeven in het navigatiedeelvenster. Een gebruiker kan deze instelling wijzigen door met de rechtermuisknop in het navigatiedeelvenster te klikken en Alle mappen weergevente selecteren. Als u de extensie niet wilt vastmaken, kunt u deze waarde instellen op 0x0. Hierdoor wordt uw extensie niet verwijderd, maar wordt deze standaard niet weergegeven aan de gebruiker.

reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /v System.IsPinnedToNameSpaceTree /t REG_DWORD /d 0x1 /f

Stap 4: De locatie voor uw extensie instellen in het navigatiedeelvenster

Dit is essentieel om ervoor te zorgen dat het navigatiedeelvenster een consistente ervaring biedt voor de gebruiker.

reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /v SortOrderIndex /t REG_DWORD /d 0x42 /f

Stap 5: Geef het DLL-bestand op dat als host fungeert voor uw extensie.

Gebruik de shell32.dll om standaardmappen met Windows te emuleren. Wijzig dit alleen als u een specifieke reden hebt om dit te doen en bekend bent met naamruimte-extensies.

reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\InProcServer32 /ve /t REG_EXPAND_SZ /d %%systemroot%%\system32\shell32.dll /f

Stap 6: Het exemplaarobject definiëren

Geef aan dat de extensie van uw naamruimte moet functioneren zoals andere bestandsmapstructuren in Verkenner. Zie Shell-extensies maken met Shell-exemplaarobjectenvoor meer informatie over shell-exemplaarobjecten.

reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\Instance /v CLSID /t REG_SZ /d {0E5AAE11-A475-4c5b-AB00-C66DE400274E} /f

Stap 7: Geef de bestandssysteemkenmerken van de doelmap op

Dit is vereist om ervoor te zorgen dat de Verkenner een consistente en verwachte ervaring biedt voor gebruikers. Met deze opdracht worden FILE_ATTRIBUTE_DIRECTORY en FILE_ATTRIBUTE_READONLYingesteld. Beide zijn bestandskenmerken constanten.

reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\Instance\InitPropertyBag /v Attributes /t REG_DWORD /d 0x11 /f

Stap 8: Het pad voor de synchronisatiehoofdmap instellen

Stel het pad in voor de hoofdmap van de synchronisatie.

reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\Instance\InitPropertyBag /v TargetFolderPath /t REG_EXPAND_SZ /d %%USERPROFILE%%\MyCloudStorageApp /f

Stap 9: de juiste shellvlagmen instellen

Stel enkele vlaggen in die nodig zijn om de extensie voor de naamruimte vast te maken aan de verkennerstructuur.

reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\ShellFolder /v FolderValueFlags /t REG_DWORD /d 0x28 /f

Stap 10: Stel de juiste vlaggen in om het gedrag van uw shell te bepalen

Stel de juiste SFGAO in vlaggen. De relevante vlaggen zijn SFGAO_CANCOPY, SFGAO_CANLINK, SFGAO_STORAGE, SFGAO_HASPROPSHEET, SFGAO_STORAGEANCESTOR, SFGAO_FILESYSANCESTOR, SFGAO_FOLDER, SFGAO_FILESYSTEM en SFGAO_HASSUBFOLDER.

reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\ShellFolder /v Attributes /t REG_DWORD /d 0xF080004D /f

Stap 11: Registreer uw extensie in de hoofdmap van de naamruimte

Configureer de naamruimteextensie als een onderliggend element van de bureaubladmap.

reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /ve /t REG_SZ /d MyCloudStorageApp /f

Stap 12: Uw extensie verbergen vanaf het bureaublad

Het is belangrijk dat uw extensie alleen wordt weergegeven in het navigatiedeelvenster van de Verkenner. Een naamruimte-extensie werkt niet als een normale snelkoppeling. Daarom moet u deze methode niet gebruiken om een snelkoppeling op het bureaublad te maken.

reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel /v {0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /t REG_DWORD /d 0x1 /f