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 结尾的字符串不应超过目标缓冲区的大小。
返回值
此方法可以返回其中一个值。
返回代码 | 说明 |
---|---|
|
操作已成功完成。 |
|
当前区块的 STAT_CHUNK 结构的 flags 成员没有 CHUNK_TEXT 值。 |
|
已返回当前区块中的所有文本。 对 GetText 方法的其他调用应返回此错误,直到成功调用 IFilter::GetChunk 方法。 |
|
作为优化,返回文本的最后一次调用可以返回FILTER_S_LAST_TEXT,指示对 GetText 方法的下一次调用将返回FILTER_E_NO_MORE_TEXT。 此优化可以通过消除对 GetText 的不必要调用来节省时间。 |
注解
如果当前区块对于 awcBuffer 数组来说太大,可能需要多次调用 GetText 方法来检索当前区块中的所有文本。 每次调用 GetText 方法都会检索从上次调用 GetText 方法后紧跟文本的文本。 一个调用的最后一个字符可以位于单词中间,下一个调用中的第一个字符将继续该单词。 搜索引擎必须处理这种情况。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | filter.h |