#ifndef _NTRTL_H
#ifdef _WIN64
#define RtlIntPtrToUnicodeString(Value, Base, String) RtlInt64ToUnicodeString(Value, Base, String)
View code on GitHub#ifndef _NTRTL_H
#ifdef _WIN64
// ...
#else
#define RtlIntPtrToUnicodeString(Value, Base, String) RtlIntegerToUnicodeString(Value, Base, String)
View code on GitHub// wdm.h
void RtlIntPtrToUnicodeString(
[in] Value,
[in, optional] Base,
[in, out] String
);
View the official Windows Driver Kit DDI referenceThis macro is documented in Windows Driver Kit.
The RtlIntPtrToUnicodeString routine converts a specified ULONG_PTR value to a Unicode string that represents the value in a specified base.
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.
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. |
RtlAppendUnicodeStringToString