Condividi tramite


Integrare un provider di archiviazione cloud

Quando si dispone di un provider di archiviazione cloud, è necessario eseguire alcuni passaggi per offrire un'esperienza coerente e preferita per l'utente. Questi due elementi vengono registrati come provider radice di sincronizzazione e l'integrazione dell'applicazione nel livello radice del riquadro di spostamento.

Importante

L'integrazione del provider di archiviazione cloud è supportata solo a partire da Windows 10.

 

La prima cosa consiste nel registrare come provider radice di sincronizzazione. Ciò consente a Windows Shell di conoscere l'applicazione e che l'applicazione sarà responsabile della sincronizzazione dei file nella radice di sincronizzazione. In questo modo le altre applicazioni sapranno anche che si sincronizzano questi file in modo che possano rispondere in modo appropriato. Altre applicazioni possono quindi usare StorageFile.Provider per ottenere il DisplayName e ID dell'applicazione.

Per eseguire la registrazione come provider radice di sincronizzazione, è necessario creare più voci del Registro di sistema. Prima di fornire l'elenco di coppie chiave-valore, ecco alcuni segnaposto che è necessario sostituire con i dati dell'applicazione.

  • [ID provider di archiviazione]: nome del provider di archiviazione cloud. Questo nome deve essere coerente indipendentemente dalla versione dell'applicazione. Un esempio è OneDrive.
  • [SID di Windows]: SID di Windows univoco che identifica l'utente. Se l'app supporta più installazioni per più utenti in un singolo computer, questa parte è obbligatoria.
  • [ID account]: identificatore del provider di servizi per l'account corrente dell'utente. Alcuni provider richiedono la possibilità di fornire più radici di sincronizzazione per un utente. Un esempio di questo è un lavoro e un account personale. L'ID account consente di registrare più account per un utente. Se il provider supporta più radici di sincronizzazione per utente, questa parte è obbligatoria.

Questi segnaposto vengono combinati insieme per formare l'ID radice di sincronizzazione. È necessario posizionare un ! carattere tra ognuno dei segnaposto quando si forma l'ID radice di sincronizzazione. Ecco le coppie chiave-valore che devono essere create.

  • HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\SyncRootManager\[ID provider di archiviazione]![SID di Windows]![ID account]\DisplayNameResource : punta alla risorsa in cui la shell di Windows o altre applicazioni può ottenere un nome descrittivo per la radice di sincronizzazione.
  • HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\SyncRootManager\[ID provider di archiviazione]![SID di Windows]![ID account]\IconResource : punta alla risorsa in cui la shell di Windows o altre applicazioni può ottenere un'icona per la radice di sincronizzazione.
  • HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\SyncRootManager\[ID provider di archiviazione]![SID di Windows]![ID account]\UserSyncRoots\[SID di Windows] : percorso su disco in cui si trova la radice di sincronizzazione.

Oltre alla registrazione come provider radice di sincronizzazione, si vuole anche che gli utenti abbiano accesso semplice ai dati forniti. Lo spazio dei nomi Esplora file è progettato per fornire un metodo per facilitare l'accesso. La creazione di un'estensione dello spazio dei nomi per il provider e l'incorporamento nella finestra Esplora file consentirà agli utenti di interagire con il livello radice dei servizi proprio come per gli altri elementi di Esplora file. In questo argomento viene illustrato come estendere lo spazio dei nomi esplora file in modo che il provider venga visualizzato a livello radice nel riquadro di spostamento.

Il riquadro di spostamento della finestra Esplora file è la parte della finestra visualizzata sul lato sinistro. Nell'immagine seguente è possibile visualizzare la struttura dello spazio dei nomi per questo utente. Il livello radice nel riquadro di spostamento include gli oggetti per OneDrive, Questo PCe Rete. Seguendo questa procedura, l'estensione verrà aggiunta allo stesso livello.

riquadro di spostamento

Per aggiungere l'estensione al riquadro di spostamento, è necessario disporre degli elementi seguenti prima di modificare il Registro di sistema:

  • Cartella del file system contenente i dati da visualizzare all'utente.

  • Nome del servizio cloud che verrà visualizzato nel riquadro di spostamento. Questo potrebbe anche essere il nome dell'istanza se il servizio supporta più account.

  • Icona identificabile per l'applicazione.

  • CLSID per l'applicazione. Un modo per generare un CLSID per l'applicazione consiste nell'usare il Uuidgen.exe. Per altre informazioni su CLSID, vedere chiave CLSID.

I passaggi seguenti modificano il Registro di sistema per ottenere le informazioni necessarie nello spazio dei nomi Esplora file. I passaggi specifici eseguono tre operazioni.

  • Creare chiavi nel Registro di sistema per il CLSID che include valori per il nome e l'icona per l'estensione, nonché altre informazioni che ne definiscono il comportamento.

  • Configurare l'estensione per l'integrazione nel riquadro di spostamento nella posizione corretta e con la visibilità appropriata.

  • Configurare l'estensione in modo che abbia il comportamento previsto per un elemento nel riquadro di spostamento.

Queste istruzioni usano in particolare il comando reg.exe, ma è possibile usare qualsiasi strumento di modifica del Registro di sistema di propria scelta. È anche possibile integrare questi passaggi in un programma di installazione che aggiorna il Registro di sistema a livello di codice.

Disposizioni

Passaggio 1: Aggiungere CLSID e assegnare un nome all'estensione

Aggiungere il nome dell'estensione al Registro di sistema in HKEY_CURRENT_USER. Si aggiungerà anche l'identificatore univoco per questa estensione. È possibile aggiungere più estensioni per utente, ma in tal caso è necessario un nome univoco e un identificatore per ogni estensione. Questo nome e l'identificatore devono essere coerenti nel resto di questi passaggi. In questo esempio il nome è MyCloudStorageApp.

Importante

L'identificatore fornito (0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3) in questi passaggi viene usato come esempio. Sarà necessario modificare questa impostazione impostando il CLSID univoco.

 

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

Passaggio 2: Impostare l'immagine per l'icona

Specificare il percorso dell'icona che deve essere visualizzata nel riquadro di spostamento. Nell'esempio seguente 1043 fa riferimento all'identificatore di risorsa per l'icona nella DLL indicata.

Importante

È necessario aggiornare il percorso dell'immagine. Deve puntare a un percorso generico in cui l'app ha installato un'immagine.

 

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

Passaggio 3: Aggiungere l'estensione al riquadro di spostamento e renderla visibile

L'impostazione di questo valore su 0x1 indica che l'estensione deve essere bloccata. Ciò garantisce che venga visualizzato agli utenti per impostazione predefinita. La configurazione predefinita per un utente è che solo gli elementi aggiunti verranno visualizzati nel riquadro di spostamento. Un utente può modificare tale impostazione facendo clic con il pulsante destro del mouse nel riquadro di spostamento e selezionando Mostra tutte le cartelle. Se non si vuole aggiungere l'estensione, è possibile impostare questo valore su 0x0. Ciò non rimuoverà l'estensione, ma impedisce semplicemente che venga visualizzata all'utente per impostazione predefinita.

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

Passaggio 4: Impostare il percorso per l'estensione nel riquadro di spostamento

Questa operazione è fondamentale per assicurarsi che il riquadro di spostamento fornisca un'esperienza coerente per l'utente.

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

Passaggio 5: Specificare la dll che ospita l'estensione.

Utilizzare il shell32.dll per emulare le cartelle di Windows predefinite. Modificare questa operazione solo se si ha un motivo specifico per farlo e si ha familiarità con le estensioni dello spazio dei nomi.

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

Passaggio 6: Definire l'oggetto istanza

Indicare che l'estensione dello spazio dei nomi deve funzionare come altre strutture di cartelle di file in Esplora file. Per altre informazioni sugli oggetti dell'istanza della shell, vedere Creating Shell Extensions with Shell Instance Objects.

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

Passaggio 7: Specificare gli attributi del file system della cartella di destinazione

Questa operazione è necessaria per assicurarsi che Esplora file fornisca un'esperienza coerente e prevista per gli utenti. Questo comando imposta FILE_ATTRIBUTE_DIRECTORY e FILE_ATTRIBUTE_READONLY, entrambi costanti attributo file.

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

Passaggio 8: Impostare il percorso per la radice di sincronizzazione

Impostare il percorso per la radice di sincronizzazione.

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

Passaggio 9: Impostare i flag della shell appropriati

Impostare alcuni flag necessari per aggiungere l'estensione dello spazio dei nomi all'albero di Esplora file.

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

Passaggio 10: Impostare i flag appropriati per controllare il comportamento della shell

Impostare i flag diSFGAO appropriati. I flag pertinenti sono SFGAO_CANCOPY, SFGAO_CANLINK, SFGAO_STORAGE, SFGAO_HASPROPSHEET, SFGAO_STORAGEANCESTOR, SFGAO_FILESYSANCESTOR, SFGAO_FOLDER, SFGAO_FILESYSTEM e SFGAO_HASSUBFOLDER.

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

Passaggio 11: Registrare l'estensione nella radice dello spazio dei nomi

Configurare l'estensione dello spazio dei nomi come figlio della cartella desktop.

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

Passaggio 12: Nascondere l'estensione dal desktop

È importante che l'estensione venga visualizzata solo nel riquadro di spostamento di Esplora file. Un'estensione dello spazio dei nomi non funziona come un collegamento normale. Pertanto, non è consigliabile usare questo metodo per creare un collegamento desktop.

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