Compartir a través de


Función MFPutWaitingWorkItem (mfapi.h)

Pone en cola un elemento de trabajo que espera a que se indique un evento.

Sintaxis

HRESULT MFPutWaitingWorkItem(
  [in]  HANDLE         hEvent,
  [in]  LONG           Priority,
  [in]  IMFAsyncResult *pResult,
  [out] MFWORKITEM_KEY *pKey
);

Parámetros

[in] hEvent

Identificador de un objeto de evento. Para crear un objeto de evento, llame a CreateEvent o CreateEventEx.

[in] Priority

Prioridad del elemento de trabajo. Los elementos de trabajo se realizan en orden de prioridad.

[in] pResult

Puntero a la interfaz IMFAsyncResult de un objeto de resultado asincrónico. Para crear el objeto de resultado, llame a MFCreateAsyncResult.

[out] pKey

Recibe una clave que se puede usar para cancelar la espera. Para cancelar la espera, llame a MFCancelWorkItem y pase esta clave en el parámetro Key .

Este parámetro puede ser NULL.

Valor devuelto

Si esta función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

Esta función permite a un componente esperar un evento sin bloquear el subproceso actual.

La función coloca un elemento de trabajo en la cola de trabajo especificada. Este elemento de trabajo espera a que se indique el evento proporcionado en hEvent . Cuando se señala el evento, el elemento de trabajo invoca una devolución de llamada. (La devolución de llamada se encuentra en el objeto de resultado especificado en pResult. Para obtener más información, vea MFCreateAsyncResult).

El elemento de trabajo se envía en una cola de trabajo mediante el método IMFAsyncCallback::GetParameters de la devolución de llamada. La cola de trabajo puede ser cualquiera de las siguientes:

  • Cola de trabajo predeterminada (MFASYNC_CALLBACK_QUEUE_STANDARD).
  • Cola multiproceso de la plataforma (MFASYNC_CALLBACK_QUEUE_MULTITHREADED).
  • Una cola multiproceso devuelta por la función MFLockSharedWorkQueue .
  • Cola serie creada por la función MFAllocateSerialWorkQueue .
No use ninguna de las siguientes colas de trabajo: MFASYNC_CALLBACK_QUEUE_IO, MFASYNC_CALLBACK_QUEUE_LONG_FUNCTION, MFASYNC_CALLBACK_QUEUE_RT o MFASYNC_CALLBACK_QUEUE_TIMER.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2012 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado mfapi.h
Archivo DLL Mfplat.dll

Consulte también

Funciones de Media Foundation

Mejoras en la cola de trabajo y subprocesos

Colas de trabajo