IReferenceClock ::AdvisePeriodic, 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 in Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation au lieu de DirectShow, si 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 AdvisePeriodic
méthode crée une demande d’avis périodique.
Syntaxe
HRESULT AdvisePeriodic(
[in] REFERENCE_TIME startTime,
[in] REFERENCE_TIME periodTime,
[in] HSEMAPHORE hSemaphore,
[out] DWORD_PTR *pdwAdviseCookie
);
Paramètres
[in] startTime
Heure de la première notification, en unités de 100 nanosecondes. Doit être supérieur à zéro et inférieur à MAX_TIME.
[in] periodTime
Temps entre les notifications, en unités de 100 nanosecondes. Doit être supérieur à zéro.
[in] hSemaphore
Handle vers un sémaphore, créé par l’appelant.
[out] pdwAdviseCookie
Pointeur vers une variable qui reçoit un identificateur pour la demande de conseil.
Valeur retournée
Retourne une valeur HRESULT . Les valeurs possibles sont les suivantes.
Code de retour | Description |
---|---|
|
Réussite. |
|
Valeurs de temps non valides. |
|
Échec. |
|
Argument pointeur NULL . |
Remarques
À chaque heure de notification, l’horloge libère le sémaphore spécifié dans le paramètre hSemaphore . Lorsqu’aucune autre notification n’est requise, appelez IReferenceClock ::Unadvise et transmettez la valeur pdwAdviseToken retournée par cet appel.
L’exemple de code suivant crée une demande d’avertissement qui signale cinq secondes à partir de sa création, et à nouveau toutes les secondes par la suite :
C++ |
---|
IReferenceClock *pRefClock = NULL ; Obtenir un pointeur IReferenceClock (non affiché). |
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 |