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:
MFASYNC_CALLBACK_QUEUE_MULTITHREADED
0x00000005
This multithreaded work queue should be used in most cases.
This work queue is used for asynchronous operations throughout Media Foundation.
MFASYNC_CALLBACK_QUEUE_LONG_FUNCTION
0x00000007
Not for general application use. Applications should instead use MFASYNC_CALLBACK_QUEUE_MULTITHREADED.

In addition, the following constants are used in connection with work queues.

Constant/value Description
MFASYNC_CALLBACK_QUEUE_UNDEFINED
0x00000000
Undefined work queue.
MFASYNC_CALLBACK_QUEUE_PRIVATE_MASK
0xFFFF0000
Bit mask to distinguish platform work queues from those created by calling MFAllocateWorkQueue.
For a work queue created by MFAllocateWorkQueue, the following value is nonzero:
(identifier & MFASYNC_CALLBACK_QUEUE_PRIVATE_MASK)
MFASYNC_CALLBACK_QUEUE_ALL
0xFFFFFFFF
All platform work queues.

Requirements

Requirement Value
Minimum supported client
Windows Vista [desktop apps only]
Minimum supported server
Windows Server 2008 [desktop apps only]
Header
Mfobjects.h (include Mfidl.h)

See also

Media Foundation Constants

Work Queues

Work Queue and Threading Improvements