Interaktion mit einem CMutex ohne MFC

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

Eine dieser Apps wurde ohne MFC neu geschrieben (stattdessen mit Qt). Wie kann ich den CMutex mit Win32-Aufrufe simulieren? (Qt QMutex ist nicht interprozess.) Ich möchte die MFC-Apps nicht ändern.

0

2 Antworten

Für Interprozess-Mutexe möchten Sie diese Aufrufe:

CreateMutex

     

WaitForSingleObject

     

ReleaseMutex

     

CloseHandle

Dies sind die zugrundeliegenden Win32-API-Aufrufe, die CMutex umschließt.

Für In-Process-Mutexe können Sie auch diese Aufrufe verwenden, die schneller sind:

InitializeCriticalSection

     

EnterCriticalSection

     

LeaveCriticalSection

     

DeleteCriticalSection

0
hinzugefügt

Die folgenden Funktionen werden wahrscheinlich das sein, was Sie wollen, sie sind alle auf MSDN dokumentiert.

CreateMutex(...)
WaitForSingleObject(...)
ReleaseMutex(...)
0
hinzugefügt