STAT_CHUNK-Struktur (filter.h)

Hinweis

Der Indizierungsdienst wird ab Windows XP nicht mehr unterstützt und steht ab Windows 8 nicht mehr zur Verfügung. Verwenden Sie stattdessen Windows Search für die clientseitige Suche und Microsoft Search Server Express für die serverseitige Suche.

Beschreibt die Merkmale eines Blöckes.

Syntax

typedef struct tagSTAT_CHUNK {
  ULONG           idChunk;
  CHUNK_BREAKTYPE breakType;
  CHUNKSTATE      flags;
  LCID            locale;
  FULLPROPSPEC    attribute;
  ULONG           idChunkSource;
  ULONG           cwcStartSource;
  ULONG           cwcLenSource;
} STAT_CHUNK;

Member

idChunk

Der Blockbezeichner. Blockbezeichner müssen für die aktuelle instance der IFilter-Schnittstelle eindeutig sein. Blockbezeichner müssen sich in aufsteigender Reihenfolge befinden. Die Reihenfolge, in der Blöcke nummeriert werden, sollte der Reihenfolge entsprechen, in der sie im Quelldokument angezeigt werden. Einige Suchmaschinen können die Nähe von Blöcken verschiedener Eigenschaften nutzen. Wenn ja, ist die Reihenfolge, in der Blöcke mit unterschiedlichen Eigenschaften ausgegeben werden, für die Suchmaschine wichtig.

breakType

Der Typ des Umbruchs, der den vorherigen Block vom aktuellen Block trennt. Werte stammen aus der CHUNK_BREAKTYPE-Enumeration .

flags

Gibt an, ob dieser Block einen Texttyp oder eine Werttypeigenschaft enthält. Flagwerte werden aus der CHUNKSTATE-Enumeration übernommen. Wenn das CHUNK_TEXT-Flag festgelegt ist, sollte IFilter::GetText verwendet werden, um den Inhalt des Blöckes als Eine Reihe von Wörtern abzurufen. Wenn das flag CHUNK_VALUE festgelegt ist, sollte IFilter::GetValue verwendet werden, um den Wert abzurufen und als einzelner Eigenschaftswert zu behandeln. Wenn der Filter vorschreibt, dass derselbe Inhalt sowohl als Text als auch als Wert behandelt wird, sollte der Block zweimal in zwei verschiedenen Blöcken ausgegeben werden, wobei jeweils ein Flag festgelegt ist.

locale

Die Sprache und Untersprache, die einem Textblock zugeordnet ist. Das Gebietsschema "Block" wird von Dokumentindexern verwendet, um einen ordnungsgemäßen Textumbruch durchzuführen. Wenn der Block weder texttyp noch werttyp mit dem Datentyp VT_LPWSTR, VT_LPSTR oder VT_BSTR ist, wird dieses Feld ignoriert.

attribute

Die -Eigenschaft, die auf den Block angewendet werden soll. Siehe FULLPROPSPEC. Wenn ein Filter erfordert, dass derselbe Text über mehrere Eigenschaften verfügt, muss er den Text einmal für jede Eigenschaft in separaten Blöcken ausgeben.

idChunkSource

Die ID der Quelle eines Blocks. Der Wert des idChunkSource-Elements hängt von der Art des Blocks ab:

  • Wenn der Block eine Texttypeigenschaft ist, muss der Wert des idChunkSource-Elements mit dem Wert des idChunk-Elements identisch sein.
  • Wenn der Block eine interne Werttypeigenschaft ist, die vom Textinhalt abgeleitet wird, ist der Wert des idChunkSource-Elements die Block-ID für den Texttypblock, von dem er abgeleitet wird.
  • Wenn die Filterattribute angeben, dass nur interne Werttypeigenschaften zurückgegeben werden sollen, gibt es keinen Inhaltsblock, von dem die aktuelle interne Werttypeigenschaft abgeleitet werden kann. In diesem Fall muss der Wert des idChunkSource-Elements auf Null festgelegt werden, was ein ungültiger Block ist.

cwcStartSource

Der Offset, ab dem der Quelltext für einen abgeleiteten Block im Quellblock beginnt.

cwcLenSource

Die Länge in Zeichen des Quelltexts, von dem der aktuelle Block abgeleitet wurde. Ein Nullwert steht für eine Zeichenkorrespondenz zwischen dem Quelltext und dem abgeleiteten Text. Ein Wert ungleich 00 bedeutet, dass keine solche direkte Korrespondenz vorhanden ist.

Hinweise

Die letzten drei Member (idChunkSource, cwcStartSource und cwcLenSource) werden verwendet, um die Quelle eines abgeleiteten Blöckes zu beschreiben. d. h. eine, die einem Textabschnitt wieder zugeordnet werden kann. Beispielsweise kann die Überschrift eines Kapitels sowohl eine Texttypeigenschaft als auch eine interne Werttypeigenschaft sein? eine Überschrift. Die Werttypeigenschaft "heading" wäre ein abgeleiteter Block. Wenn der Text des aktuellen Werttypblocks (von einer internen Werttypeigenschaft) von einem Texttypblock abgeleitet wird, muss er mehrmals ausgegeben werden.

Das folgende Segment ist ein Beispiel dafür, wie dies in einem Buch passieren kann.

Der kleine Detektiv rief aus: "C'est fini!"

Geständnisse

Der Raum schwieg mehrere Minuten. Nachdem sie sehr intensiv darüber nachgedacht hatte, fragte die junge Frau: "Aber woher wussten Sie schon?"

Dieses Segment kann wie folgt in Blöcke unterteilt werden.

ID Text BreakType Flags Gebietsschema attribute
1 Die kleine Dete CHUNK_TEXT ENGLISH_UK CONTENT
2 ctive ex anspruchsgefordert, CHUNK_NO_BREAK
3 "C'est fini!" CHUNK_EOW CHUNK_TEXT FRENCH_BELGIAN CONTENT
4 Geständnisse CHUNK_EOC CHUNK_TEXT ENGLISH_UK CHAPTER_NAMES
5 Geständnisse CHUNK_EOP CHUNK_TEXT ENGLISH_UK CONTENT
6 Der Raum schwieg mehrere Minuten. CHUNK_EOP CHUNK_TEXT ENGLISH_UK CONTENT
7 Nachdem sie sehr intensiv darüber nachgedacht hatte, fragte die junge Frau: "Aber woher wussten Sie schon?" CHUNK_EOS CHUNK_TEXT ENGLISH_UK CONTENT
 

Informationen von idChunkSource, cwcStartSource und cwcLenSource sind nützlich für eine Suchmaschine, die Treffer hervorruft. Wenn die Abfrage für eine interne Werttypeigenschaft ausgeführt wird, hebt die Suchmaschine den ursprünglichen Text hervor, aus dem der Text der internen Werttypeigenschaft abgeleitet wurde. Bei instance hebt der Browser in einem C++-Codefilter bei der Suche nach MyFunction in der internen Werttypeigenschaft "Funktionsdefinitionen" den Funktionsheader in der Datei hervor.

Anforderungen

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

Weitere Informationen

CHUNKSTATE

CHUNK_BREAKTYPE

FULLPROPSPEC

Ifilter