WIN32_ERROR extension type
A strongly-typed representation of a Win32 thread-local error code.
WIN32_ERROR values are returned by classic Win32 APIs that follow the
SetLastError / GetLastError convention. These APIs typically indicate
success or failure through a separate return value, while detailed error
information is retrieved from thread-local storage.
A WIN32_ERROR follows strict semantics:
- A value of zero indicates success
- Any non-zero value represents failure
This extension type provides:
- Canonical success / failure checks
- Structured success-path execution
- Conversion to HRESULT for interoperability with COM and NT-style APIs
Example:
const error = ERROR_ACCESS_DENIED;
if (error.isError) {
final hr = error.toHRESULT();
print(hr.message);
}
- on
- Implemented types
- Available extensions
Constructors
- WIN32_ERROR(int code)
-
Creates a WIN32_ERROR from a 32-bit unsigned integer.
const
Properties
-
address
→ Pointer<
Never> -
Available on int, provided by the IntAddress extension
The memory address of the underlying data.no setter - bitLength → int
-
Returns the minimum number of bits required to store this integer.
no setterinherited
- code → int
-
final
- hashCode → int
-
Returns a hash code for a numerical value.
no setterinherited
- isError → bool
-
Whether this error code represents failure.
no setter
- isEven → bool
-
Returns true if and only if this integer is even.
no setterinherited
- isFinite → bool
-
Whether this number is finite.
no setterinherited
- isInfinite → bool
-
Whether this number is positive infinity or negative infinity.
no setterinherited
- isNaN → bool
-
Whether this number is a Not-a-Number value.
no setterinherited
- isNegative → bool
-
Whether this number is negative.
no setterinherited
- isOdd → bool
-
Returns true if and only if this integer is odd.
no setterinherited
- isOk → bool
-
Whether this error code represents success.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- sign → int
-
Returns the sign of this integer.
no setterinherited
- toJS → JSNumber
-
Available on num, provided by the NumToJSExtension extension
Converts this num to a JSNumber.no setter
Methods
-
abs(
) → int -
Returns the absolute value of this integer.
inherited
-
ceil(
) → int -
Returns
this.inherited -
ceilToDouble(
) → double -
Returns
this.toDouble().inherited -
clamp(
num lowerLimit, num upperLimit) → num -
Returns this num clamped to be in the range
lowerLimit-upperLimit.inherited -
compareTo(
num other) → int -
Compares this to
other.inherited -
floor(
) → int -
Returns
this.inherited -
floorToDouble(
) → double -
Returns
this.toDouble().inherited -
gcd(
int other) → int -
Returns the greatest common divisor of this integer and
other.inherited -
modInverse(
int modulus) → int -
Returns the modular multiplicative inverse of this integer
modulo
modulus.inherited -
modPow(
int exponent, int modulus) → int -
Returns this integer to the power of
exponentmodulomodulus.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onSuccess<
T> (T op()) → T -
Executes
opif this error code represents success. -
remainder(
num other) → num -
The remainder of the truncating division of
thisbyother.inherited -
round(
) → int -
Returns
this.inherited -
roundToDouble(
) → double -
Returns
this.toDouble().inherited -
toDouble(
) → double -
This number as a double.
inherited
-
toHexString(
[int width = 32]) → String -
Available on int, provided by the IntToHexConversion extension
Converts this integer to an uppercase hexadecimal string prefixed with0x. -
toHRESULT(
) → HRESULT - Converts this WIN32_ERROR to its corresponding HRESULT.
-
toInt(
) → int -
Truncates this num to an integer and returns the result as an int.
inherited
-
toRadixString(
int radix) → String -
Converts this int to a string representation in the given
radix.inherited -
toSigned(
int width) → int -
Returns the least significant
widthbits of this integer, extending the highest retained bit to the sign. This is the same as truncating the value to fit inwidthbits using an signed 2-s complement representation. The returned value has the same bit value in all positions higher thanwidth.inherited -
toString(
) → String -
Returns a string representation of this integer.
inherited
-
toStringAsExponential(
[int? fractionDigits]) → String -
An exponential string-representation of this number.
inherited
-
toStringAsFixed(
int fractionDigits) → String -
A decimal-point string-representation of this number.
inherited
-
toStringAsPrecision(
int precision) → String -
A string representation with
precisionsignificant digits.inherited -
toUnsigned(
int width) → int -
Returns the least significant
widthbits of this integer as a non-negative number (i.e. unsigned representation). The returned value has zeros in all bit positions higher thanwidth.inherited -
truncate(
) → int -
Returns
this.inherited -
truncateToDouble(
) → double -
Returns
this.toDouble().inherited
Operators
-
operator %(
num other) → num -
Euclidean modulo of this number by
other.inherited -
operator &(
int other) → int -
Bit-wise and operator.
inherited
-
operator *(
num other) → num -
Multiplies this number by
other.inherited -
operator +(
num other) → num -
Adds
otherto this number.inherited -
operator -(
num other) → num -
Subtracts
otherfrom this number.inherited -
operator /(
num other) → double -
Divides this number by
other.inherited -
operator <(
num other) → bool -
Whether this number is numerically smaller than
other.inherited -
operator <<(
int shiftAmount) → int -
Shift the bits of this integer to the left by
shiftAmount.inherited -
operator <=(
num other) → bool -
Whether this number is numerically smaller than or equal to
other.inherited -
operator ==(
Object other) → bool -
Test whether this value is numerically equal to
other.inherited -
operator >(
num other) → bool -
Whether this number is numerically greater than
other.inherited -
operator >=(
num other) → bool -
Whether this number is numerically greater than or equal to
other.inherited -
operator >>(
int shiftAmount) → int -
Shift the bits of this integer to the right by
shiftAmount.inherited -
operator >>>(
int shiftAmount) → int -
Bitwise unsigned right shift by
shiftAmountbits.inherited -
operator ^(
int other) → int -
Bit-wise exclusive-or operator.
inherited
-
operator unary-(
) → int -
Return the negative value of this integer.
inherited
-
operator |(
int other) → int -
Bit-wise or operator.
inherited
-
operator ~(
) → int -
The bit-wise negate operator.
inherited
-
operator ~/(
num other) → int -
Truncating division operator.
inherited