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); }
/// <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); }
/// <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; } }