IDebugDataSpaces4::ReadUnicodeStringVirtual 方法 (dbgeng.h)

ReadUnicodeStringVirtual 方法从目标读取以 null 结尾的 Unicode 字符串,并将其转换为多字节字符串。

语法

HRESULT ReadUnicodeStringVirtual(
  [in]            ULONG64 Offset,
  [in]            ULONG   MaxBytes,
  [in]            ULONG   CodePage,
  [out, optional] PSTR    Buffer,
  [in]            ULONG   BufferSize,
  [out, optional] PULONG  StringBytes
);

参数

[in] Offset

指定进程虚拟地址空间中字符串的位置。

[in] MaxBytes

指定要从目标读取的最大字节数。

[in] CodePage

指定用于将从目标读取的多字节字符串转换为 Unicode 字符串的代码页。 例如,CP_ACP是 ANSI 代码页。

[out, optional] Buffer

从目标接收字符串。 如果 缓冲区NULL,则不会返回此信息。

[in] BufferSize

指定 缓冲区 缓冲区的大小(以字符为单位)。

[out, optional] StringBytes

接收目标中字符串的大小(以字节为单位)。 如果 StringBytesNULL,则不会返回此信息。

返回值

返回代码 描述
S_OK
该方法成功。
S_FALSE
该方法成功。 但是,缓冲区 不够大,无法容纳字符串,字符串被截断,以适应 Buffer。 如果 Buffer 至少有一个字符的空间,则截断字符串为 null 终止。
E_INVALIDARG
从目标读取 MaxBytes 后找不到 null 终止符。
 

此方法还可以返回错误值。 有关详细信息,请参阅 返回值

言论

引擎将从目标读取最多 maxBytes,查找 null 终止符。 如果字符串具有多个 BufferSize 字符,则字符串将被截断,以适应 Buffer

要求

要求 价值
目标平台 桌面
标头 dbgeng.h (包括 Dbgeng.h、Winnls.h)

另请参阅

IDebugDataSpaces4

ReadMultiByteStringVirtual

ReadUnicodeStringVirtualWide