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

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

[in] BufferSize

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

[out, optional] StringBytes

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

返回值

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

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

注解

引擎将从目标中读取最大 MaxBytes ,并查找 null 终止符。 如果字符串包含的字符数超过 BufferSize ,则字符串将被截断以适应 Buffer

要求

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

另请参阅

IDebugDataSpaces4

ReadMultiByteStringVirtual

ReadUnicodeStringVirtualWide