MFPutWaitingWorkItem-Funktion (mfapi.h)
Stellt ein Arbeitselement in die Warteschlange, das wartet, bis ein Ereignis signalisiert wird.
Syntax
HRESULT MFPutWaitingWorkItem(
[in] HANDLE hEvent,
[in] LONG Priority,
[in] IMFAsyncResult *pResult,
[out] MFWORKITEM_KEY *pKey
);
Parameter
[in] hEvent
Ein Handle für ein Ereignisobjekt. Um ein Ereignisobjekt zu erstellen, rufen Sie CreateEvent oder CreateEventEx auf.
[in] Priority
Die Priorität des Arbeitselements. Arbeitselemente werden in der Reihenfolge der Priorität ausgeführt.
[in] pResult
Ein Zeiger auf die IMFAsyncResult-Schnittstelle eines asynchronen Ergebnisobjekts. Um das Ergebnisobjekt zu erstellen, rufen Sie MFCreateAsyncResult auf.
[out] pKey
Empfängt einen Schlüssel, mit dem die Wartezeit abgebrochen werden kann. Um die Wartezeit abzubrechen, rufen Sie MFCancelWorkItem auf, und übergeben Sie diesen Schlüssel im Key-Parameter .
Dieser Parameter kann NULL sein.
Rückgabewert
Wenn diese Funktion erfolgreich ist, gibt sie S_OK zurück. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.
Hinweise
Mit dieser Funktion kann eine Komponente auf ein Ereignis warten, ohne den aktuellen Thread zu blockieren.
Die Funktion platziert ein Arbeitselement in der angegebenen Arbeitswarteschlange. Dieses Arbeitselement wartet, bis das in hEvent angegebene Ereignis signalisiert wird. Wenn das Ereignis signalisiert wird, ruft das Arbeitselement einen Rückruf auf. (Der Rückruf ist im Ergebnisobjekt enthalten, das in pResult angegeben ist. Weitere Informationen finden Sie unter MFCreateAsyncResult).
Das Arbeitselement wird von der IMFAsyncCallback::GetParameters-Methode des Rückrufs in einer Arbeitswarteschlange verteilt. Die Arbeitswarteschlange kann wie folgt aussehen:
- Die Standardarbeitswarteschlange (MFASYNC_CALLBACK_QUEUE_STANDARD).
- Die Plattform-Multithreadwarteschlange (MFASYNC_CALLBACK_QUEUE_MULTITHREADED).
- Eine Multithreadwarteschlange, die von der MFLockSharedWorkQueue-Funktion zurückgegeben wird.
- Eine serielle Warteschlange, die von der MFAllocateSerialWorkQueue-Funktion erstellt wird.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8 [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2012 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | mfapi.h |
DLL | Mfplat.dll |