Frage

Wir haben mehr MFC-Anwendungen, die CMutex (false "blah") verwenden, wobei "blah" der Mutex ermöglicht über Prozessgrenzen hinweg zu arbeiten.

Eine dieser Anwendungen wurde ohne MFC neu geschrieben (mit Qt statt). Wie kann ich simulieren die CMutex mit Win32-Aufrufe? (Qt QMutex ist nicht Inter-Prozess.) Ich möchte nicht die MFC-Anwendungen ändern.

War es hilfreich?

Lösung

Für Inter-Prozess-mutexes wollen Sie diese Anrufe:

  

CreateMutex

     

WaitForSingleObject

     

ReleaseMutex

     

Closehandle

Dies sind die zugrunde liegenden Win32-API-Aufrufe, die CMutex ist ein Wrapper um.

In-Prozess nur mutexes können Sie auch diese Anrufe verwendet werden, die schneller sind:

  

InitializeCriticalSection

     

Entercriticalsection

     

Leavecriticalsection

     

DeleteCriticalSection

Andere Tipps

Die folgenden funcs wird wahrscheinlich sein, was Sie wollen, sie sind alle auf MSDN dokumentiert.

CreateMutex(...)
WaitForSingleObject(...)
ReleaseMutex(...)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top