private void Unregister() { if (taskList != null) { taskList.RefreshTasks(cookie); taskList.UnregisterTaskProvider(cookie); taskList = null; } }
private uint Register() { if (taskList == null) { Microsoft.VisualStudio.OLE.Interop.IServiceProvider serviceProvider = (Microsoft.VisualStudio.OLE.Interop.IServiceProvider)Site.GetService(typeof(Microsoft.VisualStudio.OLE.Interop.IServiceProvider)); Guid SID_SVsTaskList = typeof(Microsoft.VisualStudio.Shell.Interop.SVsTaskList).GUID; Guid IID_IVsTaskList = typeof(Microsoft.VisualStudio.Shell.Interop.IVsTaskList).GUID; System.IntPtr objectTaskList = IntPtr.Zero; serviceProvider.QueryService(ref SID_SVsTaskList, ref IID_IVsTaskList, out objectTaskList); taskList = Marshal.GetObjectForIUnknown(objectTaskList) as IVsTaskList; } if (taskList != null) { taskList.RegisterTaskProvider(this, out cookie); } else { throw new InvalidOperationException(Properties.Resources.TaskList_CannotRegister); } return(cookie); }
int IVsTaskProvider2.OnTaskListFinalRelease(Microsoft.VisualStudio.Shell.Interop.IVsTaskList pTaskList) { Dispose(true); return(VSConstants.S_OK); }