public StatusArgs(CategoryType category, StatusType statusType, string statusText) { mStatusType = statusType; mStatusText = statusText; mCategory = category; if ((mStatusType & StatusType.Win32Error) != StatusType.Win32Error) { return; } string newErrorString; SetupApi.GetLastWin32ErrorDetails(mStatusText, out newErrorString); mStatusText = newErrorString; mStatusType ^= StatusType.Win32Error; if (mStatusType == 0) { mStatusType = StatusType.Error; } }