NAME

RtlInt64ToUnicodeString  (NTDLL.@)

SYNOPSIS

 NTSTATUS RtlInt64ToUnicodeString
 (
  ULONGLONG       value,
  ULONG           base,
  UNICODE_STRING* str
 )

PARAMS

value [In] Value to be converted.
base [In] Number base for conversion (allowed 0,2,8,10 or 16).
str [Out] Destination for the converted value.

DESCRIPTION

Convert a large unsigned integer to a '\0' terminated unicode string.

RETURNS

Success: STATUS_SUCCESS. str contains the converted number

Failure: STATUS_INVALID_PARAMETER, if base is not 0, 2, 8, 10 or 16. STATUS_BUFFER_OVERFLOW, if str is too small to hold the string (with the '\0' termination). In this case str->Length is set to the length, the string would have (which can be larger than the MaximumLength).

NOTES

Instead of base 0 it uses 10 as base. If str is NULL it crashes, as the native function does.

DIFFERENCES

- Accept base 0 as 10 instead of crashing as native function does.

- Do not return STATUS_BUFFER_OVERFLOW when the string is long enough. The native function does this when the string would be longer than 31 characters even when the string parameter is long enough.

- The native function does produce garbage or STATUS_BUFFER_OVERFLOW for base 2, 8 and 16 when the value is larger than 0xFFFFFFFF.

IMPLEMENTATION

Declared in "include/winternl.h". gitlab.winehq.org/wine/wine/blob/master/include/winternl.h

Implemented in "dlls/ntdll/large_int.c". gitlab.winehq.org/wine/wine/blob/master/dlls/ntdll/large_int.c


Copyright © 2024 The Wine Project. All trademarks are the property of their respective owners. Visit WineHQ for license details. Generated Nov 2024.