ThrowOnFailure() public static method

public static ThrowOnFailure ( int hr ) : int
hr int
return int
Beispiel #1
0
        public static IVsTextLines GetBuffer(this IVsTextView textViewAdapter)
        {
            IVsTextLines vsTextLines;

            ErrorHelper.ThrowOnFailure(textViewAdapter.GetBuffer(out vsTextLines));
            return(vsTextLines);
        }
Beispiel #2
0
        private static string GetFilePath(IPersistFileFormat persistFileFormat)
        {
            string filePath;
            uint   formatIndex;

            ErrorHelper.ThrowOnFailure(persistFileFormat.GetCurFile(out filePath, out formatIndex));
            return(filePath);
        }
Beispiel #3
0
            public void Dispose()
            {
                ThreadHelper.ThrowIfNotOnUIThread();
                _runningDocTableEvents.OnDocumentWindowOnScreenChanged(this, false);
                var windowFrame2 = (IVsWindowFrame2)WindowFrame;

                ErrorHelper.ThrowOnFailure(windowFrame2.Unadvise(_cookie));
            }
Beispiel #4
0
            public WindowFrameInfo(IVsWindowFrame windowFrame, RunningDocTableEvents runningDocTableEvents)
            {
                ErrorHelper.ThrowIsNull(windowFrame, nameof(windowFrame));
                ThreadHelper.ThrowIfNotOnUIThread();

                _runningDocTableEvents = runningDocTableEvents;
                OnScreen    = true;
                WindowFrame = windowFrame;
#pragma warning disable VSSDK002 // Visual Studio service should be used on main thread explicitly.
                var windowFrame2 = (IVsWindowFrame2)windowFrame;
                ErrorHelper.ThrowOnFailure(windowFrame2.Advise(this, out _cookie));
#pragma warning restore VSSDK002 // Visual Studio service should be used on main thread explicitly.
                _runningDocTableEvents.OnDocumentWindowOnScreenChanged(this, true);
            }
Beispiel #5
0
        public static IWpfTextView ToIWpfTextView(this IVsTextView vsTextView)
        {
            object      obj2;
            IVsUserData data = vsTextView as IVsUserData;

            if (data == null)
            {
                return(null);
            }
            Guid guidIWpfTextViewHost = GuidIWpfTextViewHost;

            ErrorHelper.ThrowOnFailure(data.GetData(ref guidIWpfTextViewHost, out obj2));
            IWpfTextViewHost host = obj2 as IWpfTextViewHost;

            return(host.TextView);
        }
Beispiel #6
0
        public static ITextView ToITextView(this IVsTextView vsTextView)
        {
            object      obj2;
            IVsUserData data = vsTextView as IVsUserData;

            if (data == null)
            {
                throw new InvalidOperationException("The IVsTextView shims should allow us to cast to IVsUserData");
            }
            Guid guidIWpfTextViewHost = GuidIWpfTextViewHost;

            ErrorHelper.ThrowOnFailure(data.GetData(ref guidIWpfTextViewHost, out obj2));
            IWpfTextViewHost host = obj2 as IWpfTextViewHost;

            return(host.TextView);
        }
Beispiel #7
0
        public static ITextBuffer ToITextBuffer(this IVsTextBuffer vsTextBuffer)
        {
            object      obj2;
            IVsUserData data = vsTextBuffer as IVsUserData;

            if (data == null)
            {
                throw new InvalidOperationException("The shims should allow us to cast to IVsUserData");
            }
            Guid guidIVxTextBuffer = GuidIVxTextBuffer;

            ErrorHelper.ThrowOnFailure(data.GetData(ref guidIVxTextBuffer, out obj2));
            ITextBuffer buffer = obj2 as ITextBuffer;

            if (buffer == null)
            {
                throw new InvalidOperationException("user data doesnt implement the interface");
            }
            return(buffer);
        }
Beispiel #8
0
        public static bool Navigate(this IServiceProvider serviceProvider, string path, int line, int column)
        {
            Guid logicalView = VSConstants.LOGVIEWID_TextView;

            if (VsShellUtilities.ShellIsShuttingDown)
            {
                return(false);
            }

            var vsUIShellOpenDocument = (IVsUIShellOpenDocument)serviceProvider.GetService(typeof(IVsUIShellOpenDocument));

            if (vsUIShellOpenDocument == null)
            {
                return(false);
            }

            Guid guid = logicalView;

            Microsoft.VisualStudio.OLE.Interop.IServiceProvider serviceProviderRet;
            IVsUIHierarchy vsUIHierarchy;
            uint           pItemId;
            IVsWindowFrame vsWindowFrame;

            if (ErrorHelper.Failed(vsUIShellOpenDocument.OpenDocumentViaProject(path, ref guid, out serviceProviderRet, out vsUIHierarchy, out pItemId, out vsWindowFrame)) || vsWindowFrame == null)
            {
                return(false);
            }

            object obj;

            vsWindowFrame.GetProperty(-4004, out obj);
            var vsTextBuffer = obj as VsTextBuffer;

            if (vsTextBuffer == null)
            {
                IVsTextBufferProvider vsTextBufferProvider = obj as IVsTextBufferProvider;
                if (vsTextBufferProvider != null)
                {
                    IVsTextLines vsTextLines;
                    ErrorHelper.ThrowOnFailure(vsTextBufferProvider.GetTextBuffer(out vsTextLines));
                    vsTextBuffer = vsTextLines as VsTextBuffer;
                    if (vsTextBuffer == null)
                    {
                        return(false);
                    }
                }
            }

            var vsTextManager = (IVsTextManager)serviceProvider.GetService(typeof(VsTextManagerClass));

            if (vsTextManager == null)
            {
                return(false);
            }

            if (column > 0)
            {
                column--;
            }

            if (line > 0)
            {
                line--;
            }

            return(ErrorHelper.Succeeded(vsTextManager.NavigateToLineAndColumn(vsTextBuffer, ref logicalView, line, column, line, column)));
        }