Share via


MFAllocateWorkQueueEx 函式 (mfapi.h)

建立新的工作佇列。 此函式可藉由建立具有訊息迴圈的工作佇列,來擴充 MFAllocateWorkQueue 函式的功能。

語法

HRESULT MFAllocateWorkQueueEx(
  [in]  MFASYNC_WORKQUEUE_TYPE WorkQueueType,
  [out] DWORD                  *pdwWorkQueue
);

參數

[in] WorkQueueType

MFASYNC_WORKQUEUE_TYPE列舉的成員,指定要建立的工作佇列類型。

意義
MF_MULTITHREADED_WORKQUEUE
建立多線程工作佇列。 一般而言,應用程式不應該建立私人多線程佇列。 請改用平臺多線程佇列。 如需詳細資訊,請參閱 工作佇列和線程改善
MF_STANDARD_WORKQUEUE
建立不含訊息迴圈的工作佇列。 使用此旗標相當於呼叫 MFAllocateWorkQueue
MF_WINDOW_WORKQUEUE
使用訊息迴圈建立工作佇列。 分派此佇列工作項目的線程也會呼叫 PeekMessageDispatchMessage。 如果您的回呼執行任何需要訊息循環的動作,請使用此選項。

[out] pdwWorkQueue

接收已建立之工作佇列的標識碼。

傳回值

函式會傳回 HRESULT。 可能的值包括 (但不限於) 下表中的這些值。

傳回碼 描述
S_OK
此函數已成功。
E_FAIL
應用程式超過工作佇列的數目上限。
E_INVALIDARG
無效引數。
MF_E_SHUTDOWN
應用程式未呼叫 MFStartup,或應用程式已經呼叫 MFShutdown

備註

當您使用工作佇列完成時,請呼叫 MFUnlockWorkQueue

MFAllocateWorkQueue 函式相當於使用 WorkQueueType 參數的值MF_STANDARD_WORKQUEUE呼叫 MFAllocateWorkQueueEx

如果已安裝適用於 Windows Vista 的平臺更新補充,此函式可在 Windows Vista 上使用。

規格需求

需求
最低支援的用戶端 適用於 Windows Vista 的 Windows 7、Windows Vista 和平臺更新補充 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 R2 [僅限桌面應用程式]
目標平台 Windows
標頭 mfapi.h
程式庫 Mfplat.lib
Dll Mfplat.dll

另請參閱

MFPutWorkItem

MFPutWorkItemEx

媒體基礎函式

工作佇列