ReleaseMutex-Funktion (synchapi.h)
Gibt den Besitz des angegebenen mutex-Objekts frei.
Syntax
BOOL ReleaseMutex(
[in] HANDLE hMutex
);
Parameter
[in] hMutex
Ein Handle für das Mutex-Objekt. CreateMutex oder
Die OpenMutex-Funktion gibt dieses Handle zurück.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Die ReleaseMutex-Funktion schlägt fehl, wenn der aufrufende Thread das Mutex-Objekt nicht besitzt.
Ein Thread erhält den Besitz eines Mutex, indem er ihn mit dem auf TRUE festgelegten bInitialOwner-Parameter erstellt oder sein Handle in einem Aufruf einer der Wartefunktionen angibt. Wenn der Thread das mutex-Objekt nicht mehr besitzen muss, ruft er die ReleaseMutex-Funktion auf, damit ein anderer Thread den Besitz erwerben kann.
Ein Thread kann einen Mutex angeben, den er bereits in einem Aufruf einer der Wartefunktionen besitzt, ohne dessen Ausführung zu blockieren. Dadurch wird verhindert, dass ein Thread selbst deadlockt, während er auf einen Mutex wartet, den er bereits besitzt. Um jedoch seinen Besitz freizugeben, muss der Thread ReleaseMutex für jedes Mal aufrufen, wenn er den Besitz erworben hat (entweder über CreateMutex oder eine Wartefunktion).
Beispiele
Ein Beispiel, das ReleaseMutex verwendet, finden Sie unter Verwenden von Mutex-Objekten.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | synchapi.h (einschließlich Windows.h unter Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |