IWordBreaker::BreakText 方法 (indexsrv.h)

分析文本以标识单词和短语,并将结果提供给 IWordSinkIPhraseSink 对象。

语法

HRESULT BreakText(
  [in] TEXT_SOURCE *pTextSource,
  [in] IWordSink   *pWordSink,
  [in] IPhraseSink *pPhraseSink
);

parameters

[in] pTextSource

类型: TEXT_SOURCE*

指向包含 Unicode 文本 的TEXT_SOURCE 结构的指针。

[in] pWordSink

类型: IWordSink*

指向 IWordSink 对象的指针,该对象接收并处理此方法生成的单词。 NULL 指示此方法应仅标识短语。

[in] pPhraseSink

类型: IPhraseSink*

指向 IPhraseSink 对象的指针,该对象接收并处理此方法生成的短语。 NULL 指示此方法应标识单个单词,而不是短语。

返回值

类型: HRESULT

此方法可以返回其中一个值。

返回代码 说明
S_OK
操作成功。 没有更多文本可用于重新填充 pTextSource 缓冲区。
E_INVALIDARG
无效的参数。 pTextSource 参数为 NULL

注解

由于断字符比短语更常分析单词,因此应针对 pPhraseSink = 0 进行优化。 pWordSinkpPhraseSink 可以为 NULL,但不能同时为 NULL

IWordSink 对象保存断字符的单词及其替代形式。 单词的替代形式(如果存在)首先使用 WordSink::P utAltWord 方法放入 IWordSink 对象中,最后使用 WordSink::P utWord 方法添加根词。

使用 pfnFillTextBufferTEXT_SOURCE 结构中的函数指针元素)补充源文本。 IWordBreaker::BreakText 方法必须处理所有 pfnFillTextBuffer 返回值。 如果发生错误,请在处理错误之前完成缓冲区中的文本处理。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 indexsrv.h
可再发行组件 Windows NT 4.0 选项包

另请参阅

IWordBreaker

TEXT_SOURCE