Compartilhar via


Método ICodecAPI::RegisterForEvent (strmif.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 método RegisterForEvent registra o aplicativo para receber eventos do codec.

Sintaxe

HRESULT RegisterForEvent(
  [in]  const GUID *Api,
  [out] LONG_PTR   userData
);

Parâmetros

[in] Api

Ponteiro para um GUID que especifica o evento. Há três categorias de eventos:

Valor Significado
CODECAPI_CHANGELISTS
O codec notifica o aplicativo quando as propriedades do codec são alteradas. Os dados do evento são uma lista de GUIDs para as propriedades que foram alteradas.
Um dos GUIDs de propriedade definidos em codecapi.h. (Consulte Propriedades da API codec.)
O codec notifica o aplicativo quando a propriedade especificada é alterada. Normalmente, um codec dará suporte a esse tipo de notificação para um conjunto limitado de propriedades, se houver.
Um GUID de evento proprietário definido pelo codec.
Dependente da implementação.

[out] userData

Ponteiro para dados definidos pelo chamador. O aplicativo recebe esse ponteiro no parâmetro de evento lParam1 .

Retornar valor

Esse método pode retornar um desses valores.

Código de retorno Descrição
S_OK
O método foi bem-sucedido.
E_NOTIMPL
Não implementado. O codec não dá suporte à notificação de evento ou não dá suporte ao GUID de evento especificado no parâmetro de API .

Comentários

O aplicativo recebe uma notificação de evento EC_CODECAPI_EVENT sempre que o codec do codificador envia o evento. Para obter o evento, usa a interface IMediaEventEx .

O parâmetro lParam2 do evento é um ponteiro para uma estrutura CodecAPIEventData . Essa estrutura pode ser seguida por dados adicionais, dependendo do GUID do evento. O tamanho desses dados é fornecido pelo membro dataLength .

GUID Dados de evento
CODECAPI_CHANGELISTS Uma matriz de GUIDs. Cada GUID especifica uma propriedade codec cujo valor atual ou intervalo válido foi alterado. O tamanho da matriz é dataLength / sizeof(GUID).
Um GUID de propriedade definido em codecapi.h. Nenhum.
GUID de evento proprietário. Dependente da implementação.
 

Se o codec não der suporte ao evento especificado, o método retornará E_NOTIMPL. O codec pode dar suporte a outros eventos.

Para desabilitar as notificações de um evento, chame ICodecAPI::UnregisterForEvent.

Requisitos

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

Confira também

Referência da API do Codec

API do codificador

ICodecAPI