internal static UnsafeNativeMethods.ITfCompositionView GetCurrentCompositionView(UnsafeNativeMethods.ITfDocumentMgr documentMgr) { UnsafeNativeMethods.ITfContext context; documentMgr.GetBase(out context); UnsafeNativeMethods.ITfCompositionView view = GetComposition(context); Marshal.ReleaseComObject(context); return view; }
internal static void CompleteCurrentComposition(UnsafeNativeMethods.ITfDocumentMgr documentMgr) { UnsafeNativeMethods.ITfContext context; documentMgr.GetBase(out context); UnsafeNativeMethods.ITfCompositionView composition = GetComposition(context); if (composition != null) { UnsafeNativeMethods.ITfContextOwnerCompositionServices compositionService = context as UnsafeNativeMethods.ITfContextOwnerCompositionServices; // Terminate composition if there is a composition view. compositionService.TerminateComposition(composition); Marshal.ReleaseComObject(composition); } Marshal.ReleaseComObject(context); }