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:
Aceso Descripción MUTEX_ALL_ACCESS Especifica todas las banderas de acceso posible para el objeto mutex. 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. - 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.