Función OpenEventA (synchapi.h)

Abre un objeto de evento con nombre existente.

Sintaxis

HANDLE OpenEventA(
  [in] DWORD  dwDesiredAccess,
  [in] BOOL   bInheritHandle,
  [in] LPCSTR lpName
);

Parámetros

[in] dwDesiredAccess

Acceso al objeto de evento. Se produce un error en la función si el descriptor de seguridad del objeto especificado no permite el acceso solicitado para el proceso de llamada. Para obtener una lista de los derechos de acceso, consulte Synchronization Object Security and Access Rights(Derechos de acceso y seguridad de objetos de sincronización).

[in] bInheritHandle

Si este valor es TRUE, los procesos creados por este proceso heredarán el identificador. De lo contrario, los procesos no heredan este identificador.

[in] lpName

Nombre del evento que se va a abrir. Las comparaciones de nombres distinguen mayúsculas de minúsculas.

Esta función puede abrir objetos en un espacio de nombres privado. Para obtener más información, vea Espacios de nombres de objeto.

Terminal Services: El nombre puede tener un prefijo "Global" o "Local" para abrir explícitamente un objeto en el espacio de nombres global o de sesión. El resto del nombre puede contener cualquier carácter excepto el carácter de barra diagonal inversa (\). Para obtener más información, vea Espacios de nombres de objeto kernel.

Nota El cambio rápido de usuario se implementa mediante sesiones de Terminal Services. El primer usuario para iniciar sesión usa la sesión 0, el siguiente usuario para iniciar sesión usa la sesión 1, etc. Los nombres de objeto de kernel deben seguir las directrices descritas para Terminal Services para que las aplicaciones puedan admitir varios usuarios.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es un identificador para el objeto de evento.

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

Comentarios

La función OpenEvent permite que varios procesos abran identificadores del mismo objeto de evento. La función solo se realiza correctamente si algún proceso ya ha creado el evento mediante la función CreateEvent . El proceso de llamada puede usar el identificador devuelto en cualquier función que requiera un identificador para un objeto de evento, sujeto a las limitaciones del acceso especificado en el parámetro dwDesiredAccess .

El identificador se puede duplicar mediante la función DuplicateHandle . Use la función CloseHandle para cerrar el identificador. El sistema cierra el identificador automáticamente cuando finaliza el proceso. El objeto de evento se destruye cuando se ha cerrado su último identificador.

Nota

El encabezado synchapi.h define OpenEvent como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

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

CloseHandle

CreateEvent

CreateProcess

DuplicateHandle

Objetos de evento

Nombres de objeto

PulseEvent

ResetEvent

SetEvent

Funciones de sincronización