RtlLargeIntegerToChar (NTDLL.@)
NTSTATUS RtlLargeIntegerToChar ( const ULONGLONG* value_ptr, ULONG base, ULONG length, PCHAR str )
value_ptr | [In] | Pointer to the value to be converted. |
base | [In] | Number base for conversion (allowed 0,2,8,10 or 16). |
length | [In] | Length of the str buffer in bytes. |
str | [Out] | Destination for the converted value. |
Convert an unsigned large integer to a character string.
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 would be larger than length. STATUS_ACCESS_VIOLATION, if str is NULL.
Instead of base 0 it uses 10 as base. Writes at most length characters to the string str. Str is '\0' terminated when length allows it. When str fits exactly in length characters the '\0' is omitted. If value_ptr is NULL it crashes, as the native function does.
- Accept base 0 as 10 instead of crashing as native function does.
- The native function does produce garbage or STATUS_BUFFER_OVERFLOW for base 2, 8 and 16 when the value is larger than 0xFFFFFFFF.
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.