Compartir a través de


Método IAsyncReader::SyncRead (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 SyncRead 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 no tienen que alinearse. Si la solicitud no está alineada, el método realiza una operación de lectura almacenada en búfer.

Sintaxis

HRESULT SyncRead(
  [in]  LONGLONG llPosition,
  [in]  LONG     lLength,
  [out] BYTE     *pBuffer
);

Parámetros

[in] llPosition

Especifica el desplazamiento de bytes en el que se va a empezar a leer. El método produce un error si este valor está más allá del final del archivo.

[in] lLength

Especifica el número de bytes que se van a leer.

[out] pBuffer

Puntero a un búfer que recibe los datos.

Valor devuelto

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

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

Comentarios

Este método funciona incluso si se detiene el filtro.

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)

IAsyncReader::SyncReadAligned