Compartilhar via


Método IMediaEvent::GetEvent (control.h)

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

O GetEvent método recupera a próxima notificação de evento da fila de eventos.

Sintaxe

HRESULT GetEvent(
  [out] long     *lEventCode,
  [out] LONG_PTR *lParam1,
  [out] LONG_PTR *lParam2,
  [in]  long     msTimeout
);

Parâmetros

[out] lEventCode

Ponteiro para uma variável que recebe o código do evento.

[out] lParam1

Ponteiro para uma variável que recebe o primeiro parâmetro de evento.

[out] lParam2

Ponteiro para uma variável que recebe o segundo parâmetro de evento.

[in] msTimeout

Intervalo de tempo limite, em milissegundos. Use INFINITE para bloquear até que haja um evento.

Retornar valor

Retorna um valor HRESULT . Os valores possíveis incluem aqueles mostrados na tabela a seguir.

Código de retorno Descrição
S_OK
Êxito.
E_ABORT
Tempo limite esgotado.

Comentários

Se nenhum evento estiver na fila, esse método aguardará até msTimeout milissegundos para que um evento chegue. Evite usar um intervalo de tempo limite de INFINITE, pois os threads não podem processar nenhuma mensagem enquanto aguardam no GetEvent. Se você chamar GetEvent do mesmo thread que processa mensagens do Windows, especifique apenas pequenos tempos de espera para permanecer responsivo à entrada do usuário.

Depois de chamar GetEvent, chame o método IMediaEvent::FreeEventParams para liberar todos os recursos alocados para os parâmetros de evento.

Para obter uma lista de códigos de notificação e valores de parâmetro de evento, consulte Códigos de notificação de eventos.

Como esse método remove o evento da fila de eventos do grafo de filtro, não há como vários clientes monitorarem eventos do mesmo grafo.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho control.h (inclua Dshow.h)
Biblioteca Strmiids.lib

Confira também

Códigos de erro e êxito

IMediaEvent Interface

Imediaeventex