工作队列标识符

以下常量标识标准 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
不适用于常规应用程序。
此工作队列在内部用于 I/O 操作,例如读取文件和从网络读取。
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)

另请参阅

媒体基础常量

工作队列

工作队列和线程处理改进