示例#1
0
 public static PropVariantType GetVarType(this IPortableDeviceValues values, PropertyKey key)
 {
     using (PropVariantFacade val = new PropVariantFacade())
     {
         values.GetValue(ref key, out val.Value);
         return(val.VariantType);
     }
 }
示例#2
0
 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);
 }
示例#3
0
        /// <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);
        }
示例#4
0
 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;
            }
        }
示例#6
0
        /// <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;
            }
        }