Debugging Tools for Windows

ReadUnicodeStringVirtualWide

The ReadUnicodeStringVirtualWide method reads a null-terminated, Unicode string from the target.

HRESULT
  IDebugDataSpaces4::ReadUnicodeStringVirtualWide(
    IN ULONG64  Offset,
    IN ULONG  MaxBytes,
    OUT OPTIONAL PWSTR  Buffer,
    IN ULONG  BufferSize,
    OUT OPTIONAL PULONG  StringBytes
    );

Parameters

Offset
Specifies the location of the string in the process's virtual address space.
MaxBytes
Specifies the maximum number of bytes to read from the target.
Buffer
Receives the string from the target. If Buffer is NULL, this information is not returned.

Note The remainder of the buffer, following the returned string, might be overwritten by this method.

BufferSize
Specifies the size, in characters, of the Buffer buffer.
StringBytes
Receives the size, in bytes, of the string. If StringBytes is NULL, this information is not returned.

Return Value

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.

Interface Version

ReadUnicodeStringVirtualWide is available in IDebugDataSpaces4 and later versions.

Comments

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

Headers: Defined in Dbgeng.h. Include Dbgeng.h.

See Also

ReadMultiByteStringVirtualWide, ReadUnicodeStringVirtual

Build machine: CAPEBUILD