RtlInt64ToUnicodeString.3w

Langue: en

Version: Jun 2009 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

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

Defined in "winternl.h".

Implemented in "dlls/ntdll/large_int.c".