Zurückgeben von Eigenschaften von einem Filterhandler
Eigenschaften werden mithilfe registrierter Eigenschaftenhandler oder mithilfe von Filtern, die für bestimmte Dateitypen registriert sind, aus Elementen extrahiert. Ein Filterhandler (eine Implementierung der IFilter-Schnittstelle ) kann den Inhalt eines Dateityps auf verschiedene Arten interpretieren.
Dieses Thema ist wie folgt organisiert:
Eigenschaftenfilterung
Die bewährten Methoden für die Eigenschaftenfilterung sind in der folgenden Tabelle aufgeführt.
Methode | BESCHREIBUNG |
---|---|
IFilter::Init | Gibt die IFILTER_FLAGS-Enumeration zurück. Wenn das IFILTER_FLAGS_OLE_PROPERTIES Member dieser Enumeration auf eins festgelegt ist, verwendet Windows Search die Schnittstellen IPropertySetStorage und IPropertyStorage , um externe Werttypeigenschaften aufzulisten und darauf zuzugreifen. |
IFilter::GetChunk | Gibt Informationen aus einem Dokument in "Blöcken" mit Blocktyp (Text oder Wert), Name und Gebietsschema zurück. Ein Block enthält eine Dokumenteigenschaft. |
IFilter::GetText | Ruft eine Texttypeigenschaft aus einem Block ab. |
IFilter::GetValue | Ruft eine Werttypeigenschaft aus einem Block ab. |
Die folgende Abbildung zeigt ein Beispieldokument. Die externe Werttypeigenschaft DocTitle
(abgerufen mit Methoden der Schnittstellen IPropertySetStorage und IPropertyStorage ) und die interne Werttypeigenschaft Book
(die als Ergebnis einer benutzerdefinierten IFilter-Implementierung abgerufen wird) beschreiben das Dokument als Ganzes. Die Texttypeigenschaften Contents
und Chapter
beschreiben den Inhalt des Dokuments. Bei der Verarbeitung dieses Dokuments identifiziert und extrahiert der Filterhandler (eine Implementierung der IFilter-Schnittstelle ) diese Eigenschaften.
Einschränkungen der Eigenschaftsgröße
Es gibt zwei mögliche Einschränkungen für die Eigenschaftsgröße:
- Die maximale Größe der Daten, die Windows Search pro Datei akzeptiert.
- Die maximale Größe pro Eigenschaft, wie in der Eigenschaftenbeschreibungsdatei definiert.
Derzeit verwendet Windows Search bei der Berechnung der Datenmenge, die von einem Element akzeptiert wird, nicht die definierte Eigenschaftsgröße. Stattdessen verwendet Windows Search das Produkt der Größe der Datei und des aus der Registrierung gelesenen MaxGrowFactor
(Dateigröße N * MaxGrowFactor). Der Standardwert MaxGrowFactor
ist vier.
HKEY_LOCAL_MACHINE
SOFTWARE
Microsoft
Gathering Manager
MaxGrowFactor
Wenn Ihr Dateityp in der Gesamtgröße tendenziell klein ist, aber über größere Eigenschaften verfügt, akzeptiert Windows Search möglicherweise nicht alle Eigenschaftendaten, die Sie ausgeben möchten. Sie können jedoch die MaxGrowFactor
erhöhen, um Ihren Anforderungen gerecht zu werden.
Zusätzliche Ressourcen
- Das auf GitHub verfügbare IFilterSample-Codebeispiel veranschaulicht das Erstellen einer IFilter-Basisklasse zum Implementieren der IFilter-Schnittstelle.
- Eine Übersicht über den Indizierungsprozess finden Sie unter Der Indizierungsprozess.
- Eine Übersicht über Dateitypen finden Sie unter Dateitypen.
- Informationen zum Abfragen von Dateizuordnungsattributen für einen Dateityp finden Sie unter PerceivedTypes, SystemFileAssociations und Anwendungsregistrierung.
- Eine Übersicht über Eigenschaften und Eigenschaftenhandler sowie eine Liste der Systemeigenschaften, die Sie für Ihre Dateiformate verwenden können, finden Sie unter Entwickeln von Eigenschaftenhandlern für Windows Search.
Zugehörige Themen
Informationen zu Filterhandlern in Windows Search
Bewährte Methoden zum Erstellen von Filterhandlern in Windows Search
Filterhandler, die mit Windows ausgeliefert werden
Implementieren von Filterhandlern in Windows Search