---
name: "RtlIntegerToUnicodeString"
section: "3w"
platform: "linux"
package: "libwine-dev"
version: "1.4.1-4"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/RtlIntegerToUnicodeString"
---

# RtlIntegerToUnicodeString(3w)

## NAME

**RtlIntegerToUnicodeString** (NTDLL.@)

## SYNOPSIS

NTSTATUS RtlIntegerToUnicodeString\
  (\
   ULONG           *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

Converts an 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

Do not return **STATUS\_BUFFER\_OVERFLOW** when the string is long enough. The native function does this when the string would be longer than **16** characters even when the string parameter is long enough.

## IMPLEMENTATION

Declared in **"winternl.h"**.

Implemented in **"dlls/ntdll/rtlstr.c"**.

Debug channel **"ntdll"**.
