Поделиться через


Идентификаторы рабочих очередей

Следующие константы определяют стандартные рабочие очереди Media Foundation.

Приложения должны использовать MFASYNC_CALLBACK_QUEUE_MULTITHREADED или рабочую очередь, полученную из MFLockSharedWorkQueue , если они хотят контролировать приоритет выполнения. Обратите внимание, что приоритеты рабочих очередей платформы по умолчанию могут динамически изменяться, когда приложение вызывает RegisterPlatformWithMMCSS. Дополнительные сведения о рабочих очередях см. в разделе Рабочие очереди.

Констант/значение Описание
MFASYNC_CALLBACK_QUEUE_STANDARD
0x00000001
В большинстве случаев приложения должны использовать MFASYNC_CALLBACK_QUEUE_MULTITHREADED.
Эта рабочая очередь используется для синхронных операций. Использование стандартной рабочей очереди может привести к риску взаимоблокировки. Приложения могут создавать частную синхронную очередь поверх многопоточной очереди с помощью MFAllocateSerialWorkQueue.
MFASYNC_CALLBACK_QUEUE_RT
0x00000002
Не для общего использования приложения.
MFASYNC_CALLBACK_QUEUE_IO
0x00000003
Не для общего использования приложения.
Эта рабочая очередь используется внутри для операций ввода-вывода, таких как чтение файлов и чтение из сети.
MFASYNC_CALLBACK_QUEUE_TIMER
0x00000004
Не для общего использования приложения.
Эта рабочая очередь используется для периодических обратных вызовов и запланированных рабочих элементов. Следующие функции помещают рабочие элементы в эту очередь:
MFASYNC_CALLBACK_QUEUE_MULTITHREADED
0x00000005
В большинстве случаев следует использовать эту многопототочную рабочую очередь.
Эта рабочая очередь используется для асинхронных операций в Media Foundation.
MFASYNC_CALLBACK_QUEUE_LONG_FUNCTION
0x00000007
Не для общего использования приложения. Вместо этого приложения должны использовать MFASYNC_CALLBACK_QUEUE_MULTITHREADED.

Кроме того, следующие константы используются в связи с рабочими очередями.

Констант/значение Описание
MFASYNC_CALLBACK_QUEUE_UNDEFINED
0x00000000
Неопределенная рабочая очередь.
MFASYNC_CALLBACK_QUEUE_PRIVATE_MASK
0xFFFF0000
Битовая маска для отличия рабочих очередей платформы от созданных путем вызова MFAllocateWorkQueue.
Для рабочей очереди, созданной MFAllocateWorkQueue, следующее значение не равно нулю:
(identifier & MFASYNC_CALLBACK_QUEUE_PRIVATE_MASK)
MFASYNC_CALLBACK_QUEUE_ALL
0xFFFFFFFF
Все рабочие очереди платформы.

Требования

Требование Значение
Минимальная версия клиента
Windows Vista [только классические приложения]
Минимальная версия сервера
Windows Server 2008 [только классические приложения]
Заголовок
Mfobjects.h (включая Mfidl.h)

См. также раздел

Константы Media Foundation

Рабочие очереди

Улучшения рабочих очередей и потоков