Work Queue Identifiers

The following constants identify the standard Media Foundation work queues.

Applications should use MFASYNC_CALLBACK_QUEUE_MULTITHREADED or use a work queue obtained from MFLockSharedWorkQueue if they want to control the execution priority. Note that the default platform work queue priorities can dynamically change when an application calls RegisterPlatformWithMMCSS. For more information about work queues, see Work Queues.

Constant/value

Description

MFASYNC_CALLBACK_QUEUE_STANDARD

0x00000001

In most cases, applications should use MFASYNC_CALLBACK_QUEUE_MULTITHREADED.

This work queue is used for synchronous operations. Using the standard work queue may run the risk of deadlocking. Applications can create a private synchronous queue on top of the multithreaded queue by using MFAllocateSerialWorkQueue.

MFASYNC_CALLBACK_QUEUE_RT

0x00000002

Not for general application use.

MFASYNC_CALLBACK_QUEUE_IO

0x00000003

Not for general application use.

This work queue is used internally for I/O operations such as reading files and reading from the network.

MFASYNC_CALLBACK_QUEUE_TIMER

0x00000004

Not for general application use.

This work queue is used for periodic callbacks and scheduled work items. The following functions put work items in this queue: