Función ReleaseMutex (synchapi.h)

Libera la propiedad del objeto de exclusión mutua especificado.

Sintaxis

BOOL ReleaseMutex(
  [in] HANDLE hMutex
);

Parámetros

[in] hMutex

Identificador del objeto de exclusión mutua. CreateMutex o

La función OpenMutex devuelve este identificador.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.

Comentarios

Se produce un error en la función ReleaseMutex si el subproceso que realiza la llamada no posee el objeto de exclusión mutua.

Un subproceso obtiene la propiedad de una exclusión mutua mediante su creación con el parámetro bInitialOwner establecido en TRUE o especificando su identificador en una llamada a una de las funciones de espera. Cuando el subproceso ya no necesita poseer el objeto de exclusión mutua, llama a la función ReleaseMutex para que otro subproceso pueda adquirir propiedad.

Un subproceso puede especificar una exclusión mutua que ya posee en una llamada a una de las funciones de espera sin bloquear su ejecución. Esto evita que un subproceso se interbloquee mientras espera una exclusión mutua que ya posee. Sin embargo, para liberar su propiedad, el subproceso debe llamar a ReleaseMutex una vez por cada vez que obtuvo la propiedad (ya sea a través de CreateMutex o una función de espera).

Ejemplos

Para obtener un ejemplo que usa ReleaseMutex, vea Using Mutex Objects.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado synchapi.h (incluye Windows.h en Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

CreateMutex

Objetos de exclusión mutua

Funciones de sincronización