Exemple #1
0
        protected override object InternalTryGetValue(PropertyBag.BasicPropertyStore propertyBag)
        {
            object obj = ExtendedFolderFlagsProperty.DecodeFolderFlags(propertyBag.GetValue(InternalSchema.ExtendedFolderFlagsInternal));

            ExtendedFolderFlagsProperty.ParsedFlags parsedFlags = obj as ExtendedFolderFlagsProperty.ParsedFlags;
            return(parsedFlags != null && parsedFlags.ContainsKey(ExtendedFolderFlagsProperty.FlagTag.Clsid));
        }
 protected override void InternalSetValue(PropertyBag.BasicPropertyStore propertyBag, object value)
 {
     ExtendedFolderFlagsProperty.ParsedFlags parsedFlags = ExtendedFolderFlagsProperty.DecodeFolderFlags(propertyBag.GetValue(InternalSchema.ExtendedFolderFlagsInternal)) as ExtendedFolderFlagsProperty.ParsedFlags;
     if (parsedFlags == null)
     {
         parsedFlags = new ExtendedFolderFlagsProperty.ParsedFlags();
     }
     parsedFlags[this.flag] = BitConverter.GetBytes((int)value);
     propertyBag.SetValueWithFixup(InternalSchema.ExtendedFolderFlagsInternal, ExtendedFolderFlagsProperty.EncodeFolderFlags(parsedFlags));
 }
 protected override void InternalSetValue(PropertyBag.BasicPropertyStore propertyBag, object value)
 {
     byte[] value2 = ((Guid)value).ToByteArray();
     ExtendedFolderFlagsProperty.ParsedFlags parsedFlags = ExtendedFolderFlagsProperty.DecodeFolderFlags(propertyBag.GetValue(InternalSchema.ExtendedFolderFlagsInternal)) as ExtendedFolderFlagsProperty.ParsedFlags;
     if (parsedFlags == null)
     {
         parsedFlags = new ExtendedFolderFlagsProperty.ParsedFlags();
     }
     parsedFlags[ExtendedFolderFlagsProperty.FlagTag.Clsid] = value2;
     propertyBag.SetValueWithFixup(InternalSchema.ExtendedFolderFlagsInternal, ExtendedFolderFlagsProperty.EncodeFolderFlags(parsedFlags));
 }
        protected override object InternalTryGetValue(PropertyBag.BasicPropertyStore propertyBag)
        {
            object obj = ExtendedFolderFlagsProperty.DecodeFolderFlags(propertyBag.GetValue(InternalSchema.ExtendedFolderFlagsInternal));

            if (!(obj is ExtendedFolderFlagsProperty.ParsedFlags))
            {
                return(obj);
            }
            ExtendedFolderFlagsProperty.ParsedFlags parsedFlags = (ExtendedFolderFlagsProperty.ParsedFlags)obj;
            if (parsedFlags.ContainsKey(this.flag))
            {
                return((ExtendedFolderFlags)BitConverter.ToInt32(parsedFlags[this.flag], 0));
            }
            return(new PropertyError(this, PropertyErrorCode.NotFound));
        }
        protected override object InternalTryGetValue(PropertyBag.BasicPropertyStore propertyBag)
        {
            object obj = ExtendedFolderFlagsProperty.DecodeFolderFlags(propertyBag.GetValue(InternalSchema.ExtendedFolderFlagsInternal));

            ExtendedFolderFlagsProperty.ParsedFlags parsedFlags = obj as ExtendedFolderFlagsProperty.ParsedFlags;
            if (parsedFlags != null)
            {
                byte[] b;
                if (parsedFlags.TryGetValue(ExtendedFolderFlagsProperty.FlagTag.Clsid, out b))
                {
                    try
                    {
                        return(new Guid(b));
                    }
                    catch (ArgumentException)
                    {
                        return(new PropertyError(this, PropertyErrorCode.CorruptedData));
                    }
                }
                return(new PropertyError(this, PropertyErrorCode.NotFound));
            }
            return(obj);
        }