Partager via


Méthode IAsyncReader ::SyncReadAligned (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 SyncReadAligned méthode effectue une lecture synchrone. La méthode se bloque jusqu’à ce que la demande soit terminée. Les positions de fichier et l’adresse de la mémoire tampon doivent être alignées ; case activée les propriétés de l’allocateur pour l’alignement requis.

Syntaxe

HRESULT SyncReadAligned(
  IMediaSample *pSample
);

Paramètres

pSample

Pointeur vers l’interface IMediaSample d’un exemple de média fourni par l’appelant.

Valeur retournée

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

Code de retour Description
VFW_E_BADALIGN
Alignement non valide.
S_FALSE
Moins d’octets récupérés que demandé. (La fin du fichier a probablement été atteinte.)
S_OK
Réussite.

Remarques

Avant d’appeler cette méthode, récupérez un exemple de média à partir de l’allocateur de la broche. Horodatage de l’échantillon avec les décalages d’octets que vous demandez, premier et dernier inclus, multipliés par 10 000 000. Les décalages d’octets sont relatifs au début du flux.

Les positions de début et d’arrêt doivent correspondre à l’alignement qui a été décidé lors de la connexion des broches. Sinon, la méthode retourne VFW_E_BADALIGN. Si l’alignement convenu est plus grosseur que l’alignement réel du flux, la position d’arrêt peut dépasser la durée réelle. Si c’est le cas, la méthode arrondit la position d’arrêt à l’alignement réel.

Cette méthode effectue une lecture sans débogage. Elle peut donc être plus rapide que la méthode IAsyncReader ::SyncRead .

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

IAsyncReader, interface