예제 #1
0
 public static bool TryGetUnsignedLargeIntegerValue(this IPortableDeviceValues values, PropertyKey key, out ulong value)
 {
     if (values.HasKeyValue(key))
     {
         values.GetUnsignedLargeIntegerValue(ref key, out value);
         return(true);
     }
     value = 0;
     return(false);
 }
예제 #2
0
        /// <summary>
        /// 获取大小属性
        /// </summary>
        /// <param name="deviceValues"></param>
        /// <returns></returns>
        private static ulong GetFileSizeProperty(IPortableDeviceValues deviceValues)
        {
            _tagpropertykey nameKey = new _tagpropertykey();

            nameKey.fmtid = new Guid(0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C); //guid唯一值
            nameKey.pid   = 11;                                                                                   //索引

            ulong sizeProperty = 0;

            deviceValues.GetUnsignedLargeIntegerValue(ref nameKey, out sizeProperty);
            return(sizeProperty);
        }
예제 #3
0
 /// <summary>
 /// プロパティ値から、符号なし 64 ビット整数値を読み取ります。
 /// </summary>
 /// <param name="key">識別子。</param>
 /// <param name="values">プロパティ値。</param>
 /// <returns>成功時は読み取った値。それ以外は null。</returns>
 public static ulong?ReadUInt64(_tagpropertykey key, IPortableDeviceValues values)
 {
     try
     {
         ulong value;
         values.GetUnsignedLargeIntegerValue(key, out value);
         return(value);
     }
     catch (Exception exp)
     {
         Debug.WriteLine(exp.Message);
         return(null);
     }
 }
예제 #4
0
 /// <summary>
 /// プロパティ値から、符号なし 64 ビット整数値を読み取ります。
 /// </summary>
 /// <param name="key">識別子。</param>
 /// <param name="values">プロパティ値。</param>
 /// <returns>成功時は読み取った値。それ以外は null。</returns>
 public static ulong? ReadUInt64( _tagpropertykey key, IPortableDeviceValues values )
 {
     try
     {
         ulong value;
         values.GetUnsignedLargeIntegerValue( key, out value );
         return value;
     }
     catch( Exception exp )
     {
         Debug.WriteLine( exp.Message );
         return null;
     }
 }