IKsClockPropertySet::KsGetState-Methode (ksproxy.h)
Die KsGetState-Methode ruft den Streamingstatus eines Pins von der zugrunde liegenden Uhr ab.
Syntax
HRESULT KsGetState(
[out] KSSTATE *State
);
Parameter
[out] State
Zeiger auf eine Variable, die einen Wert empfängt, der den Streamingstatus eines Pins angibt. Dieser Wert kann einer der folgenden Werte aus dem aufgezählten KSSTATE-Typ sein:
Wert | BESCHREIBUNG |
---|---|
KSSTATE_STOP | Das Streaming von Daten an oder von der Pin wird beendet. Stellt den Anfangszustand des Pins mit der geringsten Ressourcenauslastung und der höchsten Latenz zum Abrufen eines KSSTATE_RUN Zustands dar. |
KSSTATE_ACQUIRE | Stellt den Zustand dar, in dem Zuweisungen ausgehandelt und Ressourcen abgerufen werden, obwohl in diesem Zustand keine Daten gepuffert werden dürfen. |
KSSTATE_PAUSE | Die Uhr wartet und ist bereit, sofort in den KSSTATE_RUN Zustand zu wechseln. Stellt den Modus der meisten Ressourcennutzung und der geringsten Latenz für einen Ausführungszustand dar, ohne sich tatsächlich in einem KSSTATE_RUN Zustand zu befinden. Daten können in diesem Zustand gepuffert werden. Wenn der Status des Pins abgefragt wird und dieser Zustand derzeit angehalten wird, kann der Pin einen Fehler von STATUS_NO_DATA_DETECTED zurückgeben, um anzugeben, dass dieser Pin keine Warteschlangen von Daten ausführt, wenn er sich in einem angehaltenen Zustand befindet. |
KSSTATE_RUN | Der Pin sind Streamingdaten. Das heißt, der Pin verbraucht oder erzeugt Streamdaten. |
Rückgabewert
Gibt NOERROR zurück, wenn dies erfolgreich war. Gibt andernfalls einen Fehlercode zurück.
Hinweise
Der Zustand des Pins ermöglicht eine grobe Motorsteuerung für Pins. Die Feinmotorsteuerung erfolgt klassenweise mit benutzerdefinierten Eigenschaften. Für instance können Sie eine benutzerdefinierte Mode-Eigenschaft festlegen, die für diese Klasse spezifisch ist, um einen externen Laser disc-Player zu starten. Durch Festlegen dieser Eigenschaft kann sich auch der Zustand des Geräts ändern, allerdings nicht unbedingt, abhängig von der Auswirkung des Modus.
Ein Filter selbst kann diese Zustandseigenschaft unterstützen, sodass Anwendungen den gesamten Filterstatus festlegen können. Andernfalls muss für jeden Pin sein Zustand festgelegt sein. Wenn der Zustand eines Pins von KSSTATE_STOP wechselt, muss jede Verbindung, die IRPs weiterleitet, die Stapeltiefe neu berechnen.
Der Proxy verwendet die KSPROPERTY_CLOCK_STATE-Eigenschaft, um den Streamingstatus eines Pins abzurufen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | ksproxy.h (include Ksproxy.h) |