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; }
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); }
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; }
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); }
internal extern static void PropVariantClear([In, Out] ref ManagedPropVariant pvar);
internal extern static void CopyFromPropVariant([Out] out ManagedPropVariant pDst, [In] ref PropVariant pSrc);
internal extern static void CopyToPropVariant([Out] out PropVariant pDst, [In] ref ManagedPropVariant pSrc);