Méthode IAsyncReader::WaitForNext (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 WaitForNext
méthode attend la fin de la prochaine demande de lecture en attente.
Syntaxe
HRESULT WaitForNext(
[in] DWORD dwTimeout,
[out] IMediaSample **ppSample,
[out] DWORD_PTR *pdwUser
);
Paramètres
[in] dwTimeout
Spécifie un délai d’attente en millisecondes. Utiliser la valeur INFINITE pour attendre indéfiniment
[out] ppSample
Adresse d’une variable qui reçoit un pointeur d’interface IMediaSample .
[out] pdwUser
Pointeur vers une variable qui reçoit la valeur du paramètre dwUser spécifié dans la méthode IAsyncReader::Request .
Valeur renvoyée
Retourne une valeur HRESULT . Les valeurs possibles sont les suivantes.
Code de retour | Description |
---|---|
|
Le délai d’expiration a expiré ou la broche est en cours de vidage. |
|
La broche est en cours de vidage. |
|
Une erreur de lecture s’est produite. |
|
Opération réussie. |
|
Atteint la fin du fichier ; a récupéré moins d’octets que demandé. |
Notes
Si la méthode réussit, le paramètre ppSample contient un pointeur vers un exemple de média, dont la mémoire tampon contient les données demandées. Appelez la méthode IMediaSample::GetTime et divisez les résultats par 10 000 000 pour déterminer les octets de début et d’arrêt. Les échantillons peuvent être retournés dans le désordre. Libérez l’exemple lorsque vous avez terminé de traiter les données.
La méthode échoue si la broche est en cours de vidage. Toutefois, il peut retourner un exemple vide dans ppSample. Si *ppSample n’a pas la valeur NULL, relâchez l’exemple et ignorez-le. Pour plus d’informations, consultez IAsyncReader::BeginFlush.
Si une erreur de lecture se produit, le filtre source envoie un événement d’erreur au Gestionnaire de graphes de filtres ; l’appelant n’a pas besoin de signaler une erreur.
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 |