Specifica della posizione di un'estensione dello spazio dei nomi

La radice di un'estensione dello spazio dei nomi viene normalmente visualizzata da Esplora risorse come cartella nelle visualizzazioni ad albero e cartelle. Per visualizzare i file e le sottocartelle dell'estensione, è necessario specificare dove si trova la cartella radice nella gerarchia dello spazio dei nomi shell. Questa posizione viene definita punto di giunzione.

Uso di cartelle virtuali come punti di giunzione

Il modo più semplice per definire il punto di giunzione di un'estensione consiste nel rendere la cartella radice una sottocartella di una cartella virtuale di sistema. Questo tipo di punto di giunzione viene definito punto di giunzione virtuale. Le cartelle Desktop e Computer personali sono le posizioni tipiche per i punti di giunzione virtuale, ma è anche possibile definire un punto di giunzione virtuale in un computer remoto o in Posizioni di rete personali, Internet Explorer e Pannello di controllo cartelle.

Per definire un punto di giunzione virtuale, creare una sottochiave della chiave che rappresenta la cartella virtuale appropriata e denominarla con la forma stringa dell'identificatore di classe dell'estensione (CLSID). Il CLSID registrato verrà visualizzato come indicato di seguito.

HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER
   Software
      Microsoft
         Windows
            CurrentVersion
               Explorer
                  Virtual Folder Name
                     NameSpace
                        {Extension CLSID}
                           (Default) = Junction Point Name

Nome cartella virtuale è una delle sottochiavi nella tabella seguente.

Posizione Nome cartella virtuale
Control panel ControlPanel
Desktop Desktop
Intera rete NetworkNeighborhood\Intera rete
Risorse del computer MyComputer
Luoghi di rete personali NetworkNeighborhood
Computer remoto RemoteComputer
File utenti UsersFiles

 

Le estensioni remote devono essere inizializzate con IRemoteComputer.

Uso delle cartelle del file system come punti di giunzione

Esistono due modi per definire le cartelle del file system come punti di giunzione. L'approccio più semplice consiste nel creare una cartella nel percorso appropriato e aggiungere un punto al nome della cartella, seguito dalla forma stringa del CLSID dell'estensione. Solo il nome della cartella sarà visibile in Esplora risorse. Nell'esempio seguente viene creato un punto di giunzione con un nome visualizzato di MyFolder.

MyFolder.{Extension CLSID}

In alternativa, è possibile definire una cartella denominata convenzionalmente come punto di giunzione per:

  • Creazione della cartella di sola lettura.
  • Creazione della cartella di una cartella di sistema chiamando PathMakeSystemFolder.
  • Inserimento di un file di Desktop.ini nascosto nella cartella che include CLSID dell'estensione.

Desktop.ini è un file di testo standard che può essere aggiunto a qualsiasi cartella per personalizzare determinati aspetti del comportamento della cartella. Per una discussione generale su come usare questo file, vedere Come personalizzare le cartelle con Desktop.ini. Per definire una cartella come punto di giunzione, [. La sezione ShellClassInfo] di Desktop.ini deve contenere CLSID dell'estensione come indicato di seguito:

[.ShellClassInfo]
CLSID={Extension CLSID}

Apertura di una visualizzazione di un'estensione dello spazio dei nomi

Quando un utente passa a un punto di giunzione, Esplora risorse crea automaticamente una visualizzazione della cartella radice. È anche possibile creare una visualizzazione avviando in modo esplicito Explorer.exe con CLSID dell'estensione come argomento. È possibile, ad esempio, usare questo approccio per avviare una visualizzazione di un'estensione da un menu di scelta rapida o da un collegamento. Ad esempio, per avviare una visualizzazione di MyExtension che include una visualizzazione albero, è possibile usare la stringa di comando seguente.

%SystemRoot%\Explorer.exe /e,::{MyExtension CLSID}

Una stringa di comando alternativa può essere usata per avviare una visualizzazione di un oggetto all'interno dell'estensione. Questa funzionalità sarebbe utile, ad esempio, per un'estensione che usa una visualizzazione cartelle per consentire agli utenti di visualizzare il contenuto di un numero di file compressi.

%SystemRoot%\Explorer.exe /e,::{MyExtension CLSID},objectname

Il parametro objectname è il nome dell'oggetto da visualizzare. Esplora risorse converte il nome nel relativo PIDL corrispondente e passa il piDL al metodo IPersistFolder della nuova cartella::Initialize .

Nota

La stringa CLSID deve essere preceduta da una coppia di punti (::) o il comando avrà esito negativo. Il flag slash-e (/e) usato nelle due righe di comando di esempio mostrate in precedenza indica a Esplora risorse di Visualizzare una visualizzazione albero. Il flag deve essere separato dai due punti in base a una virgola. Se non si vuole una visualizzazione albero, omettere il flag /e e.