RtlIntPtrToUnicodeString - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
#ifndef _NTRTL_H
#ifdef _WIN64

#define RtlIntPtrToUnicodeString(Value, Base, String) RtlInt64ToUnicodeString(Value, Base, String)

#endif
#endif

View code on GitHub
#ifndef _NTRTL_H
#ifdef _WIN64
// ...
#else

#define RtlIntPtrToUnicodeString(Value, Base, String) RtlIntegerToUnicodeString(Value, Base, String)

#endif
#endif

View code on GitHub
// wdm.h

void RtlIntPtrToUnicodeString(
  [in]           Value,
  [in, optional] Base,
  [in, out]      String
);
View the official Windows Driver Kit DDI reference

NtDoc

This macro is documented in Windows Driver Kit.

Windows Driver Kit DDI reference (nf-wdm-rtlintptrtounicodestring)

RtlIntPtrToUnicodeString macro

Description

The RtlIntPtrToUnicodeString routine converts a specified ULONG_PTR value to a Unicode string that represents the value in a specified base.

Parameters

Value [in]

Specifies the ULONG_PTR value to convert.

Base [in, optional]

Specifies the base to use when converting Value to a string. The possible values are:

Value Base
16 Hexadecimal
8 Octal
2 Binary
0 or 10 Decimal

String [in, out]

Pointer to a UNICODE_STRING structure that receives the string representation of Value. The buffer specified by the Buffer of String must be large enough to hold the result.

Remarks

RtlIntPtrToUnicodeString returns an NTSTATUS value. Possible return values include :

Return code Description
STATUS_SUCCESS The routine successfully converted Value to a Unicode string.
STATUS_BUFFER_OVERFLOW Value is too large to convert, or the UNICODE_STRING structure is too small to hold the result.
STATUS_INVALID_PARAMETER The specified code base is not valid. The only valid values are 0, 2, 8, 10, and 16.

See also

RtlAppendUnicodeStringToString

RtlIntegerToUnicodeString

RtlUnicodeStringToInteger

UNICODE_STRING