1 votes

interagir avec un CMutex sans MFC

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

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

3voto

Don Neufeld Points 12803

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

CreateMutex

WaitForSingleObject

ReleaseMutex

CloseHandle

Il s'agit des appels sous-jacents de l'API Win32 autour desquels CMutex est une enveloppe.

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

InitializeCriticalSection

EnterCriticalSection

LeaveCriticalSection

DeleteCriticalSection

1voto

RichS Points 1217

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

CreateMutex(...)
WaitForSingleObject(...)
ReleaseMutex(...)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X