NAME

RtlUnicodeStringToInteger  (NTDLL.@)

SYNOPSIS

 NTSTATUS RtlUnicodeStringToInteger
 (
  const UNICODE_STRING* str,
  ULONG                 base,
  ULONG*                value
 )

PARAMS

str [In] Unicode string to be converted.
base [In] Number base for conversion (allowed 0,2,8,10 or 16).
value [Out] Destination for the converted value.

DESCRIPTION

Converts a unicode string into its integer equivalent.

RETURNS

Success: STATUS_SUCCESS. value contains the converted number

Failure: STATUS_INVALID_PARAMETER, if base is not 0, 2, 8, 10 or 16. STATUS_ACCESS_VIOLATION, if value is NULL.

NOTES

For base 0 it uses 10 as base and the string should be in the format "{whitespace} [+|-] [0[x|o|b]] {digits}". For other bases the string should be in the format "{whitespace} [+|-] {digits}". No check is made for value overflow, only the lower 32 bits are assigned. If str is NULL it crashes, as the native function does.

DIFFERENCES

This function does not read garbage on string length 0 as the native version does.

IMPLEMENTATION

Declared in "winternl.h". https://source.winehq.org/source/include/winternl.h

Implemented in "dlls/ntdll/rtlstr.c". https://source.winehq.org/source/dlls/ntdll/rtlstr.c

Debug channel "ntdll".


Copyright © 2024 The Wine Project. All trademarks are the property of their respective owners. Visit WineHQ for license details. Generated Apr 2024.