winbase.h


OpenMutex

La función OpenMutex devuelve un manipulador de un objeto mutex con nombre existente.

Sintaxis

HANDLE OpenMutex(
    DWORD dwDesiredAccess,	// bandera de acceso 
    BOOL bInheritHandle,	// bandera de herencia
    LPCTSTR lpName 	        // puntero a nombre del objeto mutex 
   );

Parámetros

dwDesiredAccess
Especifica el acceso requerido al objeto mutex. Para sistemas que soporten seguridad de objetos, la función falla si el descriptor de seguridad del objeto especificado no permite el acceso requerido para el proceso que llama.

Este parámetro puede ser una combinación de los siguientes valores:

SYNCHRONIZE sólo en Windows NT: Permite usar el manipulador de mutex en cualquiera de las funciones de espera para obtener la propiedad del mutex, o en la funicón ReleaseMutex para liberar la propiedad.
AcesoDescripción
MUTEX_ALL_ACCESSEspecifica todas las banderas de acceso posible para el objeto mutex.
bInheritHandle
Especifica si el manipulador obtenido es heredable. Si es TRUE, un proceso creado por la función CreateProcess puede heredar el manipulador; en otro caso, el manipulador no puede ser heredado.
lpName
Apunta a una cadena terminada en cero que indica el nombre del mutex a abrir. Las comparaciones de nombres son case sensitive.

Valor de retorno

Si la función tiene éxito, el valor de retorno es un manipulador del objeto mutex.

Si la función falla, el valor de retorno es NULL. Para obtener información adicional sobre el error, llamar a GetLastError.

Observaciones

La función OpenMutex permite que varios procesos abran manipuladores para el mismo objeto mutex. La función sólo tiene éxito si algún proceso ha creado ua el mutex mediante el uso de la función CreateMutex. El proceso que la invoca puede usar el manipulador obtenido en cualquier función que requiera un manipulador de un objeto mutex, como las funciones de espera, sujeto a las limitaciones de acceso especificadas en el parámetro dwDesiredAccess.

El manipulador puede ser duplicado usando la función DuplicateHandle. Usar la función CloseHandle para cerrar el manipulador. El sistema cierra el manipulador automáticamente cuando el proceso termina. El objeto mutex es destruido cuando su último manipulador ha sido cerrado.