Das wird jetzt ein bisschen programmiertechnisch, sorry

Zunächst gibt der Plugin in ContentGetSupportedFields an, ob er er eine bestimmte Information haben möchte. Dies geschieht mit einem bestimmten Rückgabewert, der nicht, wie üblich den Typ kennzeichnet, sondern welches Feld er haben möchte (der Typ wird damit auch gleich auf einen sinnvollen Wert festgesetzt).
Das könnte z.B. -27 (nur so als Beispiel) sein. Damit weiß der TC, dass er den Wert bereitstellen soll.
Bei ContentGetValue wird dann wiederum in FieldValue der anzuzeigende Wert übergeben. Anhand eines flags (in diesem Fall wohl wieder sinnvollerweise -27) weiß der Plugin, dass er den Wert nicht selbst berechnen muss, sondern er ihn vom TC übermittelt bekommt. Der Plugin kann den Wert nun einfach durchschliefen oder in eine andere Einheit überführen und dann zurückgeben.
Natürlich könnte der Plugin auch selbst anhand des Dateinamens herausfinden, dass er dass nicht selbst herauskriegt, aber mit der Flag geht es vermutlich perfomanter.
Das geht natürlich nur für eine statische Auswahl für Feldern. Aber vielleicht reicht das ja erstmal, ohne allzuviel an der Schnittstelle ändern zu müssen.
Ach ja. Das ist meine Liste mit Feldern, die ich da gerne hätte:
Erstelldatum
Änderungsdatum
Zugriffsdatum
(bitte alle als FILETIME wenns geht

Kommentar (für Anzeige in Spalte, string)
Kommentar (für Suche, Volltext)
Gepackte Größe (64 bit zahl)
Ungepackte Größe (64 bit zahl)
Kompressionsrate
Das war jetzt zwar sehr technisch aber der Vorteil für den Benutzer ist, dass er von all dem nichts merken wird. Außer dass es dann geht, im Gegensatz zu jetzt.