public static PropVariant ToPropVariant(ManagedPropVariant managedPropVariant)
 {
     // Do a bitwise copy from the ManagedPropVariant that was passed in.
     PropVariant propVariant = new PropVariant();
     UnsafeNativeMethods.CopyToPropVariant(out propVariant, ref managedPropVariant);
     return propVariant;
 }
 public static ManagedPropVariant FromPropVariant(PropVariant propVariant)
 {
     // Do a bitwise copy from the PropVariant that was passed in.
     ManagedPropVariant managedPropVariant = new ManagedPropVariant();
     UnsafeNativeMethods.CopyFromPropVariant(out managedPropVariant, ref propVariant);
     return managedPropVariant;
 }
Exemple #3
0
        public static PropVariant ToPropVariant(ManagedPropVariant managedPropVariant)
        {
            // Do a bitwise copy from the ManagedPropVariant that was passed in.
            PropVariant propVariant = new PropVariant();

            UnsafeNativeMethods.CopyToPropVariant(out propVariant, ref managedPropVariant);
            return(propVariant);
        }
Exemple #4
0
        public static ManagedPropVariant FromPropVariant(PropVariant propVariant)
        {
            // Do a bitwise copy from the PropVariant that was passed in.
            ManagedPropVariant managedPropVariant = new ManagedPropVariant();

            UnsafeNativeMethods.CopyFromPropVariant(out managedPropVariant, ref propVariant);
            return(managedPropVariant);
        }
Exemple #5
0
        public void Clear()
        {
            // Can't pass "this" by ref, so make a copy to call PropVariantClear with
            ManagedPropVariant var = this;

            UnsafeNativeMethods.PropVariantClear(ref var);

            // Since we couldn't pass "this" by ref, we need to clear the member fields manually
            // NOTE: PropVariantClear already freed heap data for us, so we are just setting
            //       our references to null.
            vt         = (ushort)VarEnum.VT_EMPTY;
            wReserved1 = wReserved2 = wReserved3 = 0;
            p          = IntPtr.Zero;
            p2         = 0;
        }
Exemple #6
0
        public ManagedPropVariant GetSetting(ContentEditorSetting setting)
        {
            switch (setting)
            {
            case ContentEditorSetting.MshtmlOptionKeyPath:
                return(ManagedPropVariant.FromPropVariant(GetMshtmlOptionKeyPath()));

            case ContentEditorSetting.ImageDefaultSize:
                return(ManagedPropVariant.FromPropVariant(GetImageDefaultSize()));

            case ContentEditorSetting.Language:
                return(ManagedPropVariant.FromPropVariant(GetLanguage()));

            default:
                Debug.Fail("Unexpected ContentEditorSetting!");
                PropVariant propVariant = new PropVariant();
                propVariant.SetError();
                return(ManagedPropVariant.FromPropVariant(propVariant));
            }
        }
        /// <summary>
        /// If getting the settings fails, this method throws an InvalidSettingException.
        /// </summary>
        public static T GetSetting <T>(ContentEditorSetting setting)
        {
            T value = default(T);

            ManagedPropVariant managedPropVariant = _settingsProvider.GetSetting(setting);
            PropVariant        propVariant        = ManagedPropVariant.ToPropVariant(managedPropVariant);

            if (!propVariant.IsError() && !propVariant.IsNull())
            {
                value = (T)propVariant.Value;
            }
            else
            {
                Debug.Fail("PROPVARIANT unexpectedly null or error!");
                throw new ContentEditorSettingException(setting);
            }

            propVariant.Clear();
            managedPropVariant.Clear();

            return(value);
        }
Exemple #8
0
 internal extern static void PropVariantClear([In, Out] ref ManagedPropVariant pvar);
Exemple #9
0
 internal extern static void CopyFromPropVariant([Out] out ManagedPropVariant pDst, [In] ref PropVariant pSrc);
Exemple #10
0
 internal extern static void CopyToPropVariant([Out] out PropVariant pDst, [In] ref ManagedPropVariant pSrc);