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 を使用してタスクを管理するため、Run は必要ありません。 この場合、その他のメソッド (Kill、 Resume、 Suspend) は省略可能ですが、実装されている場合はシステムによって使用されます。
このインターフェイスは直接呼び出しません。 IRunnableTask は、アプリケーションがこのインターフェイスを認識していることを確認した場合にのみ、オペレーティング システムによって使用されます。
IRunnableTask は、 IUnknown と、リストされている 5 つのメソッドを実装します。
要件
サポートされている最小のクライアント | Windows 2000 Professional、Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | shobjidl_core.h (Shobjidl.h を含む) |