IRunnableTask 接口 (shobjidl_core.h)
一个自由线程接口,对象可以公开该接口,以允许在后台线程上执行操作。 例如,如果 IExtractImage::GetLocation 方法返回E_PENDING,则允许调用应用程序在后台线程上提取图像。
继承
IRunnableTask 接口继承自 IUnknown 接口。 IRunnableTask 还具有以下类型的成员:
方法
IRunnableTask 接口包含以下方法。
IRunnableTask::IsRunning 请求有关任务状态的信息,例如缩略图提取。 |
IRunnableTask::Kill 请求停止任务。 |
IRunnableTask::Resume 请求恢复任务。 |
IRunnableTask::Run 请求任务开始。 |
IRunnableTask::Suspend 请求挂起任务。 |
注解
如果命名空间扩展是自由线程的,并且你希望允许任务(如图标提取)由计划程序管理,则实现 IRunnableTask 。 必须仅实现 Run 和 IsRunning 方法。 如果不想实现 Kill、 Resume 和 Suspend,只需让它们返回E_NOTIMPL。
如果使用 IRunnableTask 在后台线程上提取图像,也就是说,如果对象公开 了 IExtractImage,则不需要 运行 ,因为系统将使用 IExtractImage::Extract 来管理任务。 在这种情况下, (Kill、 Resume 和 Suspend) 的其他方法是可选的,但如果它们已实现,系统将使用这些方法。
不直接调用此接口。 仅当操作系统确认应用程序知道此接口时,才会使用 IRunnableTask。
IRunnableTask 实现 IUnknown 以及列出的五个方法。
请注意Windows Vista 及更高版本。 在 Windows Vista 之前,此接口在 Shlobj.h 中声明。
要求
最低受支持的客户端 | Windows 2000 专业版、Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | shobjidl_core.h (包括 Shobjidl.h) |