Freigeben über


Arbeiten mit bekannten Ordnern in Anwendungen

Das System bekannter Ordner bietet eine Möglichkeit zur Interaktion mit bestimmten Ordnern mit hohem Profil, die in Windows standardmäßig vorhanden sind. Es ermöglicht auch die gleichen Interaktionen mit Ordnern, die von Anwendungen im System für bekannte Ordner installiert und registriert wurden. In diesem Thema werden diese möglichen Interaktionen erläutert, da sie von den APIs für bekannte Ordner bereitgestellt werden.

Wichtig

Um die Ordner Dokumente, Bilder oder Desktopordner zu OneDrive umzuleiten, verwenden Sie oneDrive Known Folder Move anstelle der in diesem Artikel beschriebenen Umleitungsmethode. Weitere Informationen finden Sie unter Umleiten und Verschieben bekannter Windows-Ordner auf OneDrive.

Bekannte Ordnerschnittstellen

Es gibt zwei Bekannte Ordnerschnittstellen: IKnownFolder und IKnownFolderManager.

IKnownFolderManager bietet viele der allgemeineren Funktionen in Bezug auf diese Ordner. Seine Methoden ermöglichen Folgendes:

  • Rufen Sie einen IKnownFolder basierend auf der KNOWNFOLDERID dieses Ordners, seinem kanonischen Namen, seinem Pfad, ausgedrückt als Zeichenfolge oder seinem Pfad, der als IDList ausgedrückt wird, ab.
  • Konvertieren Sie eine CSIDL in ihre KNOWNFOLDERID-Entsprechung oder eine KNOWNFOLDERID in ihre Legacy-CSIDL-Entsprechung.
  • Registrieren oder Aufheben der Registrierung eines bekannten Ordners beim System.
  • Rufen Sie alle KNOWNFOLDERID-Werte ab, die auf diesem System registriert sind.
  • Leiten Sie einen bekannten Ordner an einen neuen Speicherort um.

IKnownFolder stellt eine Methode bereit, die es einem Ordner ermöglicht, sich selbst umzuleiten, indem ein neuer Pfad angegeben wird. Die anderen Methoden erhalten Informationen zu einem bestimmten bekannten Ordner, einschließlich:

  • Die Kategorie des Ordners: virtual, fixed, common oder pro Benutzer.
  • Der Typ des Ordners, z. B. komprimierte Dokumente, Bilder oder Benutzerdateien.
  • Die KNOWNFOLDERID des Ordners.
  • Der vollständige Pfad des Ordners als IDList oder als Zeichenfolge. Außerdem sein relativer Pfad zu einem übergeordneten Ordner.
  • Der kanonische Name des Ordners.
  • Die QuickInfo, die für den Ordner angezeigt wird.
  • Das symbol, das für den Ordner angezeigt wird.
  • Eine Beschreibung des Ordners, die den Zweck und die Verwendung erläutert.
  • Gibt an, ob der Ordner umgeleitet werden kann.

IKnownFolder stellt auch eine Methode zum Abrufen eines IShellItem basierend auf dem Ordner bereit. Dadurch können Sie den Ordner an einen Handler binden, zwei Ordner vergleichen und die Attribute, den Anzeigenamen und den übergeordneten Ordner des Ordners abrufen.

Umleitung

Die Ordnerumleitung ist ein wichtiges Feature des bekannten Ordnersystems. Alle bekannten Ordner der Kategorie commonKF_CATEGORY_COMMON**** oder pro BenutzerKF_CATEGORY_PERUSER**** können umgeleitet werden. Ordner mit virtuellenKF_CATEGORY_VIRTUAL**** oder fixedrKF_CATEGORY_FIXED****, kann jedoch nicht umgeleitet werden.

Ordner können entweder an einen anderen Speicherort auf demselben Computer oder an einen Speicherort in einem Netzwerk umgeleitet werden. Im Falle einer Netzwerkumleitung kann der Ordner lokal über clientseitige Zwischenspeicherung zwischengespeichert werden, um Offlinezugriff zu ermöglichen. Selbst wenn ein lokaler Cache vorhanden ist, muss jedoch über das Netzwerk auf den umgeleiteten Ordner zugegriffen werden.

Die Ordnerumleitung ist für Windows Vista nicht neu. In Windows XP können beispielsweise einige Ordner, die über das CSIDL-System identifiziert werden, durch einen Aufruf von SHSetFolderPath oder durch Ändern des CSIDL-Eintrags in der Registrierung umgeleitet werden. In Windows Vista und höher sollte die Umleitung über IKnownFolder::SetPath oder SHSetKnownFolderPath erfolgen.

Rufen Sie IKnownFolder::GetRedirectionCapabilities auf, um festzustellen, ob ein Ordner umgeleitet werden kann. Wenn der Ordner nicht umgeleitet werden kann, kann dieser Aufruf eine Erklärung geben.

Wenn ein Ordner an einen Netzwerkspeicherort umgeleitet wird, können die IKnownFolder-Methoden weiterhin erfolgreich aufgerufen werden.

Bekannte Ordner (Beispiel)