Scroll to navigation

RtlInt64ToUnicodeString(3w) Wine API RtlInt64ToUnicodeString(3w)

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 ' ' 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 ' ' 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 "winternl.h".
Implemented in "dlls/ntdll/large_int.c".
Oct 2012 Wine API