DkmTaskProvider Class

Definition

Represents a task provider which is loaded into the target process.

public ref class DkmTaskProvider : Microsoft::VisualStudio::Debugger::DkmDataContainer, IDisposable
[System.Runtime.InteropServices.Guid("9df33d71-fb30-91b6-43fd-15c2bdda7236")]
public class DkmTaskProvider : Microsoft.VisualStudio.Debugger.DkmDataContainer, IDisposable
[<System.Runtime.InteropServices.Guid("9df33d71-fb30-91b6-43fd-15c2bdda7236")>]
type DkmTaskProvider = class
    inherit DkmDataContainer
    interface IDisposable
Public Class DkmTaskProvider
Inherits DkmDataContainer
Implements IDisposable
Inheritance
Attributes
Implements

Properties

AdditionalCapabilities

Flags describing additional information that this Task Provider can supply, such as timestamps.

This API was introduced in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

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)
Name

Task name e.g. Chore or Task.

Process

DkmProcess represents a target process which is being debugged. The debugger debugs processes, so this is the basic unit of debugging. A DkmProcess can represent a system process or a virtual process such as minidumps.

RuntimeInstance

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

TaskProviderId

Extensible GUID indicating the task provider which a task is from.

UniqueId

Identifier for this particular instance.

Methods

Close()

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

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

Create(Guid, String, DkmRuntimeInstance, DkmDataItem)

This method is called a task provider component to create a DkmTaskProvider object. It may be called in response to a call to InitializeTaskProviders call, or to a module/app domain load event.

This method will send a TaskProviderCreate event.

Create(Guid, String, DkmRuntimeInstance, DkmTaskProviderCapabilityFlags, DkmDataItem)

This method is called a task provider component to create a DkmTaskProvider object. It may be called in response to a call to InitializeTaskProviders call, or to a module/app domain load event.

This method will send a TaskProviderCreate event.

This API was introduced in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

FindTask(UInt64)

Find a DkmTask element within this DkmTaskProvider. If no element with the given input key is present, FindTask will fail.

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)
GetPropertyNames()

TODO.

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

GetTasks(Boolean, UInt32, UInt32, DkmTask[], UInt32)

Enumerates the current set of tasks running in the target process. Note: deprecated in favor of DkmTaskProviderOperationContext.GetTasksAsync.

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

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()

To be added.

Applies to