Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Pone en cola un elemento de trabajo que espera a que se indique un evento.
Syntax
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 ejecuta correctamente, devuelve S_OK. De lo contrario, devuelve un código de error HRESULT .
Observaciones
Esta función permite que un componente espere 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 señale 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 está contenida 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 plataforma (MFASYNC_CALLBACK_QUEUE_MULTITHREADED).
- Una cola multiproceso devuelta por la función MFLockSharedWorkQueue .
- Una cola serie creada por la función MFAllocateSerialWorkQueue .
Requisitos
| Requirement | Importancia |
|---|---|
| Cliente mínimo compatible | Windows 8 [aplicaciones de escritorio | Aplicaciones para UWP] |
| Servidor mínimo admitido | Windows Server 2012 [aplicaciones de escritorio | Aplicaciones para UWP] |
| de la plataforma de destino de |
Windows |
| Header | mfapi.h |
| Library | Mfplat.lib |
| DLL de |
Mfplat.dll |