MFPutWaitingWorkItem 関数 (mfapi.h)
イベントが通知されるのを待つ作業項目をキューに入れます。
構文
HRESULT MFPutWaitingWorkItem(
[in] HANDLE hEvent,
[in] LONG Priority,
[in] IMFAsyncResult *pResult,
[out] MFWORKITEM_KEY *pKey
);
パラメーター
[in] hEvent
イベント オブジェクトへのハンドル。 イベント オブジェクトを作成するには、 CreateEvent または CreateEventEx を呼び出 します。
[in] Priority
作業項目の優先度。 作業項目は優先度順に実行されます。
[in] pResult
非同期結果オブジェクトの IMFAsyncResult インターフェイスへのポインター。 結果オブジェクトを作成するには、 MFCreateAsyncResult を呼び出します。
[out] pKey
待機を取り消すために使用できるキーを受け取ります。 待機を取り消すには、 MFCancelWorkItem を 呼び出し、 Key パラメーターに このキーを渡します。
このパラメーターは、NULL でもかまいません。
戻り値
この関数が成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。
注釈
この関数を使用すると、コンポーネントは現在のスレッドをブロックせずにイベントを待機できます。
関数は、指定された作業キューに作業項目を配置します。 この作業項目は、 hEvent で指定されたイベントが通知されるまで待機します。 イベントが通知されると、作業項目によってコールバックが呼び出されます。 (コールバックは、 pResult で指定された結果オブジェクトに含まれています。詳細については、「 MFCreateAsyncResult)」を参照してください。
作業項目は、コールバックの IMFAsyncCallback::GetParameters メソッドによって作業キューにディスパッチされます。 作業キューには、次のいずれかを指定できます。
- 既定の作業キュー (MFASYNC_CALLBACK_QUEUE_STANDARD)。
- プラットフォーム のマルチスレッド キュー (MFASYNC_CALLBACK_QUEUE_MULTITHREADED)。
- MFLockSharedWorkQueue 関数によって返されるマルチスレッド キュー。
- MFAllocateSerialWorkQueue 関数によって作成されたシリアル キュー。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | mfapi.h |
[DLL] | Mfplat.dll |