Compartir a través de


Método IAsyncReader::SyncReadAligned (strmif.h)

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

El SyncReadAligned método realiza una lectura sincrónica. El método se bloquea hasta que se completa la solicitud. Las posiciones de archivo y la dirección del búfer deben alinearse; compruebe las propiedades del asignador para la alineación necesaria.

Sintaxis

HRESULT SyncReadAligned(
  IMediaSample *pSample
);

Parámetros

pSample

Puntero a la interfaz IMediaSample de un ejemplo multimedia proporcionado por el autor de la llamada.

Valor devuelto

Devuelve un valor HRESULT . Estos son algunos de los valores posibles.

Código devuelto Descripción
VFW_E_BADALIGN
Alineación no válida.
S_FALSE
Se recuperan menos bytes de los solicitados. (Probablemente se alcanzó el final del archivo).
S_OK
Correcto.

Comentarios

Antes de llamar a este método, recupere un ejemplo multimedia del asignador del pin. Marca de tiempo la muestra con los desplazamientos de bytes que solicita, primero y último inclusive, multiplicado por 10 000 000. Los desplazamientos de bytes son relativos al inicio de la secuencia.

Las posiciones de inicio y detención deben coincidir con la alineación que se decidió cuando se conectaron las patillas. De lo contrario, el método devuelve VFW_E_BADALIGN. Si la alineación acordada es más gruesa que la alineación real de la secuencia, la posición de detención podría superar la duración real. Si es así, el método redondea la posición de detención hacia abajo hasta la alineación real.

Este método realiza una lectura sin búfer, por lo que podría ser más rápido que el método IAsyncReader::SyncRead .

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado strmif.h (incluya Dshow.h)
Library Strmiids.lib

Consulte también

Códigos de error y éxito

IAsyncReader (interfaz)