Share via


IVsTaskSchedulerService Interface

Definition

Creates and interacts with Asynchrous task blocks.

public interface class IVsTaskSchedulerService
public interface class IVsTaskSchedulerService
__interface IVsTaskSchedulerService
public interface IVsTaskSchedulerService
[System.Runtime.InteropServices.Guid("83CFBAAF-0DF9-403D-AE42-E738F0AC9735")]
[System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)]
public interface IVsTaskSchedulerService
type IVsTaskSchedulerService = interface
[<System.Runtime.InteropServices.Guid("83CFBAAF-0DF9-403D-AE42-E738F0AC9735")>]
[<System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)>]
type IVsTaskSchedulerService = interface
Public Interface IVsTaskSchedulerService
Attributes

Remarks

This interface is safe to access from any thread.

Methods

ContinueWhenAllCompleted(UInt32, UInt32, IVsTask[], IVsTaskBody)

Creates an asynchrous task that is run after all the provided tasks have either finished running or have been cancelled.

ContinueWhenAllCompletedEx(UInt32, UInt32, IVsTask[], UInt32, IVsTaskBody, Object)

Creates a task (using the specified options) that is run after all the given tasks are completed.

CreateTask(UInt32, IVsTaskBody)

Creates a task that is run on the given context.

CreateTaskCompletionSource()

Creates a task completion source instance that can be used to start a task, or can cancel or append continuations.

CreateTaskCompletionSourceEx(UInt32, Object)

Creates a task completion source instance with the specified options.

CreateTaskEx(UInt32, UInt32, IVsTaskBody, Object)

Creates a task with the specified options that is run on the given context.

Extension Methods

ContinueWhenAllCompleted(IVsTaskSchedulerService, VsTaskRunContext, IVsTask[], IVsTaskBody)

Override for IVsTaskSchedulerService.ContinueWhenAllCompleted to use proper enum types.

ContinueWhenAllCompleted(IVsTaskSchedulerService, VsTaskRunContext, IVsTask[], VsTaskContinuationOptions, IVsTaskBody, Object)

Override for IVsTaskSchedulerService.ContinueWhenAllCompletedEx to use proper enum types.

CreateTask(IVsTaskSchedulerService, VsTaskRunContext, IVsTaskBody)

Override for IVsTaskSchedulerService.CreateTask to use proper enum types.

CreateTask(IVsTaskSchedulerService, VsTaskRunContext, VsTaskCreationOptions, IVsTaskBody, Object)

Override for IVsTaskSchedulerService.CreateTaskEx to use proper enum types.

CreateTaskCompletionSource(IVsTaskSchedulerService, VsTaskCreationOptions, Object)

Override for IVsTaskSchedulerService.CreateTaskCompletionSourceEx to use proper enum types.

InvokeAsync<T>(IVsTaskSchedulerService, VsInvokableAsyncFunction<T>)

Helper function that transforms a TPL task from an async function into an IVsTask.

Yield(IVsTaskSchedulerService, VsTaskRunContext, IVsTaskCompletionSource)

Yields the current operation on the thread, the rest of the async method will be scheduled as a continuation.

Applies to