DkmWorkList 类

定义

一起处理的异步工作项的集合。 通过在整个 API 中调用任何异步方法来追加工作项。 可以自由追加工作项,直到工作列表开始执行。 开始执行后,只能从工作项处理接口的实现或完成例程追加其他工作。

public ref class DkmWorkList sealed : MarshalByRefObject
public sealed class DkmWorkList : MarshalByRefObject
public sealed class DkmWorkList
type DkmWorkList = class
    inherit MarshalByRefObject
type DkmWorkList = class
Public NotInheritable Class DkmWorkList
Inherits MarshalByRefObject
Public NotInheritable Class DkmWorkList
继承
DkmWorkList
继承
DkmWorkList

属性

IsCanceled

此属性允许处理工作项的组件确定该工作项是取消的,还是让完成例程确定操作是否已取消。

IsCurrentInstanceCanceled

此属性允许组件确定是否应取消当前操作。 如果从当前正在处理工作列表的线程调用,并且此工作列表已被取消,则返回 true。

如果从完成例程或当前未处理接口调用的线程调用,则会引发此事件。

方法

BeginExecution()

开始执行此工作列表中的项。 此 API 将立即返回,并触发完成例程以返回结果。 当结果完成 (无序) 时,将触发回调。

此方法只能由创建对象的组件调用。

BeginExecution(DkmWorkListExecutionThread)

开始执行此工作列表中的项。 此 API 将立即返回,并触发完成例程以返回结果。 当结果完成 (无序) 时,将触发回调。

此方法只能由创建对象的组件调用。

此 API 是在 Visual Studio 15 Update 5 (DkmApiVersion.VS15Update5) 中引入的。

BeginExecution(DkmWorkListExecutionThread, DkmWorkListPriority)

开始执行此工作列表中的项。 此 API 将立即返回,并触发完成例程以返回结果。 当结果完成 (无序) 时,将触发回调。

此方法只能由创建对象的组件调用。

此 API 是在 Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8) 中引入的。

Cancel()

取消此工作列表的执行。 此工作队列上的所有工作都停止后, (取消工作列表或完成) ,此 API 将返回。 如果已取消工作列表,则忽略该请求。 此方法只能由创建对象的组件调用。

对于在组件配置中声明为“Synchronized”的组件,请注意:调用此 API 可能会隐式释放,然后重新获取组件周围的锁。 请注意可能的状态更改。

Cancel(Boolean)

取消此工作列表的执行。 如果已取消工作列表,则忽略该请求。 此方法只能由创建对象的组件调用。

此 API 已添加到 Visual Studio 15 Update 7 (DkmApiVersion.VS15Update7)

Create(DkmWorkListCompletionRoutine)

创建新的空工作列表对象。 调用方应将操作追加到工作列表,然后开始执行 ('BeginExecution'或'Execute') 。

创建后,WorkList 对象将继续存在,直到其执行完成或请求取消为止。 因此,调用方应确保在发生故障时调用“取消”。

Create(DkmWorkListCompletionRoutine, DkmWorkListProgressRoutine)

创建新的空工作列表对象。 调用方应将操作追加到工作列表,然后开始执行 ('BeginExecution'或'Execute') 。

创建后,WorkList 对象将继续存在,直到其执行完成或请求取消为止。 因此,调用方应确保在发生故障时调用“取消”。

Execute()

同步执行工作列表中的所有项,并在处理完成或已取消时返回,包括触发所有完成例程。 当结果完成 (无序) 时,将触发回调。

此方法只能由创建对象的组件调用。 如果执行已在进行中,此方法将引发。

SetCurrentInstanceProgress(Boolean, Int32, String, String)

设置将为当前正在执行的工作列表报告的进度。 远程处理方案不支持进度报告。

此 API 是在 Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6) 中引入的。

SetDescription(String)

设置一个字符串,该字符串可用于描述操作 () 由工作列表执行。 当此工作列表阻止执行其他操作时,可以显示此内容。

此 API 是在 Visual Studio 15 Update 7 (DkmApiVersion.VS15Update7) 中引入的。

SetProgress(Boolean, Int32, String, String)

设置将为工作列表报告的进度。 远程处理方案不支持进度报告。

此 API 是在 Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6) 中引入的。

适用于