IMediaSeeking::CheckCapabilities, méthode (strmif.h)

La méthode CheckCapabilities interroge si un flux a spécifié des fonctionnalités de recherche.

Syntaxe

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

Paramètres

[in, out] pCapabilities

Lors de l’entrée, un pointeur vers une variable qui contient une ou plusieurs AM_SEEKING_SEEKING_CAPABILITIES attributs au niveau du bit. Lorsque la méthode retourne, la valeur indique quels attributs sont disponibles.

Valeur retournée

Retourne une valeur HRESULT . Les valeurs possibles sont les suivantes.

Code de retour Description
S_FALSE
Certaines fonctionnalités, mais pas toutes les fonctionnalités de pCapabilities sont présentes .
S_OK
Toutes les fonctionnalités de pCapabilities sont présentes .
E_FAIL
Aucune capacité dans pCapabilities n’est présente.
E_POINTER
Argument du pointeur NULL.

Remarques

Si vous n’êtes intéressé que par quelques fonctionnalités spécifiques, l’appel de cette méthode est plus efficace que l’appel d’IMediaSeeking::GetCapabilities, qui vérifie toutes les fonctionnalités de recherche du flux.

Pour appeler cette méthode, déclarez une variable DWORD et définissez la valeur sur la combinaison bitwise-OR des indicateurs AM_SEEKING_SEEKING_CAPABILITIES que vous souhaitez tester. Transmettez l’adresse de cette valeur dans le paramètre pCapabilities . Lorsque la méthode retourne, pCapabilities contient un sous-ensemble des bits d’origine, indiquant quelles fonctionnalités sont présentes. La valeur de retour indique si certaines, aucune ou toutes les fonctionnalités demandées sont présentes.

L’exemple de code suivant montre comment déterminer si le flux prend en charge la recherche vers l’avant, la recherche descendante et la recherche absolue.

C++
Définissez des indicateurs pour les fonctionnalités que vous souhaitez vérifier.

DWORD dwCaps = AM_SEEKING_CanSeekAbsolute | AM_SEEKING_CanSeekForwards | AM_SEEKING_CanSeekBackwards;

HRESULT hr = pMediaSeeking-CheckCapabilities>(&dwCaps); if(FAILED(hr)) { // Le flux ne peut pas rechercher. } sinon si (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. } }

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête strmif.h (include Dshow.h)
Bibliothèque Strmiids.lib

Voir aussi

Codes d’erreur et de réussite

IMediaSeeking, interface