Función OpenWaitableTimerW (synchapi.h)

Abre un objeto de temporizador esperable existente.

Sintaxis

HANDLE OpenWaitableTimerW(
  [in] DWORD   dwDesiredAccess,
  [in] BOOL    bInheritHandle,
  [in] LPCWSTR lpTimerName
);

Parámetros

[in] dwDesiredAccess

Acceso al objeto de temporizador. 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] lpTimerName

Nombre del objeto de temporizador. El nombre está limitado a MAX_PATH caracteres. La comparación de nombres distingue 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 temporizador.

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 OpenWaitableTimer permite que varios procesos abran identificadores en el mismo objeto de temporizador. La función solo se realiza correctamente si algún proceso ya ha creado el temporizador mediante la función CreateWaitableTimer . El proceso de llamada puede usar el identificador devuelto en cualquier función que requiera el identificador para un objeto de temporizador, como las funciones de espera, sujeto a las limitaciones del acceso especificado en el parámetro dwDesiredAccess .

El identificador devuelto 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 temporizador se destruye cuando se ha cerrado su último identificador.

Para compilar una aplicación que use esta función, defina _WIN32_WINNT como 0x0400 o posterior. Para obtener más información, vea Uso de los encabezados de Windows.

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 (incluya Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

CancelWaitableTimer

CloseHandle

CreateProcess

CreateWaitableTimer

DuplicateHandle

Nombres de objeto

SetWaitableTimer

Funciones de sincronización

Objetos de temporizador que se pueden esperar