Scroll to navigation

RtlLargeIntegerToChar(3w) Wine API RtlLargeIntegerToChar(3w)

NAME

RtlLargeIntegerToChar (NTDLL.@)

SYNOPSIS

NTSTATUS RtlLargeIntegerToChar
(
const ULONGLONG* value_ptr,
ULONG base,
ULONG length,
PCHAR str
)
 

PARAMS

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.
 

DESCRIPTION

Convert an unsigned large integer to a character 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 would be larger than length. STATUS_ACCESS_VIOLATION, if str is NULL.
 

NOTES

Instead of base 0 it uses 10 as base. Writes at most length characters to the string str. Str is ' ' terminated when length allows it. When str fits exactly in length characters the ' ' is omitted. If value_ptr is NULL it crashes, as the native function does.
 

DIFFERENCES

- 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.
 

IMPLEMENTATION

Declared in "winternl.h".
Implemented in "dlls/ntdll/large_int.c".
Oct 2012 Wine API