Método IMediaSeeking::CheckCapabilities (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 CheckCapabilities consulta si una secuencia ha especificado funcionalidades de búsqueda.

Sintaxis

HRESULT CheckCapabilities(
  [in, out] DWORD *pCapabilities
);

Parámetros

[in, out] pCapabilities

En la entrada, un puntero a una variable que contiene un OR bit a bit de uno o varios atributos AM_SEEKING_SEEKING_CAPABILITIES . Cuando el método devuelve, el valor indica cuáles de esos atributos están disponibles.

Valor devuelto

Devuelve un valor HRESULT . Estos son algunos de los valores posibles.

Código devuelto Descripción
S_FALSE
Algunas de las funcionalidades de pCapabilities están presentes, pero no todas.
S_OK
Todas las funcionalidades de pCapabilities están presentes.
E_FAIL
No hay ninguna funcionalidad en pCapabilities .
E_POINTER
Argumento de puntero NULL.

Comentarios

Si solo le interesan algunas funcionalidades específicas, llamar a este método es más eficaz que llamar a IMediaSeeking::GetCapabilities, que comprueba todas las funcionalidades de búsqueda de la secuencia.

Para llamar a este método, declare una variable DWORD y establezca el valor en la combinación bit a bit-OR de las marcas de AM_SEEKING_SEEKING_CAPABILITIES que desea probar. Pase la dirección de este valor en el parámetro pCapabilities . Cuando el método devuelve, pCapabilities contiene un subconjunto de los bits originales, lo que indica qué funcionalidades están presentes. El valor devuelto indica si algunas, ninguna o todas las funcionalidades solicitadas están presentes.

En el ejemplo de código siguiente se muestra cómo averiguar si la secuencia admite la búsqueda hacia delante, la búsqueda hacia atrás y la búsqueda absoluta.

C++
Establezca marcas para las funcionalidades que desea comprobar.

DWORD dwCaps = AM_SEEKING_CanSeekAbsolute | AM_SEEKING_CanSeekForwards | AM_SEEKING_CanSeekBackwards;

HRESULT hr = pMediaSeeking-CheckCapabilities>(&dwCaps); if(FAILED(hr)) { // La secuencia no puede buscar. } else if (hr == S_OK) {
// The stream can seek forward, backward, and to an absolute position. } else if (hr == S_FALSE) // The stream has some of the capabilities. { if (dwCaps & AM_SEEKING_CanSeekAbsolute) { // The stream can seek to an absolute position. } if (dwCaps & AM_SEEKING_CanSeekForwards) { // The stream can seek forward. } if (dwCaps & AM_SEEKING_CanSeekBackwards) { // The stream can seek backward. } }

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado strmif.h (incluye Dshow.h)
Library Strmiids.lib

Consulte también

Códigos de error y éxito

IMediaSeeking (interfaz)