Question

Nous avons plusieurs applications MFC qui utilisent CMutex (false, "blah"), où "blah". permet au mutex de fonctionner au-delà des limites du processus.

L'une de ces applications a été réécrite sans MFC (en utilisant Qt à la place). Comment puis-je simuler le CMutex à l'aide d'appels Win32? (Le QMutex de Qt n'est pas inter-processus.) Je préfère ne pas modifier les applications MFC.

Était-ce utile?

La solution

Pour les mutex inter-processus, vous souhaitez ces appels:

  

CreateMutex

     

WaitForSingleObject

     

ReleaseMutex

     

CloseHandle

Ce sont les appels d'API Win32 sous-jacents que CMutex est un wrapper.

Pour les mutex en cours de traitement uniquement, vous pouvez également utiliser ces appels, qui sont plus rapides:

  

InitializeCriticalSection

     

EnterCriticalSection

     

LeaveCriticalSection

     

DeleteCriticalSection

Autres conseils

Les fonctions suivantes seront probablement ce que vous voulez, elles sont toutes documentées sur MSDN.

CreateMutex(...)
WaitForSingleObject(...)
ReleaseMutex(...)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top