Método IAsyncReader::WaitForNext (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 WaitForNext
método espera a que se complete la siguiente solicitud de lectura pendiente.
Sintaxis
HRESULT WaitForNext(
[in] DWORD dwTimeout,
[out] IMediaSample **ppSample,
[out] DWORD_PTR *pdwUser
);
Parámetros
[in] dwTimeout
Especifica un tiempo de espera en milisegundos. Usar el valor INFINITE para esperar indefinidamente
[out] ppSample
Dirección de una variable que recibe un puntero de interfaz IMediaSample .
[out] pdwUser
Puntero a una variable que recibe el valor del parámetro dwUser especificado en el método IAsyncReader::Request .
Valor devuelto
Devuelve un valor HRESULT . Estos son algunos de los valores posibles.
Código devuelto | Descripción |
---|---|
|
El tiempo de espera ha expirado o el pin está vaciado. |
|
El pin está vaciado. |
|
Error de lectura. |
|
Correcto. |
|
Se alcanzó el final del archivo; recuperó menos bytes de los solicitados. |
Observaciones
Si el método se ejecuta correctamente, el parámetro ppSample contiene un puntero a un ejemplo multimedia, cuyo búfer contiene los datos solicitados. Llame al método IMediaSample::GetTime y divida los resultados en 10 000 000 para determinar los bytes de inicio y detención. Es posible que se devuelvan muestras fuera de orden. Libere el ejemplo cuando haya terminado de procesar los datos.
Se produce un error en el método si el pin está vaciado. Sin embargo, puede devolver un ejemplo vacío en ppSample. Si *ppSample no es NULL, libere el ejemplo y deséchelo. Para obtener más información, vea IAsyncReader::BeginFlush.
Si se produce un error de lectura, el filtro de origen envía un evento de error al Administrador de gráficos de filtros; el autor de la llamada no tiene que indicar un error.
Requisitos
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 |