IAMStreamControl::StartAt-Methode (strmif.h)

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Die StartAt -Methode informiert den Pin, wann mit der Übermittlung von Daten begonnen werden soll.

Syntax

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

Parameter

[in] ptStart

Zeiger auf einen REFERENCE_TIME Wert, der angibt, wann der Pin mit der Übermittlung von Daten beginnen soll. Wenn der Wert MAXLONGLONGLONG (0x7FFFFFFFFFFFFFFF) lautet, bricht die -Methode die vorherige Startanforderung ab. Wenn psStartNULL ist, wird der Pin sofort gestartet, wenn das Diagramm ausgeführt wird.

Für Vorschau-Pins sind nur die Werte NULL und MAXLONGLONG gültig, da Vorschaupins die gelieferten Beispiele nicht mit Zeitstempel versehen.

[in] dwCookie

Gibt einen Wert an, der zusammen mit der Startbenachrichtigung gesendet werden soll. Siehe Hinweise.

Rückgabewert

Wenn die Methode erfolgreich ist, wird der Rückgabewert S_OK. Andernfalls wird ein HRESULT-Wert zurückgegeben, der die Ursache des Fehlers angibt.

Hinweise

Standardmäßig übermittelt der Pin Daten, sobald das Filterdiagramm ausgeführt wird. Die StartAt -Methode bewirkt, dass der Pin bis zu einer angegebenen Zeit nach der Ausführung des Diagramms wartet, bevor der Pin mit der Übermittlung von Daten beginnt.

Wenn der dwCookie-Parameter ungleich 0 (null) ist, sendet der Pin ein EC_STREAM_CONTROL_STARTED-Ereignis , wenn mit der Übermittlung von Daten begonnen wird. Der erste Ereignisparameter ist ein Zeiger auf die IPin-Schnittstelle des Pins, und der zweite ist der Wert von dwCookie.

Diese Methode implementiert die folgenden Sonderfälle:

  • Wenn ptStartNULL ist, wird der Pin gestartet, sobald das Diagramm ausgeführt wird. Es wird kein Ereignis gesendet, und der Wert von dwCookie wird ignoriert.
  • Wenn ptStart den Wert MAXLONGLONGLONG enthält und eine ausstehende Beendigungsanforderung vorhanden ist, wird die Pin gestartet, wenn das Diagramm ausgeführt wird. Wenn keine ausstehende Beendigungsanforderung vorhanden ist, bleibt der Pin beendet. In beiden Fällen wird kein Startereignis gesendet, und der Wert von dwCookie wird ignoriert.
Diese Methode behandelt auch die folgenden Begrenzungsbedingungen:
  • Wenn die Startzeit zwischen den Start- und Stoppzeiten eines Beispiels liegt, liefert der Pin dieses Beispiel.
  • Wenn die Startzeit der Stoppzeit entspricht, liefert der Pin ein Beispiel.
MAXLONGLONG ist der größtmögliche REFERENCE_TIME Wert. In der Basisklassenbibliothek ist sie auch als konstante MAX_TIME definiert.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile strmif.h (include Dshow.h)
Bibliothek Strmiids.lib

Weitere Informationen

Fehler- und Erfolgscodes

IAMStreamControl-Schnittstelle