Fonction MFPut WaitingWorkItem (mfapi.h)
Met en file d’attente un élément de travail qui attend qu’un événement soit signalé.
Syntaxe
HRESULT MFPutWaitingWorkItem(
[in] HANDLE hEvent,
[in] LONG Priority,
[in] IMFAsyncResult *pResult,
[out] MFWORKITEM_KEY *pKey
);
Paramètres
[in] hEvent
Handle pour un objet d’événement. Pour créer un objet d’événement, appelez CreateEvent ou CreateEventEx.
[in] Priority
Priorité de l’élément de travail. Les éléments de travail sont exécutés par ordre de priorité.
[in] pResult
Pointeur vers l’interface IMFAsyncResult d’un objet de résultat asynchrone. Pour créer l’objet de résultat, appelez MFCreateAsyncResult.
[out] pKey
Reçoit une clé qui peut être utilisée pour annuler l’attente. Pour annuler l’attente, appelez MFCancelWorkItem et passez cette clé dans le paramètre Key .
Ce paramètre peut être NULL.
Valeur retournée
Si cette fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.
Remarques
Cette fonction permet à un composant d’attendre un événement sans bloquer le thread actuel.
La fonction place un élément de travail dans la file d’attente de travail spécifiée. Cet élément de travail attend que l’événement donné dans hEvent soit signalé. Lorsque l’événement est signalé, l’élément de travail appelle un rappel. (Le rappel est contenu dans l’objet de résultat donné dans pResult. Pour plus d’informations, consultez MFCreateAsyncResult).
L’élément de travail est distribué sur une file d’attente de travail par la méthode IMFAsyncCallback ::GetParameters du rappel. La file d’attente de travail peut être l’une des suivantes :
- File d’attente de travail par défaut (MFASYNC_CALLBACK_QUEUE_STANDARD).
- File d’attente multithread de plateforme (MFASYNC_CALLBACK_QUEUE_MULTITHREADED).
- File d’attente multithread retournée par la fonction MFLockSharedWorkQueue .
- File d’attente série créée par la fonction MFAllocateSerialWorkQueue .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8 [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2012 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | mfapi.h |
DLL | Mfplat.dll |
Voir aussi
Améliorations apportées à la file d’attente de travail et au threading