IDebugDataSpaces4::ReadMultiByteStringVirtualWide 方法 (dbgeng.h)

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

语法

HRESULT ReadMultiByteStringVirtualWide(
  [in]            ULONG64 Offset,
  [in]            ULONG   MaxBytes,
  [in]            ULONG   CodePage,
  [out, optional] PWSTR   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
方法未成功。
E_INVALIDARG
从目标读取 MaxBytes 后找不到 null 终止符。
 

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

言论

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

请注意,即使返回S_OK,缓冲区可能不够大,无法存储字符串。 在这种情况下,字符串将被截断,以适应 Buffer。 如果 Buffer 至少有一个字符的空间,则截断字符串为 null 终止。 调用返回后,检查 *StringBytes 是否大于 BufferSize。

要求

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

另请参阅

IDebugDataSpaces4

ReadMultiByteStringVirtual

ReadUnicodeStringVirtualWide