DkmTaskProviderOperationContext Class

Definition

Context object used for potentially long-running task provider operations to allow for progress reporting.

This API was introduced in Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5).

public ref class DkmTaskProviderOperationContext : Microsoft::VisualStudio::Debugger::DkmDataContainer, IDisposable
[System.Runtime.InteropServices.Guid("9871e825-04c1-5a5b-141a-e987d641d182")]
public class DkmTaskProviderOperationContext : Microsoft.VisualStudio.Debugger.DkmDataContainer, IDisposable
[<System.Runtime.InteropServices.Guid("9871e825-04c1-5a5b-141a-e987d641d182")>]
type DkmTaskProviderOperationContext = class
    inherit DkmDataContainer
    interface IDisposable
Public Class DkmTaskProviderOperationContext
Inherits DkmDataContainer
Implements IDisposable
Inheritance
DkmTaskProviderOperationContext
Attributes
Implements

Properties

IsUnloaded

Returns true if a 'unloaded' event has been raised for this object (example: DkmThread::Unload is called) or if the object has been closed. Note that care must be used when checking this status as, without synchronization, the returned status may no longer be accurate the instruction after it is read.

(Inherited from DkmDataContainer)
RuntimeInstance

The DkmRuntimeInstance class represents an execution environment which is loaded into a DkmProcess and which contains code to be debugged.

This API was introduced in Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5).

SourceId

Identifies the creator of the operation context. This is used for filtering for IDkmTaskProviderOperationProgressNotification. If the caller doesn't want to receive progress notifications, this can be set to Guid.Empty (GUID_NULL).

This API was introduced in Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5).

TaskProvider

The task provider that will be performing this operation.

This API was introduced in Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5).

UniqueId

Guid which uniquely identifies this task provider operation context object.

This API was introduced in Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5).

Methods

Close()

Closes a DkmTaskProviderOperationContext object instance. This will release any resources associated with this object across all components. This includes resources across computer or managed/native marshalling boundaries.

DkmTaskProviderOperationContext objects are automatically closed when their associated DkmTaskProvider object is closed.

This method may only be called by the component which created the object.

This API was introduced in Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5).

Create(DkmTaskProvider, Guid, DkmDataItem)

Create a new DkmTaskProviderOperationContext object instance. The caller is responsible for closing the created object after they are done.

Location constraint: API must be called from an IDE component (component level > 100,000).

This API was introduced in Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5).

GetDataItem<T>()

Gets the instance of 'T' which has been added to this container instance. If this container does not contain a 'T', this function will return null.

(Inherited from DkmDataContainer)
GetTasksAsync(DkmWorkList, DkmCompletionRoutine<DkmGetTasksAsyncResult>)

Enumerates the current set of tasks running in the target process.

This method will append a new work item to the specified work list, and return once the work item has been appended. The actual processing of the work item is asynchronous. The caller will be notified that the request is complete through the completion routine.

Location constraint: API must be called from an IDE component (component level > 100,000).

This API was introduced in Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5).

RemoveDataItem<T>()

Remove the instance of 'T' from this container. It is usually unnecessary to call this method as a data container will automatically be emptied when the object is closed.

(Inherited from DkmDataContainer)
SetDataItem<T>(DkmDataCreationDisposition, T)

Place a new item in the data container.

(Inherited from DkmDataContainer)

Explicit Interface Implementations

IDisposable.Dispose()

Applies to