예제 #1
0
 public static bool TryGetSignedIntegerValue(this IPortableDeviceValues values, PropertyKey key, out int value)
 {
     if (values.HasKeyValue(key))
     {
         values.GetSignedIntegerValue(ref key, out value);
         return(true);
     }
     value = 0;
     return(false);
 }
예제 #2
0
 /// <summary>
 /// プロパティ値から、符号付き 32 ビット整数値を読み取ります。
 /// </summary>
 /// <param name="key">識別子。</param>
 /// <param name="values">プロパティ値。</param>
 /// <returns>成功時は読み取った値。それ以外は null。</returns>
 public static int?ReadInt32(_tagpropertykey key, IPortableDeviceValues values)
 {
     try
     {
         int value;
         values.GetSignedIntegerValue(key, out value);
         return(value);
     }
     catch (Exception exp)
     {
         Debug.WriteLine(exp.Message);
         return(null);
     }
 }
        private PortableDeviceObject CreateGenericObject(IPortableDeviceValues values)
        {
            string filename;
            int    size;

            try
            {
                values.GetStringValue(ref PortableDevicePKeys.WPD_OBJECT_ORIGINAL_FILE_NAME, out filename);
                values.GetSignedIntegerValue(ref PortableDevicePKeys.WPD_OBJECT_SIZE, out size);
            }
            catch
            {
                return(CreateObject <PortableDeviceObject>(values));
            }

            var obj = CreateObject <PortableDeviceFileObject>(values);

            obj.FileName = filename;
            obj.Size     = size;
            return(obj);
        }
예제 #4
0
 /// <summary>
 /// プロパティ値から、符号付き 32 ビット整数値を読み取ります。
 /// </summary>
 /// <param name="key">識別子。</param>
 /// <param name="values">プロパティ値。</param>
 /// <returns>成功時は読み取った値。それ以外は null。</returns>
 public static int? ReadInt32( _tagpropertykey key, IPortableDeviceValues values )
 {
     try
     {
         int value;
         values.GetSignedIntegerValue( key, out value );
         return value;
     }
     catch( Exception exp )
     {
         Debug.WriteLine( exp.Message );
         return null;
     }
 }