RtlLargeIntegerToChar(3w)

RtlLargeIntegerToChar3w

Usage

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.

Overview

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

Releases

4 releases since Debian 4.0 (Etch); the text changed 3 times.

  1. 4.0
  2. 5.0
  3. 6.0
  4. 7

From libwine-dev 1.4.1-4 in Debian 7 (Wheezy). Parsed by carta from the page's man source.