Share via


Método ICodecAPI::RegisterForEvent (strmif.h)

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

El método RegisterForEvent registra la aplicación para recibir eventos del códec.

Sintaxis

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

Parámetros

[in] Api

Puntero a un GUID que especifica el evento. Hay tres categorías de eventos:

Valor Significado
CODECAPI_CHANGELISTS
El códec notifica a la aplicación cuando cambian las propiedades del códec. Los datos del evento son una lista de GUID para las propiedades que cambiaron.
Uno de los GUID de propiedad definidos en codecapi.h. (Consulte Propiedades de la API de códec).
El códec notifica a la aplicación cuando cambia la propiedad especificada. Normalmente, un códec admitirá este tipo de notificación para un conjunto limitado de propiedades, si existe.
Guid de evento propietario definido por el códec.
Dependiente de la implementación.

[out] userData

Puntero a los datos definidos por el autor de la llamada. La aplicación recibe este puntero en el parámetro de evento lParam1 .

Valor devuelto

Este método puede devolver uno de estos valores.

Código devuelto Descripción
S_OK
El método se ha llevado a cabo de forma correcta.
E_NOTIMPL
Sin implementar. El códec no admite la notificación de eventos o no admite el GUID de evento especificado en el parámetro Api .

Comentarios

La aplicación recibe una notificación de eventos EC_CODECAPI_EVENT cada vez que el códec del codificador envía el evento. Para obtener el evento, usa la interfaz IMediaEventEx .

El parámetro lParam2 del evento es un puntero a una estructura CodecAPIEventData . Esta estructura puede seguir datos adicionales, en función del GUID del evento. El tamaño de estos datos lo asigna el miembro dataLength .

GUID Datos del evento
CODECAPI_CHANGELISTS Matriz de GUID. Cada GUID especifica una propiedad de códec cuyo valor actual o intervalo válido ha cambiado. El tamaño de la matriz es dataLength / sizeof(GUID).
Guid de propiedad definido en codecapi.h. Ninguno.
GUID de evento propietario. Dependiente de la implementación.
 

Si el códec no admite el evento especificado, el método devuelve E_NOTIMPL. El códec podría admitir otros eventos.

Para deshabilitar las notificaciones de un evento, llame a ICodecAPI::UnregisterForEvent.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP con SP2 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2003 R2 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado strmif.h (incluye Dshow.h)
Library Strmiids.lib

Consulte también

Referencia de la API de códec

API de codificador

ICodecAPI