MFPutWaitingWorkItem 函式 (mfapi.h)
將等候事件發出訊號的工作專案排入佇列。
語法
HRESULT MFPutWaitingWorkItem(
[in] HANDLE hEvent,
[in] LONG Priority,
[in] IMFAsyncResult *pResult,
[out] MFWORKITEM_KEY *pKey
);
參數
[in] hEvent
事件物件的句柄。 若要建立事件物件,請呼叫 CreateEvent 或 CreateEventEx。
[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 函式所建立的序列佇列。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2012 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | mfapi.h |
Dll | Mfplat.dll |