Freigeben über


IColumnProvider-Schnittstelle (shlobj.h)

Macht Methoden verfügbar, die das Hinzufügen benutzerdefinierter Spalten in der Windows Explorer Detailansicht ermöglichen.

Hinweis Die Unterstützung für IColumnProvider wurde ab Windows Vista entfernt. Das Windows-Eigenschaftensystem wird an seiner Stelle verwendet. Konzeptionelle Materialien, die die Verwendung des neuen Systems erläutern, finden Sie unter Windows-Eigenschaftssystem .
 

Vererbung

Die IColumnProvider-Schnittstelle erbt von der IUnknown-Schnittstelle . IColumnProvider verfügt auch über die folgenden Membertypen:

Methoden

Die IColumnProvider-Schnittstelle verfügt über diese Methoden.

 
IColumnProvider::GetColumnInfo

Fordert Informationen zu einer Spalte an.
IColumnProvider::GetItemData

Fordert Spaltendaten für eine angegebene Datei an.
IColumnProvider::Initialize

Initialisiert eine IColumnProvider-Schnittstelle.

Hinweise

In der Ansicht Windows Explorer Details werden in der Regel mehrere Standardspalten angezeigt. Jede Spalte enthält Informationen, z. B. die Dateigröße oder den Typ, für jede Datei im aktuellen Ordner. Es kann auch eine Reihe von Spalten geben, die der Benutzer anzeigen kann. Wenn der Benutzer mit der rechten Maustaste auf eine der Spaltenüberschriften klickt, wird eine Liste der verfügbaren Spalten in einem Dialogfeld angezeigt. Durch Erstellen eines Spaltenanbieterobjekts, das die IColumnProvider-Schnittstelle exportiert, können Sie diesem Dialogfeld benutzerdefinierte Spalten zur Anzeige durch Windows Explorer hinzufügen. Beispielsweise könnte eine Sammlung von Dateien, die Musik enthalten, einen Spaltenanbieter verwenden, um Spalten anzuzeigen, die den Künstler und das In jeder Datei enthaltene Stück auflisten.

Ein Spaltenanbieter ist ein globales Objekt, das jedes Mal aufgerufen wird, wenn Windows Explorer die Detailansicht anzeigt. Windows Explorer fragt alle registrierten Spaltenanbieter nach ihren Spaltenmerkmalen ab. Wenn der Benutzer eine der Spalten des Spaltenanbieters ausgewählt hat, fragt Windows Explorer den Spaltenanbieter nach den zugeordneten Daten für jede Datei im Ordner ab. Anschließend werden alle ausgewählten Spalten angezeigt.

In der Regel werden Spaltenanbieter verwendet, um eine oder mehrere benutzerdefinierte Spalten für einen bestimmten Dateityp anzuzeigen. Wenn ein Spaltenanbieter eine Anforderung für Daten empfängt, stellt er diese bereit, wenn die Datei ein Mitglied des unterstützten Typs ist. Andernfalls wird die Anforderung ignoriert, indem S_FALSE zurückgegeben wird.

Spalten werden durch eine SHCOLUMNID-Struktur identifiziert, die ein fmtid/pid-Paar enthält. Verwenden Sie nach Möglichkeit vorhandene fmtids und pids. Wenn ein Ordner Dateien mit mehr als einem Dateityp enthält, können die Daten aus verschiedenen Typen in derselben Spalte zusammengeführt werden. Für instance kann die Autoren-PID aus dem Eigenschaftensatz für Zusammenfassungsinformationen für eine Vielzahl von Zwecken verwendet werden. Wenn Sie eine benutzerdefinierte SHCOLUMNID-Struktur verwenden, werden in der Spalte nur Daten für die Dateien angezeigt, die Member des unterstützten Typs sind. Wenn der Ordner andere Dateien enthält, sind die Einträge leer.

Implementieren Sie ein Objekt, das diese Schnittstelle exportiert, wenn eine oder mehrere benutzerdefinierte Spalten in der Windows Explorer Detailansicht angezeigt werden sollen. Windows Explorer ruft die Schnittstellenmethoden auf, um die Informationen anzufordern, die zum Anzeigen der Spalte benötigt werden. Die von Windows Explorer verwendete Prozedur lautet wie folgt:

  1. Rufen Sie IColumnProvider::Initialize auf , um den anzuzeigenden Ordner anzugeben.
  2. Rufen Sie IColumnProvider::GetColumnInfo auf, um die Merkmale der Spalte abzurufen.
  3. Wenn die Spalte vom Benutzer ausgewählt wurde, rufen Sie IColumnProvider::GetItemData für jede Datei im Ordner auf, um die Daten abzurufen, die in den Spalteneintrag der Datei gehören.
Zusätzlich zur normalen COM-Registrierung (Component Object Model) muss das Spaltenanbieterobjekt auch bei Windows Explorer registriert werden. Fügen Sie hierzu diesem Schlüssel einen Unterschlüssel mit dem Namen mit der Zeichenfolgenform der GUID des Objekts hinzu.
HKEY_CLASSES_ROOT
   Folder
      shellex
         ColumnHandlers

Diese Schnittstelle wird von Windows Explorer aufgerufen. Sie wird in der Regel nicht von Anwendungen verwendet.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile shlobj.h