IDebugDataSpaces4::ReadUnicodeStringVirtual method (dbgeng.h)

The ReadUnicodeStringVirtual method reads a null-terminated, Unicode string from the target and converts it to a multibyte string.

Syntax

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

Parameters

[in] Offset

Specifies the location in the process's virtual address space of the string.

[in] MaxBytes

Specifies the maximum number of bytes to read from the target.

[in] CodePage

Specifies the code page to use to convert the multibyte string read from the target into a Unicode string. For example, CP_ACP is the ANSI code page.

[out, optional] Buffer

Receives the string from the target. If Buffer is NULL, this information is not returned.

[in] BufferSize

Specifies the size, in characters, of the Buffer buffer.

[out, optional] StringBytes

Receives the size, in bytes, of the string in the target. If StringBytes is NULL, this information is not returned.

Return value

Return code Description
S_OK
The method was successful.
S_FALSE
The method was successful. However Buffer was not large enough to hold the string and the string was truncated to fit in Buffer. The truncated string is null-terminated if Buffer has space for at least one character.
E_INVALIDARG
A null-terminator was not found after reading MaxBytes from the target.
 

This method can also return error values. See Return Values for more details.

Remarks

The engine will read up to MaxBytes from the target, looking for a null-terminator. If the string has more than BufferSize characters, the string will be truncated to fit in Buffer.

Requirements

Requirement Value
Target Platform Desktop
Header dbgeng.h (include Dbgeng.h, Winnls.h)

See also

IDebugDataSpaces4

ReadMultiByteStringVirtual

ReadUnicodeStringVirtualWide