Fonction MFLockSharedWorkQueue (mfapi.h)

Obtient et verrouille une file d’attente de travail partagée.

Syntaxe

HRESULT MFLockSharedWorkQueue(
  [in]      PCWSTR wszClass,
  [in]      LONG   BasePriority,
  [in, out] DWORD  *pdwTaskId,
  [out]     DWORD  *pID
);

Paramètres

[in] wszClass

Nom de la tâche MMCSS.

[in] BasePriority

Priorité de base des threads de file d’attente de travail.

Si la file d’attente de priorité régulière est utilisée (wszClass=" »), la valeur 0 doit être transmise.

[in, out] pdwTaskId

Identificateur de tâche MMCSS. Lors de l’entrée, spécifiez un ID de groupe de tâches MCCSS existant ou utilisez la valeur zéro pour créer un groupe de tâches. Si la file d’attente de priorité régulière est utilisée (wszClass=" »), la valeur NULL doit être transmise. Lors de la sortie, reçoit l’ID réel du groupe de tâches.

[out] pID

Reçoit un identificateur pour la nouvelle file d’attente de travail. Utilisez cet identificateur lors de la mise en file d’attente d’éléments de travail.

Valeur retournée

Si cette fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Notes

Une file d’attente de travail multithread utilise un pool de threads pour distribuer des éléments de travail. Chaque fois qu’un thread devient disponible, il supprime l’élément de travail suivant de la file d’attente. Les éléments de travail sont mis en file d’attente dans l’ordre du premier sorti, mais les éléments de travail ne sont pas sérialisés. En d’autres termes, la file d’attente de travail n’attend pas qu’un élément de travail se termine avant de démarrer l’élément de travail suivant.

Au sein d’un processus unique, la plateforme Microsoft Media Foundation crée jusqu’à une file d’attente multithread pour chaque tâche MMCSS (Multimedia Class Scheduler Service). La fonction MFLockSharedWorkQueue vérifie si une file d’attente de travail correspondante existe déjà. Si ce n’est pas le cas, la fonction crée une file d’attente de travail et inscrit la file d’attente de travail auprès de MMCSS. La fonction retourne l’identificateur de tâche MMCSS (pdwTaskId) et l’identificateur de file d’attente de travail (pID). Pour mettre en file d’attente un élément de travail, passez l’identificateur de file d’attente de travail à l’une des fonctions suivantes :

La fonction MFLockSharedWorkQueue verrouille également la file d’attente. Avant la fin du processus, appelez MFUnlockWorkQueue pour déverrouiller la file d’attente de travail.

Si la file d’attente de priorité régulière est utilisée (wszClass=" »), la valeur NULL doit être transmise à pdwTaskId et la valeur 0 doit être transmise à BasePriority.

Spécifications

   
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
Bibliothèque Mfplat.lib
DLL Mfplat.dll

Voir aussi

Fonctions Media Foundation

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

Files d’attente de travail