Angeben des Speicherorts einer Namespaceerweiterung

Der Stamm einer Namespaceerweiterung wird normalerweise von Windows Explorer als Ordner sowohl in der Struktur- als auch in der Ordneransicht angezeigt. Damit Windows Explorer die Dateien und Unterordner Ihrer Erweiterung anzeigen kann, müssen Sie angeben, wo sich der Stammordner in der Shell-Namespacehierarchie befindet. Dieser Standort wird als Verbindungspunkt bezeichnet.

Verwenden von virtuellen Ordnern als Verbindungspunkte

Die einfachste Möglichkeit zum Definieren des Verbindungspunkts einer Erweiterung besteht darin, den Stammordner zu einem Unterordner eines virtuellen Systemordners zu machen. Dieser Typ von Verbindungspunkt wird als virtueller Verbindungspunkt bezeichnet. Die Ordner "Desktop" und "Arbeitsplatz" sind die typischen Speicherorte für virtuelle Verbindungspunkte. Sie können jedoch auch einen virtuellen Verbindungspunkt auf einem Remotecomputer oder unter den Ordnern "Meine Netzwerkorte", "Internet Explorer" und "Systemsteuerung" definieren.

Um einen virtuellen Verbindungspunkt zu definieren, erstellen Sie einen Unterschlüssel des Schlüssels, der den entsprechenden virtuellen Ordner darstellt, und benennen Sie ihn mit der Zeichenfolgenform des Klassenbezeichners (CLSID) Ihrer Erweiterung. Die registrierte CLSID würde wie folgt angezeigt.

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

Der Name des virtuellen Ordners ist einer der Unterschlüssel in der folgenden Tabelle.

Standort Name des virtuellen Ordners
Systemsteuerung ControlPanel
Desktop Desktop
Gesamtes Netzwerk NetworkNeighborhood\Gesamtes Netzwerk
Arbeitsplatz Mycomputer
Meine Netzwerkplätze NetworkNeighborhood
Remotecomputer RemoteComputer
Benutzerdateien UsersFiles

 

Remoteerweiterungen müssen mit IRemoteComputer initialisiert werden.

Verwenden von Dateisystemordnern als Verbindungspunkte

Es gibt zwei Möglichkeiten, Dateisystemordner als Verbindungspunkte zu definieren. Der einfachste Ansatz besteht darin, einen Ordner am entsprechenden Speicherort zu erstellen und einen Punkt an den Namen des Ordners anzufügen, gefolgt von der Zeichenfolgenform der CLSID Ihrer Erweiterung. Nur der Ordnername ist in Windows Explorer sichtbar. Im folgenden Beispiel wird ein Verbindungspunkt mit dem Anzeigenamen MyFolder erstellt.

MyFolder.{Extension CLSID}

Alternativ können Sie einen konventionell benannten Ordner wie folgt als Verbindungspunkt definieren:

  • Der Ordner ist schreibgeschützt.
  • Durch Aufrufen von PathMakeSystemFolder wird der Ordner zu einem Systemordner.
  • Platzieren einer ausgeblendeten Desktop.ini Datei in dem Ordner, der die CLSID der Erweiterung enthält.

Desktop.ini ist eine Standardtextdatei, die jedem Ordner hinzugefügt werden kann, um bestimmte Aspekte des Ordnerverhaltens anzupassen. Eine allgemeine Erläuterung zur Verwendung dieser Datei finden Sie unter Anpassen von Ordnern mit Desktop.ini. Um einen Ordner als Verbindungspunkt zu definieren, [. Der Abschnitt ShellClassInfo] von Desktop.ini muss die CLSID der Erweiterung wie folgt enthalten:

[.ShellClassInfo]
CLSID={Extension CLSID}

Öffnen einer Ansicht einer Namespaceerweiterung

Wenn ein Benutzer einen Verbindungspunkt durchsucht, erstellt Windows Explorer automatisch eine Ansicht des Stammordners. Sie können auch eine Ansicht erstellen, indem Sie explizit Explorer.exe mit der CLSID der Erweiterung als Argument starten. Sie können für instance diesen Ansatz verwenden, um eine Ansicht einer Erweiterung über ein Kontextmenü oder eine Verknüpfung zu starten. Um beispielsweise eine Ansicht von MyExtension zu starten, die eine Strukturansicht enthält, können Sie die folgende Befehlszeichenfolge verwenden.

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

Eine alternative Befehlszeichenfolge kann verwendet werden, um eine Ansicht eines Objekts innerhalb der Erweiterung zu starten. Dieses Feature wäre für instance für eine Erweiterung nützlich, die eine Ordneransicht verwendet, damit Benutzer den Inhalt einer von mehreren komprimierten Dateien anzeigen können.

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

Der objectname-Parameter ist der Name des Objekts, das angezeigt werden soll. Windows Explorer konvertiert den Namen in die entsprechende PIDL und übergibt die PIDL an die IPersistFolder::Initialize-Methode des neuen Ordnerobjekts.

Hinweis

Der CLSID-Zeichenfolge muss ein Doppelpunktpaar (::) oder der Befehl schlägt fehl. Das flag slash-e (/e), das in den beiden zuvor gezeigten Beispielbefehlszeilen verwendet wird, weist Windows Explorer an, eine Strukturansicht anzuzeigen. Das Flag muss durch ein Komma von den beiden Doppelpunkten getrennt werden. Wenn Sie keine Strukturansicht möchten, lassen Sie das Flag /e und das Komma aus.