MFPutWaitingWorkItem 函数 (mfapi.h)

将等待事件发出信号的工作项排入队列。

Syntax

HRESULT MFPutWaitingWorkItem(
  [in]  HANDLE         hEvent,
  [in]  LONG           Priority,
  [in]  IMFAsyncResult *pResult,
  [out] MFWORKITEM_KEY *pKey
);

参数

[in] hEvent

事件对象的句柄。 若要创建事件对象,请调用 CreateEventCreateEventEx

[in] Priority

工作项的优先级。 工作项按优先级顺序执行。

[in] pResult

指向异步结果对象的 IMFAsyncResult 接口的指针。 若要创建结果对象,请调用 MFCreateAsyncResult

[out] pKey

接收可用于取消等待的密钥。 若要取消等待,请调用 MFCancelWorkItem 并在 Key 参数中传递此密钥。

此参数可以为 NULL

返回值

如果此函数成功,它将返回 S_OK。 否则,它将返回 HRESULT 错误代码。

注解

此函数使组件可以等待事件而不阻止当前线程。

该函数将工作项放在指定的工作队列上。 此工作项等待 hEvent 中给定的事件发出信号。 发出事件信号后,工作项将调用回调。 (回调包含在 pResult 中给出的结果对象中。有关详细信息,请参阅 MFCreateAsyncResult

工作项由 回调的 IMFAsyncCallback::GetParameters 方法在工作队列上调度。 工作队列可以是以下任一项:

请勿使用以下任何工作队列: MFASYNC_CALLBACK_QUEUE_IOMFASYNC_CALLBACK_QUEUE_LONG_FUNCTIONMFASYNC_CALLBACK_QUEUE_RTMFASYNC_CALLBACK_QUEUE_TIMER

要求

Requirement 价值
最低支持的客户端 Windows 8 [桌面应用 |UWP 应用]
支持的最低服务器 Windows Server 2012 [桌面应用 |UWP 应用]
目标平台 Windows操作系统
Header mfapi.h
Library Mfplat.lib
DLL Mfplat.dll

另请参阅

Media Foundation Functions

工作队列和线程处理改进

工作队列