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 メソッドのみを実装する必要があります。 KillResumeSuspend を実装しない場合は、E_NOTIMPLを返すだけです。

IRunnableTask を使用してバックグラウンド スレッド上のイメージを抽出する場合、つまり、オブジェクトが IExtractImage を公開している場合、システムは IExtractImage::Extract を使用してタスクを管理するため、Run は必要ありません。 この場合、その他のメソッド (KillResumeSuspend) は省略可能ですが、実装されている場合はシステムによって使用されます。

このインターフェイスは直接呼び出しません。 IRunnableTask は、アプリケーションがこのインターフェイスを認識していることを確認した場合にのみ、オペレーティング システムによって使用されます。

IRunnableTask は、 IUnknown と、リストされている 5 つのメソッドを実装します。

WindowsVista 以降に注意してください。 Windows Vista より前のバージョンでは、このインターフェイスは Shlobj.h で宣言されていました。
 

要件

   
サポートされている最小のクライアント Windows 2000 Professional、Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー shobjidl_core.h (Shobjidl.h を含む)