Поделиться через


Интерфейс 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 Professional, Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header shobjidl_core.h (включая Shobjidl.h)