Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Получает и блокирует общую рабочую очередь.
Синтаксис
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 или используйте нулевое значение для создания новой группы задач. Если используется очередь с обычным приоритетом (wszClass=""), необходимо передать значение NULL . В выходных данных получает фактический идентификатор группы задач.
[out] pID
Получает идентификатор для новой рабочей очереди. Используйте этот идентификатор при постановке рабочих элементов в очередь.
Возвращаемое значение
Если эта функция завершается успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Многопоточность рабочей очереди использует пул потоков для отправки рабочих элементов. Всякий раз, когда поток становится доступным, он удаляет следующий рабочий элемент из очереди. Рабочие элементы выводятся из очереди в порядке "первым в очереди", но рабочие элементы не сериализуются. Иными словами, рабочая очередь не ожидает завершения рабочего элемента перед запуском следующего рабочего элемента.
В рамках одного процесса платформа Microsoft Media Foundation создает до одной многопоточной очереди для каждой задачи службы планировщика мультимедийных классов (MMCSS). Функция MFLockSharedWorkQueue проверяет, существует ли соответствующая рабочая очередь. В противном случае функция создает новую рабочую очередь и регистрирует ее в MMCSS. Функция возвращает идентификатор задачи MMCSS (pdwTaskId) и идентификатор рабочей очереди (pID). Чтобы поставить рабочий элемент в очередь, передайте идентификатор рабочей очереди в любую из следующих функций:
Функция MFLockSharedWorkQueue также блокирует очередь. Перед завершением процесса вызовите MFUnlockWorkQueue , чтобы разблокировать рабочую очередь.Если используется очередь с обычным приоритетом (wszClass=""), значение NULL должно быть передано в pdwTaskId , а значение 0 — в BasePriority.
Требования
| Минимальная версия клиента | Windows 8 [классические приложения | Приложения UWP] |
| Минимальная версия сервера | Windows Server 2012 [классические приложения | Приложения UWP] |
| Целевая платформа | Windows |
| Header | mfapi.h |
| Библиотека | Mfplat.lib |
| DLL | Mfplat.dll |