Compartilhar via


Função OpenWaitableTimerW (synchapi.h)

Abre um objeto de temporizador chamado existente.

Sintaxe

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

Parâmetros

[in] dwDesiredAccess

O acesso ao objeto de temporizador. A função falhará se o descritor de segurança do objeto especificado não permitir o acesso solicitado para o processo de chamada. Para obter uma lista de direitos de acesso, confira Direitos de Acesso e Segurança do Objeto de Sincronização.

[in] bInheritHandle

Se esse valor for TRUE, os processos criados por esse processo herdarão o identificador. Caso contrário, os processos não herdam esse identificador.

[in] lpTimerName

O nome do objeto de temporizador. O nome é limitado a MAX_PATH caracteres. A comparação de nomes diferencia maiúsculas de minúsculas.

Essa função pode abrir objetos em um namespace privado. Para obter mais informações, consulte Namespaces de objeto.

Serviços de Terminal: O nome pode ter um prefixo "Global" ou "Local" para abrir explicitamente um objeto no namespace global ou de sessão. O restante do nome pode conter qualquer caractere, exceto o caractere de barra invertida (\). Para obter mais informações, consulte Namespaces de objeto kernel.

Nota A troca rápida de usuário é implementada usando sessões dos Serviços de Terminal. O primeiro usuário a fazer logon usa a sessão 0, o próximo usuário a fazer logon usa a sessão 1 e assim por diante. Os nomes de objetos kernel devem seguir as diretrizes descritas para os Serviços de Terminal para que os aplicativos possam dar suporte a vários usuários.

Retornar valor

Se a função for bem-sucedida, o valor retornado será um identificador para o objeto de temporizador.

Se a função falhar, o valor retornado será NULL. Para obter informações de erro estendidas, chame GetLastError.

Comentários

A função OpenWaitableTimer permite que vários processos abram identificadores para o mesmo objeto de temporizador. A função só terá êxito se algum processo já tiver criado o temporizador usando a função CreateWaitableTimer . O processo de chamada pode usar o identificador retornado em qualquer função que exija o identificador para um objeto de temporizador, como as funções de espera, sujeito às limitações do acesso especificado no parâmetro dwDesiredAccess .

O identificador retornado pode ser duplicado usando a função DuplicateHandle . Use a função CloseHandle para fechar o identificador. O sistema fecha o identificador automaticamente quando o processo é encerrado. O objeto timer é destruído quando seu último identificador foi fechado.

Para compilar um aplicativo que usa essa função, defina _WIN32_WINNT como 0x0400 ou posterior. Para obter mais informações, consulte Usando os cabeçalhos do Windows.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [aplicativos da área de trabalho | aplicativos UWP]
Servidor mínimo com suporte Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho synchapi.h (inclua Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

CancelWaitableTimer

CloseHandle

CreateProcess

CreateWaitableTimer

DuplicateHandle

Nomes de objeto

SetWaitableTimer

Funções de sincronização

Objetos de temporizador de espera