示例#1
0
 private void Unregister()
 {
     if (taskList != null)
     {
         taskList.RefreshTasks(cookie);
         taskList.UnregisterTaskProvider(cookie);
         taskList = null;
     }
 }
示例#2
0
 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);
 }
示例#3
0
 int IVsTaskProvider2.OnTaskListFinalRelease(Microsoft.VisualStudio.Shell.Interop.IVsTaskList pTaskList)
 {
     Dispose(true);
     return(VSConstants.S_OK);
 }