/// <summary> /// Returns a value indicating whether the specified bit is enabled. /// </summary> /// <param name="value">Reference value.</param> /// <param name="bit">Bit to check.</param> /// <returns> /// <b>true</b> if specified <paramref name="bit" /> is enabled; otherwise, <b>false</b>. /// </returns> public static bool CheckBit(this ulong value, Bits bit) { SentinelHelper.IsEnumValid(bit); SentinelHelper.IsTrue((byte)bit > 63); return(value.CheckBit((byte)bit)); }
/// <summary> /// Gets a collection of <b>TPM</b> characteristics. /// </summary> /// <param name="target">Value to analyze</param> /// <returns> /// Collection of <b>TPM</b> characteristics. /// </returns> private static ReadOnlyCollection <string> GetTpmCharacteristics(ulong target) { string[] value = { "TPM Device Characteristics are not supported", // 0x02 "Family configurable via firmware update", "Family configurable via platform software support, such as BIOS Setup", "Family configurable via OEM proprietary mechanism" // 0x05 }; List <string> items = new List <string>(); for (byte i = 2; i < 6; i++) { bool addCharacteristic = target.CheckBit(i); if (addCharacteristic) { items.Add(value[i - 0x02]); } } return(items.AsReadOnly()); }