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