Compartilhar via


CreateEvent

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função cria um nomeado ou um sem nome objeto evento.

Syntax

HANDLE CreateEvent(
  LPSECURITY_ATTRIBUTES
  lpEventAttributes,
  BOOL bManualReset,
  BOOL InitialState,
  LPTSTR lpName
);

Parameters

  • lpEventAttributes
    [no] Ignorado. Deve ser NULL.
  • bManualReset
    [no] Boolean que especifica se um manual - redefinir ou auto - redefinir evento objeto é criado. Se TRUE e, em seguida, você deve usar a função ResetEvent para redefinir manualmente o estado para não sinalizado. Se FALSE, o sistema automaticamente redefine o estado para não sinalizado após um único segmento de espera foi lançado.
  • bInitialState
    [no] Boolean que especifica o estado inicial do objeto de evento. Se TRUE, o estado inicial é sinalizado; caso contrário, é não sinalizado.
  • lpName
    [no] Ponteiro para uma seqüência de caracteres NULL-Terminated que especifica o nome do objeto de evento. O nome é limitado ao caracteres MAX_PATH e pode conter qualquer caractere exceto o caminho barra invertida-caractere separador (\). Comparação nome é com diferenciação de maiúsculas e minúsculas.

    Se lpName Coincide com o nome de um nomeado existente objeto evento, a bManualReset e bInitialState Os parâmetros são ignorados porque eles já tiverem sido definidos pelo processo de criação.

    Se lpName é NULL, o objeto evento é criado sem um nome.

    Cada tipo objeto, such as memória mapas, Semaphore Objects, eventos, mensagem filas, exclusões mútuas e timers de monitoração, tem sua própria separar espaço para nome. Esvaziar seqüências de caracteres, " ", são tratados como nomeado objetos. Em plataformas com base em Área de trabalho Windows, sincronização objetos todos compartilhar o mesmo namespace.

Return Value

Para Windows incorporado CE

Um identificador para o objeto evento indica sucesso. Se um nomeado objeto evento existia antes de chamar esta função, CreateEvent Retorna um novo identificador para o mesmo objeto e retorna GetLastError ERROR_ALREADY_EXISTS. Ambas as alças devem ser fechadas. Os dois manipula referir para o mesmo evento, portanto, é chamado SetEvent em um dos eventos equivalente para chamado SetEvent no outro. O valor identificador é diferente. Esse comportamento é o mesmo que o comportamento em um área de trabalho Windows-Based plataforma.

Para Mobile Windows

Um identificador para o objeto evento indica sucesso. Se o nomeado objeto evento existia antes de chamar esta função, CreateEvent Retorna que um identificador para o objeto existente e GetLastError retorna ERROR_ALREADY_EXISTS. NULL Indica falha. Para informações de erro estendidas get, chamar GetLastError.

Remarks

O identificador retornado por CreateEvent Tem acessar EVENT_ALL_ACCESS para o novo objeto evento e podem ser usadas em qualquer função que requer um identificador para um objeto evento.

Qualquer segmento da processo de chamada pode especificar o evento-manipulador de objeto em um chamar a uma das funções de espera. O único-objeto espera funções retornam quando o estado do objeto especificado é sinalizado. O múltiplo-funções Aguardar objeto podem ser instruídos para retornar um quando qualquer um dos objetos especificados é sinalizado. Quando uma função de espera retorna, o segmento em espera é lançado para continuar sua execução.

O estado inicial do objeto de evento é especificado pelo bInitialState parâmetro. Use a função SetEvent para definir o estado de um objeto evento para sinalizado. Use a função ResetEvent para redefinir o estado de um objeto evento para não sinalizado.

Quando o estado de um manual-redefinir evento objeto está sinalizado, ele permanecerá sinalizado até que seja explicitamente redefinir para não sinalizado pela ResetEvent função. Qualquer número de aguardando segmentos ou conversações que subseqüentemente começam as operações de espera para objeto o evento especificado, pode ser lançado enquanto estado do objeto está sinalizado.

Quando o estado de uma auto-redefinir evento objeto está sinalizado, ele permanecerá sinalizado até que um único segmento de espera é liberado; o sistema e automaticamente redefine o estado para não sinalizado. Se nenhum segmentos estão aguardando, estado do objeto de evento permanece sinalizado.

Vários processos podem têm alças de objeto o evento mesmo, habilitar uso o objeto para entre processos sincronização. O seguinte objeto-compartilhamento mecanismo é disponível: Um processo pode especificar o nome de um evento objeto em um chamar para o CreateEvent função.

Use a função CloseHandle para fechar o identificador. O sistema fecha o identificador automaticamente quando o processo termina. O objeto evento é destruído ao seu último identificador foi fechada.

HANDLE CreateEvent(LPSECURITY_ATTRIBUTES, Null, False, False, PointerName);

Requirements

Header winbase.h
Library coredll.lib, Nk.lib
Windows Embedded CE Windows CE 1.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

Synchronization Functions
OpenEvent
ResetEvent
SetEvent
WaitForSingleObject

Other Resources

Modified Kernel APIs
CloseHandle
SetEventData