Partager via


IAMStreamControl ::StartAt, méthode (strmif.h)

[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 StartAt méthode indique à l’épingle quand commencer à fournir des données.

Syntaxe

HRESULT StartAt(
  [in] const REFERENCE_TIME *ptStart,
  [in] DWORD                dwCookie
);

Paramètres

[in] ptStart

Pointeur vers une valeur REFERENCE_TIME qui spécifie le moment où la broche doit commencer à fournir des données. Si la valeur est MAXLONGLONG (0x7FFFFFFFFFFFFFFF), la méthode annule la demande de démarrage précédente. Si psStart a la valeur NULL, la broche démarre immédiatement lorsque le graphique s’exécute.

Pour les broches d’aperçu, seules les valeurs NULL et MAXLONGLONG sont valides, car les broches d’aperçu n’horodatent pas les exemples qu’elles fournissent.

[in] dwCookie

Spécifie une valeur à envoyer avec la notification de début. Consultez la section Notes.

Valeur de retour

Si la méthode réussit, la valeur de retour est S_OK. Sinon, retourne une valeur HRESULT indiquant la cause de la défaillance.

Remarques

Par défaut, la broche fournit des données dès que le graphe de filtre s’exécute. La StartAt méthode fait attendre l’épingle jusqu’à ce qu’un délai spécifié après l’exécution du graphique, avant que la broche commence à fournir des données.

Si le paramètre dwCookie n’est pas égal à zéro, le code pin envoie un événement EC_STREAM_CONTROL_STARTED lorsqu’il commence à remettre des données. Le premier paramètre d’événement est un pointeur vers l’interface IPin de la broche, et le second est la valeur de dwCookie.

Cette méthode implémente les cas spéciaux suivants :

  • Si ptStart a la valeur NULL, l’épingle démarre dès que le graphique s’exécute. Aucun événement n’est envoyé et la valeur de dwCookie est ignorée.
  • Si ptStart contient la valeur MAXLONGLONG et qu’une demande d’arrêt est en attente, l’épingle démarre lorsque le graphique s’exécute. S’il n’y a pas de demande d’arrêt en attente, l’épingle reste arrêtée. Dans les deux cas, aucun événement de démarrage n’est envoyé et la valeur de dwCookie est ignorée.
Cette méthode gère également les conditions limites suivantes :
  • Si l’heure de début se situe entre les heures de début et d’arrêt d’un exemple, l’épingle fournit cet exemple.
  • Si l’heure de début est égale à l’heure d’arrêt, l’épingle fournit un exemple.
MAXLONGLONG est la plus grande valeur REFERENCE_TIME possible. Dans la bibliothèque de classes de base, elle est également définie comme constante MAX_TIME.

Configuration requise

Condition requise Valeur
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

IAMStreamControl Interface