IFilter::GetText 方法 (filter.h)

注意

从 Windows XP 开始,索引服务不再受支持,并且自Windows 8起无法使用。 请改用 Windows 搜索 进行客户端搜索,使用 Microsoft Search Server Express 进行服务器端搜索。

从当前区块检索文本 (文本类型属性) ,该块的 CHUNKSTATE 枚举值为 CHUNK_TEXT。

语法

SCODE GetText(
  [in, out] ULONG *pcwcBuffer,
  [out]     WCHAR *awcBuffer
);

参数

[in, out] pcwcBuffer

输入时, awcBuffer 数组的大小(以宽/Unicode 字符为单位)。 退出时,写入 awcBuffer 的 Unicode 字符数。

[out] awcBuffer

从当前区块检索到的文本。 不要用字符终止缓冲区。 使用以 null 结尾的字符串。 以 null 结尾的字符串不应超过目标缓冲区的大小。

返回值

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

返回代码 说明
S_OK
操作已成功完成。
FILTER_E_NO_TEXT
当前区块的 STAT_CHUNK 结构的 flags 成员没有 CHUNK_TEXT 值。
FILTER_E_NO_MORE_TEXT
已返回当前区块中的所有文本。 对 GetText 方法的其他调用应返回此错误,直到成功调用 IFilter::GetChunk 方法。
FILTER_S_LAST_TEXT
作为优化,返回文本的最后一次调用可以返回FILTER_S_LAST_TEXT,指示对 GetText 方法的下一次调用将返回FILTER_E_NO_MORE_TEXT。 此优化可以通过消除对 GetText 的不必要调用来节省时间。

注解

如果当前区块对于 awcBuffer 数组来说太大,可能需要多次调用 GetText 方法来检索当前区块中的所有文本。 每次调用 GetText 方法都会检索从上次调用 GetText 方法后紧跟文本的文本。 一个调用的最后一个字符可以位于单词中间,下一个调用中的第一个字符将继续该单词。 搜索引擎必须处理这种情况。

要求

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

另请参阅

CHUNKSTATE

IFilter