Delen via


Locatie van een naamruimteextensie opgeven

De basis van een naamruimte-extensie wordt normaal gesproken weergegeven in Windows Verkenner als een map in zowel boom- als mapweergaven. Voor het weergeven van de bestanden en submappen van de extensie in Windows Verkenner, moet worden aangegeven waar de hoofdmap zich in de Shell-naamruimtehiërarchie bevindt. Deze locatie wordt een verbindingspuntgenoemd.

Virtuele mappen gebruiken als verbindingspunten

De eenvoudigste manier om het verbindingspunt van een extensie te definiëren, is door de hoofdmap een submap van een virtuele systeemmap te maken. Dit type verbindingspunt wordt een virtueel verbindingspuntgenoemd. De mappen Bureaublad en Mijn computer zijn de gebruikelijke locaties voor virtuele verbindingspunten, maar u kunt ook een virtueel verbindingspunt definiëren op een externe computer of onder de Mijn netwerklocaties, Internet Exploreren Configuratiescherm mappen.

Als u een virtueel verbindingspunt wilt definiëren, maakt u een subsleutel van de sleutel die de juiste virtuele map vertegenwoordigt en geeft u deze een naam met de tekenreeksvorm van de klasse-id (CLSID) van uw extensie. De geregistreerde CLSID wordt als volgt weergegeven.

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

naam van virtuele map is een van de subsleutels in de volgende tabel.

Locatie Naam van virtuele map
Bedieningspaneel ControlPanel
Bureaublad Bureaublad
Volledig netwerk NetworkNeighborhood\EntireNetwork
Mijn computer MijnComputer
Mijn netwerklocaties Netwerkbuurt
Afstandscomputer RemoteComputer
Gebruikersbestanden UsersFiles

 

Externe extensies moeten worden geïnitialiseerd met IRemoteComputer.

Bestandssysteemmappen gebruiken als verbindingspunten

Er zijn twee manieren om bestandssysteemmappen te definiëren als verbindingspunten. De eenvoudigste methode is om een map op de juiste locatie te maken en een punt toe te voegen aan de naam van de map, gevolgd door de tekenreeksvorm van de CLSID van uw extensie. Alleen de mapnaam is zichtbaar in Windows Verkenner. In het volgende voorbeeld wordt een verbindingspunt gemaakt met de naam MyFolder.

MyFolder.{Extension CLSID}

U kunt ook een conventioneel benoemde map definiëren als verbindingspunt door:

  • De map alleen-lezen maken.
  • Maak de map een systeemmap door PathMakeSystemFolderaan te roepen.
  • Het plaatsen van een verborgen Desktop.ini bestand in de map met de CLSID van de extensie.

Desktop.ini is een standaardtekstbestand dat kan worden toegevoegd aan elke map om bepaalde aspecten van het gedrag van de map aan te passen. Zie Mappen aanpassen met Desktop.inivoor een algemene bespreking van het gebruik van dit bestand. Om een map als verbindingspunt te definiëren, moet de [.ShellClassInfo] sectie van Desktop.ini de CLSID van de extensie als volgt bevatten:

[.ShellClassInfo]
CLSID={Extension CLSID}

Een weergave van een naamruimte-extensie openen

Wanneer een gebruiker naar een verbindingspunt bladert, creëert Windows Verkenner automatisch een weergave van de hoofdmap. U kunt ook een weergave maken door expliciet Explorer.exe te starten met de CLSID van de extensie als argument. U kunt bijvoorbeeld deze methode gebruiken om een weergave van een extensie te starten vanuit een snelmenu of snelkoppeling. Als u bijvoorbeeld een weergave van MyExtension wilt starten die een structuurweergave bevat, kunt u de volgende opdrachtreeks gebruiken.

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

Een alternatieve opdrachtreeks kan worden gebruikt om een weergave van een object in de extensie te starten. Deze functie is bijvoorbeeld handig voor een extensie die gebruikmaakt van een mapweergave, zodat gebruikers de inhoud van een van een aantal gecomprimeerde bestanden kunnen bekijken.

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

De parameter objectnaam is de naam van het object dat moet worden weergegeven. Windows Verkenner converteert de naam naar de bijbehorende PIDL en draagt de PIDL over aan de IPersistFolder::Initialize methode van het nieuwe mapobject.

Notitie

De CLSID-tekenreeks moet worden voorafgegaan door een paar dubbele punten (::) of de opdracht mislukt. De slash-e-vlag (/e) die wordt gebruikt in de twee voorbeeldopdrachtregels die eerder werden weergegeven, geeft Windows Verkenner opdracht om een structuurweergave weer te geven. De vlag moet worden gescheiden van de twee dubbele punten door een komma. Als u geen structuurweergave wilt, laat u de /e-vlag en de komma weg.