STAT_CHUNK结构(filter.h)

描述区块的特征。

语法

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

成员

idChunk

区块标识符。 区块标识符对于 IFilter 接口的当前实例必须是唯一的。 区块标识符必须按升序排列。 区块编号的顺序应对应于它们在源文档中显示的顺序。 某些搜索引擎可以利用各种属性区块的邻近性。 如果是这样,则发出不同属性的区块的顺序对搜索引擎非常重要。

breakType

将上一个区块与当前区块分开的中断类型。 值来自 CHUNK_BREAKTYPE 枚举。

flags

指示此区块是否包含文本类型或值类型属性。 标志值取自 CHUNKSTATE 枚举。 如果设置了CHUNK_TEXT标志,则应使用 IFilter::GetText 以一系列字词的形式检索区块的内容。 如果设置了CHUNK_VALUE标志,IFilter::GetValue 应用于检索值并将其视为单个属性值。 如果筛选器指示将相同的内容视为文本和值,则应在两个不同的区块中发出两次区块,每个区块都设置了一个标志。

locale

与文本区块关联的语言和子语言。 区块区域设置由文档索引器用来执行正确的文本断字。 如果区块既不是文本类型,也不是数据类型为VT_LPWSTR、VT_LPSTR或VT_BSTR的值类型,则忽略此字段。

attribute

要应用于区块的属性。 请参阅 FULLPROPSPEC。 如果筛选器要求同一文本具有多个属性,则需要为单独的区块中的每个属性发出一次文本。

idChunkSource

区块源的 ID。 idChunkSource 成员的值取决于区块的性质:

  • 如果区块是文本类型属性,则 idChunkSource 成员的值必须与 idChunk 成员的值相同。
  • 如果区块是派生自文本内容的内部值类型属性,则 idChunkSource 成员的值是派生其来源的文本类型区块的区块 ID。
  • 如果筛选器属性指定仅返回内部值类型属性,则不存在派生当前内部值类型属性的内容区块。 在这种情况下,idChunkSource 成员的值必须设置为零,这是无效的区块。

cwcStartSource

派生区块的源文本在源区块中开始的偏移量。

cwcLenSource

从中派生当前区块的源文本的长度(以字符为单位)。 零值表示源文本和派生文本之间的逐个字符的对应关系。 非零值表示不存在此类直接通信。

言论

最后三个成员(idChunkSourcecwcStartSourcecwcLenSource)用于描述派生区块的源;也就是说,可以映射回文本部分。 例如,章节的标题可以是文本类型属性和内部值类型属性? 标题。 value-type 属性“heading”将是派生区块。 如果当前值类型区块(来自内部值类型属性)的文本派生自某些文本类型区块,则必须多次发出它。

以下部分是一个示例,说明如何在书本中发生这种情况。

小侦探惊呼道:“C'est fini!

供词

房间沉默了几分钟。 这位年轻女子在想得非常努力后问道:“但你怎么知道?

此段可能按以下方式分解为区块。

ID 发短信 BreakType 标志 现场 属性
1 小 dete N/A CHUNK_TEXT ENGLISH_UK 内容
2 ctive 感叹, CHUNK_NO_BREAK N/A N/A N/A
3 “C'est fini!” CHUNK_EOW CHUNK_TEXT FRENCH_BELGIAN 内容
4 自白 CHUNK_EOC CHUNK_TEXT ENGLISH_UK CHAPTER_NAMES
5 自白 CHUNK_EOP CHUNK_TEXT ENGLISH_UK 内容
6 房间沉默了几分钟。 CHUNK_EOP CHUNK_TEXT ENGLISH_UK 内容
7 这位年轻女子在想得非常努力后问道:“但你怎么知道? CHUNK_EOS CHUNK_TEXT ENGLISH_UK 内容
 

idChunkSourcecwcStartSource提供的信息,cwcLenSource 对于突出显示命中的搜索引擎非常有用。 如果查询为内部值类型属性完成,搜索引擎将突出显示从中派生内部值类型属性的文本的原始文本。 例如,在C++代码筛选器中,浏览器在内部值类型属性“函数定义”中搜索 MyFunction 时,将突出显示文件中的函数标头。

要求

要求 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
标头 filter.h

另请参阅

CHUNKSTATE

CHUNK_BREAKTYPE

FULLPROPSPEC

IFilter