Compartilhar via


DkmTask Class

Definition

Represents either a managed TPL task or a native Concurrency Runtime task.

public ref class DkmTask : Microsoft::VisualStudio::Debugger::DkmDataContainer, IDisposable
[System.Runtime.InteropServices.Guid("91470324-c843-bec3-2050-7c9e644c28d7")]
public class DkmTask : Microsoft.VisualStudio.Debugger.DkmDataContainer, IDisposable
[<System.Runtime.InteropServices.Guid("91470324-c843-bec3-2050-7c9e644c28d7")>]
type DkmTask = class
    inherit DkmDataContainer
    interface IDisposable
Public Class DkmTask
Inherits DkmDataContainer
Implements IDisposable
Inheritance
Inheritance
Attributes
Implements

Properties

CompletedTime

The time since debugging started that this task completed. The time is in seconds.

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

ContinuationFrames

[Optional] The continuation frames of this task, if any.

This API was introduced in Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8).

Duration

The current task duration in seconds.

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

[Optional] The location frame of the task.

This API was introduced in Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8).

ParentTaskId

ID of parent task, 0 if there is no parent task.

ReturnStatus

The return status of the task or unknown if the task has not completed.

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

StackSegment

Represents stack segment that task applies to. AddressOriginalMin <= AddressMin <= AddressMax <= AddressOriginalMax.

StartTime

The time since debugging started that this task started. The time is in seconds.

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

TaskId

Identifier for this particular instance.

TaskProvider

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

Thread

[Optional] DkmThread represents a thread running in the target process.

Methods

Close()

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

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

Create(DkmTaskProvider, DkmThread, UInt64, UInt64, DkmTaskStackSegment, DkmDataItem)

This method is called to represent a task on a specific thread.

Create(DkmTaskProvider, DkmThread, UInt64, UInt64, DkmTaskStackSegment, DkmTaskReturnStatus, Double, Double, Double, DkmDataItem)

This method is called to represent a task on a specific thread.

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

Create(DkmTaskProvider, DkmThread, UInt64, UInt64, DkmTaskStackSegment, DkmTaskReturnStatus, Double, Double, Double, DkmManagedReturnStackFrame, ReadOnlyCollection<DkmManagedReturnStackFrame>, DkmDataItem)

This method is called to represent a task on a specific thread.

This API was introduced in Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8).

GetChildTasks()

Returns children tasks.

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

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

TODO.

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

GetTaskProperties(UInt32, Int32, DkmTaskProperties)

Returns task properties.

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