Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Stellt eine Arbeitsaufgabe in die Warteschlange, die darauf wartet, dass ein Ereignis signalisiert wird.
Syntax
HRESULT MFPutWaitingWorkItem(
[in] HANDLE hEvent,
[in] LONG Priority,
[in] IMFAsyncResult *pResult,
[out] MFWORKITEM_KEY *pKey
);
Die Parameter
[in] hEvent
Ein Handle für ein Ereignisobjekt. Zum Erstellen eines Ereignisobjekts rufen Sie CreateEvent oder CreateEventEx auf.
[in] Priority
Die Priorität der Arbeitsaufgabe. Arbeitsaufgaben werden in der Reihenfolge der Priorität ausgeführt.
[in] pResult
Ein Zeiger auf die IMFAsyncResult-Schnittstelle eines asynchronen Ergebnisobjekts. Rufen Sie zum Erstellen des Ergebnisobjekts MFCreateAsyncResult auf.
[out] pKey
Empfängt einen Schlüssel, der zum Abbrechen der Wartezeit verwendet werden kann. Rufen Sie zum Abbrechen der Wartezeit MFCancelWorkItem auf, und übergeben Sie diesen Schlüssel im Key-Parameter .
Dieser Parameter kann NULL sein.
Rückgabewert
Wenn diese Funktion erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein HRESULT-Fehlercode zurückgegeben.
Bemerkungen
Mit dieser Funktion kann eine Komponente auf ein Ereignis warten, ohne den aktuellen Thread zu blockieren.
Die Funktion fügt eine Arbeitsaufgabe in die angegebene Arbeitswarteschlange ein. Diese Arbeitsaufgabe wartet auf das ereignis, das in hEvent angegeben wurde, um signalisiert zu werden. Wenn das Ereignis signalisiert wird, ruft die Arbeitsaufgabe einen Rückruf auf. (Der Rückruf ist im in pResult angegebenen Ergebnisobjekt enthalten. Weitere Informationen finden Sie unter MFCreateAsyncResult).
Die Arbeitsaufgabe wird von der IMFAsyncCallback::GetParameters-Methode des Rückrufs in einer Arbeitswarteschlange verteilt. Die Arbeitswarteschlange kann eine der folgenden Sein:
- Die Standardarbeitswarteschlange (MFASYNC_CALLBACK_QUEUE_STANDARD).
- Die Multithread-Warteschlange der Plattform (MFASYNC_CALLBACK_QUEUE_MULTITHREADED).
- Eine von der MFLockSharedWorkQueue-Funktion zurückgegebene Multithread-Warteschlange.
- Eine serielle Warteschlange, die von der Funktion MFAllocateSerialWorkQueue erstellt wird.
Anforderungen
| Anforderung | Wert |
|---|---|
| Mindestens unterstützter Client | Windows 8 [Desktop-Apps | UWP-Apps] |
| Mindestanforderungen für unterstützte Server | Windows Server 2012 [Desktop-Apps | UWP-Apps] |
| Zielplattform | Fenster |
| Header | mfapi.h |
| Library | Mfplat.lib |
| DLL | Mfplat.dll |