MFLockSharedWorkQueue 関数 (mfapi.h)
共有作業キューを取得してロックします。
構文
HRESULT MFLockSharedWorkQueue(
[in] PCWSTR wszClass,
[in] LONG BasePriority,
[in, out] DWORD *pdwTaskId,
[out] DWORD *pID
);
パラメーター
[in] wszClass
MMCSS タスクの名前。
[in] BasePriority
作業キュー スレッドの基本優先度。
通常の優先度のキューが使用されている場合 (wszClass="")、値 0 を渡す必要があります。
[in, out] pdwTaskId
MMCSS タスク識別子。 入力時に、既存の MCCSS タスク グループ ID を指定するか、値 0 を使用して新しいタスク グループを作成します。 通常の優先度キューが使用されている場合 (wszClass="")、 NULL を 渡す必要があります。 出力時に、 は実際のタスク グループ ID を受け取ります。
[out] pID
新しい作業キューの識別子を受け取ります。 この識別子は、作業項目をキューに入れたときに使用します。
戻り値
この関数が成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。
解説
マルチスレッド作業キューは、スレッド プールを使用して作業項目をディスパッチします。 スレッドが使用可能になると、キューから次の作業項目がデキューされます。 作業項目は先入れ先出し順でデキューされますが、作業項目はシリアル化されません。 つまり、作業キューは、次の作業項目を開始する前に、作業項目が完了するまで待機しません。
1 つのプロセス内で、Microsoft Media Foundation プラットフォームは、マルチメディア クラス スケジューラ サービス (MMCSS) タスクごとに最大 1 つのマルチスレッド キューを作成します。 MFLockSharedWorkQueue 関数は、一致する作業キューが既に存在するかどうかを確認します。 そうでない場合、関数は新しい作業キューを作成し、作業キューを MMCSS に登録します。 関数は、MMCSS タスク識別子 (pdwTaskId) と作業キュー識別子 (pID) を返します。 作業項目をキューに入てるには、作業キュー ID を次のいずれかの関数に渡します。
MFLockSharedWorkQueue 関数もキューをロックします。 プロセスが終了する前に、 MFUnlockWorkQueue を呼び出して作業キューのロックを解除します。通常の優先度キュー (wszClass="") が使用されている場合は、NULL を pdwTaskId に渡し、値 0 を BasePriority に渡す必要があります。
要件
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | mfapi.h |
Library | Mfplat.lib |
[DLL] | Mfplat.dll |