public override string ToString() { if (m_fValid) { try { StringBuilder output = new StringBuilder(); output.AppendLine(String.Format("HAL build info: {0}, {1}", HalBuildVersion?.ToString(), HalBuildInfo?.TrimEnd('\0'))); output.AppendLine(String.Format("OEM Product codes (vendor, model, SKU): {0}, {1}, {2}", OEM.ToString(), Model.ToString(), SKU.ToString())); output.AppendLine("Serial Numbers (module, system):"); output.AppendLine(" " + ModuleSerialNumber?.TrimEnd('\0')); output.AppendLine(" " + SystemSerialNumber?.TrimEnd('\0')); output.AppendLine(String.Format("Solution Build Info: {0}, {1}", SolutionBuildVersion?.ToString(), SolutionBuildInfo?.TrimEnd('\0'))); output.AppendLine("AppDomains:"); foreach (IAppDomainInfo adi in AppDomains) { output.AppendLine(String.Format(" {0}, id={1}", adi.Name, adi.ID)); } output.AppendLine("Assemblies:"); foreach (IAssemblyInfo ai in Assemblies) { output.AppendLine(String.Format(" {0}, {1}", ai.Name, ai.Version)); } return(output.ToString()); } catch { }; } return("DeviceInfo is not valid!"); }
/// <summary> /// Generate the serial number string based off the serial number /// values. /// </summary> /// <returns>String of the serial number.</returns> private string GetSerialNumberString() { StringBuilder result = new StringBuilder(); // Base Electronics if (string.IsNullOrEmpty(BaseHardware)) { result.Append("00"); } else { result.Append(BaseHardware.PadLeft(BASE_HDWR_NUM_BYTES, '0')); } // Subsystems if (string.IsNullOrEmpty(SubSystems)) { result.Append("000000000000000"); } else { // Set the subsystems, padding the end with 0's result.Append(SubSystems.PadRight(SUBSYSTEM_NUM_BYTES, '0')); } // Spare if (string.IsNullOrEmpty(Spare)) { result.Append("000000000"); } else { result.Append(Spare.PadRight(SPARE_NUM_BYTES, '0')); } // Serial number if (SystemSerialNumber == EMPTY_SERIAL_NUM) { result.Append("000000"); } else { string serial = SystemSerialNumber.ToString(); result.Append(serial.PadLeft(SERIAL_NUM_BYTES, '0')); } return(result.ToString()); }