共用方式為


MFPutWaitingWorkItem 函式 (mfapi.h)

將等候事件發出訊號的工作專案排入佇列。

語法

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_STANDARD MFASYNC_CALLBACK_QUEUE_STANDARD) 。
  • 平臺多線程佇列 (MFASYNC_CALLBACK_QUEUE_MULTITHREADED) 。
  • MFLockSharedWorkQueue 函式傳回的多線程佇列。
  • MFAllocateSerialWorkQueue 函式所建立的序列佇列。
請勿使用下列任何工作佇列: MFASYNC_CALLBACK_QUEUE_IOMFASYNC_CALLBACK_QUEUE_LONG_FUNCTIONMFASYNC_CALLBACK_QUEUE_RTMFASYNC_CALLBACK_QUEUE_TIMER

規格需求

需求
最低支援的用戶端 Windows 8 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2012 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 mfapi.h
Dll Mfplat.dll

另請參閱

媒體基礎函式

工作佇列和線程改善

工作佇列