CDynamicOutputPin.StartUsingOutputPin-Methode
Die StartUsingOutputPin -Methode erhält Zugriff auf den Pin für einen Streamingvorgang.
Syntax
virtual HRESULT StartUsingOutputPin();
Parameter
Diese Methode hat keine Parameter.
Rückgabewert
Gibt einen HRESULT-Wert zurück. Mögliche Werte sind die in der folgenden Tabelle aufgeführten Werte.
| Rückgabecode | Beschreibung |
|---|---|
|
Erfolg. |
|
Unerwarteter Fehler. |
|
Der Filter wurde beendet, oder der Stecknadel wurde geleert. |
Hinweise
Rufen Sie diese Methode auf, bevor Sie Methoden aufrufen, die Daten an den verbundenen Eingabepin übermitteln oder den Medientyp der Verbindung ändern. Diese Regel gilt beispielsweise für die folgenden Methoden:
- CDynamicOutputPin::ChangeOutputFormat
- CDynamicOutputPin::ChangeMediaType
- CDynamicOutputPin::D ynamicReconnect
- CBaseOutputPin::D eliver
- CBaseOutputPin::D eliverEndOfStream
- CBaseOutputPin::D eliverNewSegment
- IMemInputPin::Receive
- IMemInputPin::ReceiveMultiple
- IPin::EndOfStream
- IPin::NewSegment
Rufen Sie anschließend die CDynamicOutputPin::StopUsingOutputPin-Methode auf, um den Zugriff auf den Pin freizugeben.
Wenn die Stecknadel blockiert ist, StartUsingOutputPin wartet darauf, dass die Blockierung der Stecknadel aufgehoben wird. Wenn der Filter beendet wird, während die Methode wartet, gibt die Methode sofort VFW _ E _ STATE CHANGED _ zurück. Der Pin behält die Anzahl der Aufrufe StartUsingOutputPin ohne entsprechenden Aufruf von StopUsingOutputPin bei. Wenn ein anderer Thread versucht, den Pin zu blockieren, während diese Anzahl ungleich 0 (null) ist, legt der Pin seinen Blockierungsstatus auf "Ausstehend" fest. Der Pin wird blockiert, sobald alle Streamingvorgänge abgeschlossen sind, im letzten Aufruf von StopUsingOutputPin.
Halten Sie den kritischen Abschnitt CDynamicOutputPin::m _ BlockStateLock nicht bei, wenn Sie diese Methode aufrufen. Andernfalls kann die Blockierung der Stecknadel niemals aufgehoben werden, was zu einem Deadlock führt.
Anforderungen
| Anforderung | Wert |
|---|---|
| Header |
|
| Bibliothek |
|