MFAllocateWorkQueueEx-Funktion (mfapi.h)

Erstellt eine neue Arbeitswarteschlange. Diese Funktion erweitert die Funktionen der MFAllocateWorkQueue-Funktion , indem sie es ermöglicht, eine Arbeitswarteschlange mit einer Nachrichtenschleife zu erstellen.

Syntax

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

Parameter

[in] WorkQueueType

Ein Member der MFASYNC_WORKQUEUE_TYPE-Enumeration , der den Typ der zu erstellenden Arbeitswarteschlange angibt.

Wert Bedeutung
MF_MULTITHREADED_WORKQUEUE
Erstellen Sie eine Multithread-Arbeitswarteschlange. Im Allgemeinen sollten Anwendungen keine privaten Multithreadwarteschlangen erstellen. Verwenden Sie stattdessen die Plattform-Multithread-Warteschlangen. Weitere Informationen finden Sie unter Verbesserungen bei Arbeitswarteschlange und Threading.
MF_STANDARD_WORKQUEUE
Erstellen Sie eine Arbeitswarteschlange ohne Nachrichtenschleife. Die Verwendung dieses Flags entspricht dem Aufrufen von MFAllocateWorkQueue.
MF_WINDOW_WORKQUEUE
Erstellen Sie eine Arbeitswarteschlange mit einer Nachrichtenschleife. Der Thread, der die Arbeitselemente für diese Warteschlange verteilt, ruft auch PeekMessage und DispatchMessage auf. Verwenden Sie diese Option, wenn Ihr Rückruf Aktionen ausführt, die eine Nachrichtenschleife erfordern.

[out] pdwWorkQueue

Empfängt einen Bezeichner für die erstellte Arbeitswarteschlange.

Rückgabewert

Die Funktion gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.

Rückgabecode BESCHREIBUNG
S_OK
Die Funktion wurde erfolgreich ausgeführt.
E_FAIL
Die Anwendung hat die maximale Anzahl von Arbeitswarteschlangen überschritten.
E_INVALIDARG
Ungültiges Argument.
MF_E_SHUTDOWN
Die Anwendung hat MFStartup nicht aufgerufen, oder die Anwendung hat bereits MFShutdown aufgerufen.

Hinweise

Wenn Sie mit der Verwendung der Arbeitswarteschlange fertig sind, rufen Sie MFUnlockWorkQueue auf.

Die MFAllocateWorkQueue-Funktion entspricht dem Aufrufen von MFAllocateWorkQueueEx mit dem Wert MF_STANDARD_WORKQUEUE für den WorkQueueType-Parameter .

Diese Funktion ist unter Windows Vista verfügbar, wenn das Plattformupdate-Supplement für Windows Vista installiert ist.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Ergänzung zu Windows 7, Windows Vista und Plattformupdates für Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile mfapi.h
Bibliothek Mfplat.lib
DLL Mfplat.dll

Weitere Informationen

MFPutWorkItem

MFPutWorkItemEx

Media Foundation-Funktionen

Arbeitswarteschlangen