NTSTATUS
RtlUnicodeStringToInteger(
IN PUNICODE_STRING String,
IN ULONG Base, /* optional */
OUT PULONG Value
);
RtlUnicodeStringToInteger converts a Unicode string representation of an integer into its integer equivalent.
If the conversion is successful, RtlUnicodeStringToInteger returns STATUS_SUCCESS and Value is set to the integer equivalent of the Unicode string. Otherwise, the Value is set to 0, and RtlUnicodeStringToInteger returns STATUS_INVALID_PARAMETER.
If the first character of the string is a “-”, the sign of the output Value is negative, otherwise if the first character is a “+” or there is no sign character, the sign of Value is positive.
If no Base is supplied, RtlUnicodeStringToInteger checks for a leading character to indicate the base of the number. An “x” indicates the string is to be converted as a hexidecimal integer; an “o” indicates the string is to be converted as an octal integer; a “b” indicates the string is to be converted as a binary integer. Otherwise RtlUnicodeStringToInteger assumes the number is to be converted as a base 10 integer.
Callers of RtlUnicodeStringToInteger must be running at IRQL PASSIVE_LEVEL.