IRunnableTask 接口 (shobjidl_core.h)

一个自由线程接口,对象可以公开该接口,以允许在后台线程上执行操作。 例如,如果 IExtractImage::GetLocation 方法返回E_PENDING,则允许调用应用程序在后台线程上提取图像。

继承

IRunnableTask 接口继承自 IUnknown 接口。 IRunnableTask 还具有以下类型的成员:

方法

IRunnableTask 接口包含以下方法。

 
IRunnableTask::IsRunning

请求有关任务状态的信息,例如缩略图提取。
IRunnableTask::Kill

请求停止任务。
IRunnableTask::Resume

请求恢复任务。
IRunnableTask::Run

请求任务开始。
IRunnableTask::Suspend

请求挂起任务。

注解

如果命名空间扩展是自由线程的,并且你希望允许任务(如图标提取)由计划程序管理,则实现 IRunnableTask 。 必须仅实现 RunIsRunning 方法。 如果不想实现 KillResumeSuspend,只需让它们返回E_NOTIMPL。

如果使用 IRunnableTask 在后台线程上提取图像,也就是说,如果对象公开 了 IExtractImage,则不需要 运行 ,因为系统将使用 IExtractImage::Extract 来管理任务。 在这种情况下, (KillResumeSuspend) 的其他方法是可选的,但如果它们已实现,系统将使用这些方法。

不直接调用此接口。 仅当操作系统确认应用程序知道此接口时,才会使用 IRunnableTask

IRunnableTask 实现 IUnknown 以及列出的五个方法。

请注意Windows Vista 及更高版本。 在 Windows Vista 之前,此接口在 Shlobj.h 中声明。
 

要求

   
最低受支持的客户端 Windows 2000 专业版、Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 shobjidl_core.h (包括 Shobjidl.h)