Partager via


Méthode CSourceSeeking.CheckCapabilities

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement au nouveau code d’utiliser MediaPlayer, IMFMediaEngine et La capture audio/vidéo dans Media Foundation au lieu de DirectShow, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

La CheckCapabilities méthode interroge si le flux a spécifié des fonctionnalités de recherche. Cette méthode implémente la méthode IMediaSeeking::CheckCapabilities .

Syntaxe

HRESULT CheckCapabilities(
   DWORD *pCapabilities
);

Paramètres

pCapabilities

Pointeur vers une combinaison au niveau du bit d’un ou de plusieurs attributs AM_SEEKING_SEEKING_CAPABILITIES .

Valeur renvoyée

Retourne l’une des valeurs HRESULT répertoriées dans le tableau suivant.

Code de retour Description
S_FALSE
Toutes les fonctionnalités de pCapabilities ne sont pas présentes.
S_OK
Toutes les fonctionnalités de pCapabilities sont présentes.
E_POINTER
Argument pointeur NULL .

Notes

Comme implémenté, cette méthode vérifie la valeur de *pCapabilities par rapport à la variable membre CSourceSeeking::m_dwSeekingCaps . Toutefois, il ne définit pas *pCapabilities égal à m_dwSeekingCaps, comme décrit pour la méthode IMediaSeeking::CheckCapabilities . En outre, dans le cas où aucune des fonctionnalités spécifiées n’est disponible, la méthode ne retourne pas E_FAIL. Une implémentation plus complète serait la suivante :

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;
}

Configuration requise

Condition requise Valeur
En-tête
Ctlutil.h (include Streams.h)
Bibliothèque
Strmbase.lib (builds de vente au détail) ;
Strmbasd.lib (builds de débogage)

Voir aussi

CSourceSeeking, classe