Compartir a través de


Método CSourceSeeking.CheckCapabilities

[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 CheckCapabilities método consulta si la secuencia ha especificado funcionalidades de búsqueda. Este método implementa el método IMediaSeeking::CheckCapabilities .

Sintaxis

HRESULT CheckCapabilities(
   DWORD *pCapabilities
);

Parámetros

pCapabilities

Puntero a una combinación bit a bit de uno o varios atributos AM_SEEKING_SEEKING_CAPABILITIES .

Valor devuelto

Devuelve uno de los valores HRESULT enumerados en la tabla siguiente.

Código devuelto Descripción
S_FALSE
No todas las funcionalidades de pCapabilities están presentes.
S_OK
Todas las funcionalidades de pCapabilities están presentes.
E_POINTER
Argumento de puntero NULL.

Observaciones

Como se implementa, este método comprueba el valor de *pCapabilities con la variable miembro CSourceSeeking::m_dwSeekingCaps . Sin embargo, no establece *pCapabilities igual a m_dwSeekingCaps, como se describe para el método IMediaSeeking::CheckCapabilities . Además, en caso de que ninguna de las funcionalidades especificadas esté disponible, el método no devuelve E_FAIL. Una implementación más completa sería la siguiente:

STDMETHODIMP CheckCapabilities(DWORD *pCapabilities)
{
    CheckPointer(pCapabilities, E_POINTER)
;
    DWORD dwCaps;
    HRESULT hr = GetCapabilities(&dwCaps);
    if (SUCCEEDED(hr))
    {
        dwCaps &= *pCapabilities;
        if (dwCaps)
        {
            hr =  (dwCaps == *pCapabilities ? S_OK : S_FALSE );
        }
        else 
        {
            hr = E_FAIL;
        }
        *pCapabilities = dwCaps;
    }
    else 
    {
        *pCapabilities = 0;
    }
    return hr;
}

Requisitos

Requisito Value
Encabezado
Ctlutil.h (include Streams.h)
Biblioteca
Strmbase.lib (compilaciones comerciales);
Strmbasd.lib (compilaciones de depuración)

Consulte también

CSourceSeeking (clase)