Compartir a través de


Método IAMStreamControl::StartAt (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 StartAt método informa al pin cuándo empezar a entregar datos.

Sintaxis

HRESULT StartAt(
  [in] const REFERENCE_TIME *ptStart,
  [in] DWORD                dwCookie
);

Parámetros

[in] ptStart

Puntero a un valor de REFERENCE_TIME que especifica cuándo el pin debe empezar a entregar datos. Si el valor es MAXLONGLONG (0x7FFFFFFFFFFFFFFF), el método cancela la solicitud de inicio anterior. Si psStart es NULL, el pin se inicia inmediatamente cuando se ejecuta el grafo.

En el caso de los pines de vista previa, solo los valores NULL y MAXLONGLONGLONG son válidos, ya que los patillas de vista previa no marcan la hora de las muestras que entregan.

[in] dwCookie

Especifica un valor que se va a enviar junto con la notificación de inicio. Vea la sección Comentarios.

Valor devuelto

Si el método se realiza correctamente, el valor devuelto se S_OK. De lo contrario, devuelve un valor HRESULT que indica la causa del error.

Comentarios

De forma predeterminada, el pin entrega datos en cuanto se ejecuta el grafo de filtro. El StartAt método hace que el pin espere hasta que se ejecute un tiempo especificado después de que se ejecute el grafo, antes de que el pin comience a entregar datos.

Si el parámetro dwCookie es distinto de cero, el pin enviará un evento de EC_STREAM_CONTROL_STARTED cuando empiece a entregar datos. El primer parámetro de evento es un puntero a la interfaz IPin del pin y el segundo es el valor de dwCookie.

Este método implementa los siguientes casos especiales:

  • Si ptStart es NULL, el pin se inicia en cuanto se ejecuta el grafo. No se envía ningún evento y se omite el valor de dwCookie .
  • Si ptStart contiene el valor MAXLONGLONG y hay una solicitud de detención pendiente, el pin se inicia cuando se ejecuta el grafo. Si no hay ninguna solicitud de detención pendiente, el pin permanece detenido. En cualquier caso, no se envía ningún evento de inicio y se omite el valor de dwCookie .
Este método también controla las siguientes condiciones de límite:
  • Si la hora de inicio se encuentra entre las horas de inicio y detención de una muestra, el pin entrega esa muestra.
  • Si la hora de inicio es igual a la hora de detención, el pin entrega una muestra.
MAXLONGLONG es el valor de REFERENCE_TIME más grande posible. En la biblioteca de clases base, también se define como la constante MAX_TIME.

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

IAMStreamControl (interfaz)