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

返回值

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

说明
S_OK
方法成功。
TF_E_INVALIDPOS
acpStartacpEnd 参数位于文档文本之外。
TF_E_NOLOCK
调用方对文档没有只读锁。

注解

使用此方法的调用方必须通过调用 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

另请参阅

ITextStoreACP2

管理器返回值

RequestLock

TS_RUNINFO