Función MFLockSharedWorkQueue (mfapi.h)
Obtiene y bloquea una cola de trabajo compartida.
Sintaxis
HRESULT MFLockSharedWorkQueue(
[in] PCWSTR wszClass,
[in] LONG BasePriority,
[in, out] DWORD *pdwTaskId,
[out] DWORD *pID
);
Parámetros
[in] wszClass
Nombre de la tarea MMCSS.
[in] BasePriority
Prioridad base de los subprocesos de cola de trabajo.
Si se usa la cola de prioridad normal (wszClass=""), el valor 0 debe pasarse.
[in, out] pdwTaskId
Identificador de tarea MMCSS. En la entrada, especifique un identificador de grupo de tareas MCCSS existente o use el valor cero para crear un nuevo grupo de tareas. Si se usa la cola de prioridad regular (wszClass=""), se debe pasar NULL . En la salida, recibe el identificador real del grupo de tareas.
[out] pID
Recibe un identificador para la nueva cola de trabajo. Use este identificador al poner en cola los elementos de trabajo.
Valor devuelto
Si esta función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Comentarios
Una cola de trabajo multiproceso usa un grupo de subprocesos para enviar elementos de trabajo. Cada vez que un subproceso esté disponible, pone en cola el siguiente elemento de trabajo de la cola. Los elementos de trabajo se quitan en orden primero en salir, pero los elementos de trabajo no se serializan. En otras palabras, la cola de trabajo no espera a que se complete un elemento de trabajo antes de iniciar el siguiente elemento de trabajo.
Dentro de un único proceso, la plataforma Microsoft Media Foundation crea hasta una cola multiproceso para cada tarea de Servicio de programador de clases multimedia (MMCSS). La función MFLockSharedWorkQueue comprueba si ya existe una cola de trabajo coincidente. Si no es así, la función crea una nueva cola de trabajo y registra la cola de trabajo con MMCSS. La función devuelve el identificador de tarea MMCSS (pdwTaskId) y el identificador de cola de trabajo (pID). Para poner en cola un elemento de trabajo, pase el identificador de cola de trabajo a cualquiera de las funciones siguientes:
La función MFLockSharedWorkQueue también bloquea la cola. Antes de que finalice el proceso, llame a MFUnlockWorkQueue para desbloquear la cola de trabajo.Si se usa la cola de prioridad regular (wszClass=""), se debe pasar NULL a pdwTaskId y el valor 0 debe pasarse a BasePriority.
Requisitos
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 |
Library | Mfplat.lib |
Archivo DLL | Mfplat.dll |