public static PropVariantType GetVarType(this IPortableDeviceValues values, PropertyKey key) { using (PropVariantFacade val = new PropVariantFacade()) { values.GetValue(ref key, out val.Value); return(val.VariantType); } }
internal static bool TryGetValue(this IPortableDeviceValues values, PropertyKey key, out PropVariantFacade value) { if (values.HasKeyValue(key)) { PropVariantFacade val = new PropVariantFacade(); values.GetValue(ref key, out val.Value); value = val; return(true); } value = null; return(false); }
/// <summary> /// uint型のtag_inner_PROPVARIANTを生成する /// </summary> /// <param name="value"></param> /// <returns></returns> private static tag_inner_PROPVARIANT createPropVariant(uint value) { tag_inner_PROPVARIANT propVariant = new tag_inner_PROPVARIANT(); IPortableDeviceValues pdValues = (IPortableDeviceValues) new PortableDeviceTypesLib.PortableDeviceValues(); pdValues.SetUnsignedIntegerValue(ref WpdProperty.WPD_OBJECT_ID, value); pdValues.GetValue(ref WpdProperty.WPD_OBJECT_ID, out propVariant); Marshal.ReleaseComObject(pdValues); return(propVariant); }
public static bool TryGetDateTimeValue(this IPortableDeviceValues values, PropertyKey key, out DateTime?value) { if (values.HasKeyValue(key)) { using (PropVariantFacade val = new PropVariantFacade()) { values.GetValue(ref key, out val.Value); value = val.ToDate(); } return(true); } value = null; return(false); }
/// <summary> /// Update service /// </summary> protected override void Update() { IPortableDeviceKeyCollection keyCol = (IPortableDeviceKeyCollection) new PortableDeviceKeyCollection(); keyCol.Add(ref WPD.SignalStrength); keyCol.Add(ref WPD.TextMessages); keyCol.Add(ref WPD.NewPictures); keyCol.Add(ref WPD.MissedCalls); keyCol.Add(ref WPD.VoiceMail); keyCol.Add(ref WPD.NetworkName); keyCol.Add(ref WPD.NetworkType); keyCol.Add(ref WPD.Roaming); keyCol.Add(ref WPD.BatteryLife); keyCol.Add(ref WPD.ChargingState); keyCol.Add(ref WPD.StorageCapacity); keyCol.Add(ref WPD.StorageFreeSpace); keyCol.Add(ref WPD.InternetConnected); IPortableDeviceValues values = GetProperties(keyCol); using (PropVariantFacade value = new PropVariantFacade()) { values.GetValue(ref WPD.SignalStrength, out value.Value); this.SignalStrength = value; } using (PropVariantFacade value = new PropVariantFacade()) { values.GetValue(ref WPD.TextMessages, out value.Value); this.TextMessages = value; } using (PropVariantFacade value = new PropVariantFacade()) { values.GetValue(ref WPD.NewPictures, out value.Value); this.NewPictures = value; } using (PropVariantFacade value = new PropVariantFacade()) { values.GetValue(ref WPD.MissedCalls, out value.Value); this.MissedCalls = value; } using (PropVariantFacade value = new PropVariantFacade()) { values.GetValue(ref WPD.VoiceMail, out value.Value); this.VoiceMail = value; } using (PropVariantFacade value = new PropVariantFacade()) { values.GetValue(ref WPD.NetworkName, out value.Value); this.NetworkName = value; } using (PropVariantFacade value = new PropVariantFacade()) { values.GetValue(ref WPD.NetworkType, out value.Value); this.NetworkType = value; } using (PropVariantFacade value = new PropVariantFacade()) { values.GetValue(ref WPD.Roaming, out value.Value); this.Roaming = (Roaming)(byte)value; } using (PropVariantFacade value = new PropVariantFacade()) { values.GetValue(ref WPD.BatteryLife, out value.Value); this.BatteryLife = value; } using (PropVariantFacade value = new PropVariantFacade()) { values.GetValue(ref WPD.ChargingState, out value.Value); this.ChargingState = (ChargingState)(byte)value; } using (PropVariantFacade value = new PropVariantFacade()) { values.GetValue(ref WPD.StorageCapacity, out value.Value); this.StorageCapacity = value; } using (PropVariantFacade value = new PropVariantFacade()) { values.GetValue(ref WPD.StorageFreeSpace, out value.Value); this.StorageFreeSpace = value; } using (PropVariantFacade value = new PropVariantFacade()) { values.GetValue(ref WPD.InternetConnected, out value.Value); this.InternetConnected = value; } }
/// <summary> /// Update service /// </summary> protected override void Update() { IPortableDeviceKeyCollection keyCol = (IPortableDeviceKeyCollection) new PortableDeviceKeyCollection(); keyCol.Add(ref WPD.ParentId); keyCol.Add(ref WPD.Name); keyCol.Add(ref WPD.PUOID); keyCol.Add(ref WPD.ObjectFormat); keyCol.Add(ref WPD.ObjectSize); keyCol.Add(ref WPD.StorageID); keyCol.Add(ref WPD.LanguageLocale); keyCol.Add(ref WPD.ContentID); keyCol.Add(ref WPD.DefaultCAB); IPortableDeviceValues values = GetProperties(keyCol); using (PropVariantFacade value = new PropVariantFacade()) { values.GetValue(ref WPD.ParentId, out value.Value); this.ParentId = value; } using (PropVariantFacade value = new PropVariantFacade()) { values.GetValue(ref WPD.Name, out value.Value); this.Name = value; } using (PropVariantFacade value = new PropVariantFacade()) { values.GetValue(ref WPD.PUOID, out value.Value); this.PUOID = value; } using (PropVariantFacade value = new PropVariantFacade()) { values.GetValue(ref WPD.ObjectFormat, out value.Value); this.ObjectFormat = value; } using (PropVariantFacade value = new PropVariantFacade()) { values.GetValue(ref WPD.ObjectSize, out value.Value); this.ObjectSize = value; } using (PropVariantFacade value = new PropVariantFacade()) { values.GetValue(ref WPD.StorageID, out value.Value); this.StorageID = value; } using (PropVariantFacade value = new PropVariantFacade()) { values.GetValue(ref WPD.LanguageLocale, out value.Value); this.LanguageLocale = value; } using (PropVariantFacade value = new PropVariantFacade()) { values.GetValue(ref WPD.ContentID, out value.Value); this.ContentID = value; } using (PropVariantFacade value = new PropVariantFacade()) { values.GetValue(ref WPD.DefaultCAB, out value.Value); this.DefaultCAB = value; } }