Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez aussi afficher la version anglaise dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte.
Traduction
Anglais

CMultiLock::Lock

 

Appelez cette fonction pour accéder à un ou plusieurs des ressources contrôlées par les objets de synchronisation fournies au constructeur de CMultiLock .


      DWORD Lock(
   DWORD dwTimeOut = INFINITE,
   BOOL bWaitForAll = TRUE,
   DWORD dwWakeMask = 0 
);

dwTimeOut

Spécifie la durée d'attente de l'objet de synchronisation pour être disponible (signalé).  Si infini, Lock attend que l'objet soit signalé avant de retourner.  

bWaitForAll

Spécifie si tous les objets ont attendu sur devenir doivent signalé en même temps avant de retourner.  Si FALSE, Lock retourne lorsque les n'importe lequel des objets attendus sur signalé sont.  

dwWakeMask

Spécifie d'autres conditions qui sont autorisées pour interrompre l'attente.  Pour une liste complète des options disponibles pour ce paramètre, consultez MsgWaitForMultipleObjects dans SDK Windows.  

Si Lock échoue, il retourne – 1.  En cas de réussite, il retourne une des valeurs suivantes :  

  • Entre WAIT_OBJECT_0 et WAIT_OBJECT_0 + (nombre d'objets – 1)

    Si bWaitForAll est TRUE, tous les objets sont disponibles signalé ().  Si bWaitForAll est FALSE, la valeur de retour – WAIT_OBJECT_0 est l'index dans le tableau d'objets de l'objet qui est signalé (disponible).  

  • WAIT_OBJECT_0 + (nombre d'objets)

    Un événement spécifié dans dwWakeMask est disponible dans la file d'attente d'entrée du thread.

  • Entre WAIT_ABANDONED_0 et WAIT_ABANDONED_0 + (nombre d'objets – 1)

    Si bWaitForAll est TRUE, tous les objets signalé sont, et au moins l'un des objets est un objet de mutex abandonné.  Si bWaitForAll est FALSE, la valeur de retour – WAIT_ABANDONED_0 est l'index dans le tableau d'objets de l'objet mutex abandonné de qui a satisfait l'attente.  

  • WAIT_TIMEOUT

    l'intervalle de délai d'attente spécifié dans le dwTimeOut a expiré sans réussir d'attente.

Si bWaitForAll est TRUE, Lock retourne avec succès dès que tous les objets de synchronisation signalé deviendront simultanément.  Si bWaitForAll est FALSE, Lock retourne dès qu'un ou plusieurs objets de synchronisation deviendra signalé.  

Si Lock ne peut pas retourner immédiatement, il attend pas plus que le nombre de millisecondes spécifié dans le paramètre de dwTimeOut avant de retourner.  Si le dwTimeOut est infini, Lock ne retourne pas jusqu'à ce que l'accès à un objet a gagné ou une condition spécifiée dans dwWakeMask a été remplie.  Sinon, si Lock a pu acquérir un objet de synchronisation, elle retourne avec succès ; sinon, elle retourne l'échec.  

Configuration requise

Header: afxmt.h

Afficher: