iTextStoreACP2::GetText 方法 (textstor.h)
获取有关位于指定字符位置的文本的信息。 此方法返回可见和隐藏的文本,并指示嵌入数据是否附加到文本。
语法
HRESULT GetText(
[in] LONG acpStart,
[in] LONG acpEnd,
[out] WCHAR *pchPlain,
[in] ULONG cchPlainReq,
[out] ULONG *pcchPlainRet,
[out] TS_RUNINFO *prgRunInfo,
[in] ULONG cRunInfoReq,
[out] ULONG *pcRunInfoRet,
[out] LONG *pacpNext
);
参数
[in] acpStart
指定起始字符位置。
[in] acpEnd
指定结束字符位置。 如果此参数为 -1,则返回文本存储中的所有文本。
[out] pchPlain
指定要接收纯文本数据的缓冲区。 如果此参数为 NULL,则 cchPlainReq 参数必须为 0。
[in] cchPlainReq
指定传递给方法的纯文本字符数。
[out] pcchPlainRet
接收复制到纯文本缓冲区中的字符数。 此参数不能为 NULL。 如果不需要值,请使用 参数。
[out] prgRunInfo
接收 TS_RUNINFO 结构的数组。 仅当 cRunInfoReq = 0 时,才能为 NULL。
[in] cRunInfoReq
指定文本运行缓冲区的大小(以字符为单位)。
[out] pcRunInfoRet
接收写入文本运行缓冲区的 TS_RUNINFO 结构数。 此参数不能为 NULL。
[out] pacpNext
接收下一个未读字符的字符位置。 不能为 NULL。
返回值
此方法可以返回其中一个值。
值 | 说明 |
---|---|
|
方法成功。 |
|
acpStart 或 acpEnd 参数位于文档文本之外。 |
|
调用方对文档没有只读锁。 |
注解
使用此方法的调用方必须通过调用 RequestLock 方法在文档上具有只读锁。 如果没有只读锁,该方法将失败并返回 TF_E_NOLOCK。
出于内部原因,应用程序还可以截断方法返回值。 调用方应仔细检查返回字符和文本运行计数,以获取所需的返回值。 如果返回值不完整,请重复调用 方法,直到返回值完成。
调用方只能通过将 cRunInfoReq 参数设置为 0 并将 prgRunInfo 参数设置为 NULL 来请求纯文本。 调用方可以通过将 cchPlainReq 参数设置为 0 并将 pchPlain 参数设置为 NULL 来仅请求文本运行数据。 但是,即使未使用此参数,调用方也必须为 pcchPlainRet 提供有效的非 null 值。
如果 acpEnd 为 -1,则应像在流结束时设置一样处理它。 否则,它将大于或等于零。
退出时, pacpNext 应设置为返回值未引用的流中下一个字符的字符位置。 调用方会使用它通过多个 GetText 调用快速扫描文本。
要求
最低受支持的客户端 | Windows 8 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2012 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | textstor.h |
DLL | Msctf.dll |