Partager via


MFPut WaitingWorkItem, fonction (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 vers 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 effectués dans l’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 options 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 .
N’utilisez aucune des files d’attente de travail suivantes : MFASYNC_CALLBACK_QUEUE_IO, MFASYNC_CALLBACK_QUEUE_LONG_FUNCTION, MFASYNC_CALLBACK_QUEUE_RT ou MFASYNC_CALLBACK_QUEUE_TIMER.

Spécifications

Requirement Valeur
Client minimum requis Windows 8 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau | Applications UWP]
plateforme cible Fenêtres
Header mfapi.h
Library Mfplat.lib
DLL Mfplat.dll

Voir aussi

Fonctions Media Foundation

Améliorations apportées à la file d’attente de travail et au thread

Files d’attente de travail