/// <summary> /// Build a status from it's component parts. /// </summary> /// <param name="severity">The severity of the status code.</param> /// <param name="is_customer_code">Is this a customer code?</param> /// <param name="is_reserved">Is this a reserved code?</param> /// <param name="facility">The facility.</param> /// <param name="code">The status code.</param> /// <returns></returns> public static NtStatus BuildStatus(NtStatusSeverity severity, bool is_customer_code, bool is_reserved, NtStatusFacility facility, int code) { uint status = (uint)code | ((uint)facility << 16) | (is_reserved ? (1U << 28) : 0U) | (is_customer_code ? (1U << 29) : 0U) | ((uint)severity << 30); return((NtStatus)status); }
internal NtStatusResult(NtStatus status) { Status = (uint)status; Message = NtObjectUtils.GetNtStatusMessage(status); Win32Error = NtObjectUtils.MapNtStatusToDosError(status); StatusName = status.ToString(); Code = status.GetStatusCode(); CustomerCode = status.IsCustomerCode(); Reserved = status.IsReserved(); Facility = status.GetFacility(); Severity = status.GetSeverity(); }