Freigeben über


IKsClockPropertySet::KsGetState-Methode (ksproxy.h)

Die KsGetState--Methode ruft den Streamingstatus eines Pins aus der zugrunde liegenden Uhr ab.

Syntax

HRESULT KsGetState(
  [out] KSSTATE *State
);

Parameter

[out] State

Zeigen Sie auf eine Variable, die einen Wert empfängt, der den Streamingstatus eines Pins angibt. Dieser Wert kann einer der folgenden Werte aus dem KSSTATE Enumerationstyp sein:

Wert Beschreibung
KSSTATE_STOP Das Streamen von Daten an oder vom Pin wird beendet. Stellt den Anfangszustand des Pins mit der geringsten Ressourcenauslastung und der meisten Latenz dar, um einen KSSTATE_RUN Zustand zu erhalten.
KSSTATE_ACQUIRE Stellt den Zustand dar, in dem Allocators ausgehandelt und Ressourcen abgerufen werden, obwohl keine Daten in diesem Zustand gepuffert werden können.
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 auf einen Ausführungszustand dar, ohne tatsächlich in einem KSSTATE_RUN Zustand zu sein. Daten können in diesem Zustand gepuffert werden. Wenn der Status des Pins abgefragt wird und dieser Zustand momentan angehalten wird, kann der Pin einen Fehler von STATUS_NO_DATA_DETECTED zurückgeben, um anzugeben, dass dieser Pin keine Warteschlange von Daten ausführt, wenn ein angehaltener Zustand vorhanden ist.
KSSTATE_RUN Der Pin ist Streamingdaten. Das heißt, der Pin verbraucht oder erzeugt Datenstromdaten.

Rückgabewert

Gibt NOERROR zurück, wenn dies erfolgreich ist; andernfalls wird ein Fehlercode zurückgegeben.

Bemerkungen

Der Zustand des Pins gibt die Bruttomotorsteuerung für Pins. Feinmotorsteuerung erfolgt auf Klassenbasis mit benutzerdefinierten Eigenschaften. Um beispielsweise einen externen Laser-Disc-Player zu drehen, könnten Sie eine benutzerdefinierte Moduseigenschaft für diese Klasse festlegen. Das Festlegen dieser Eigenschaft kann auch den Zustand des Geräts ändern, aber nicht notwendigerweise, abhängig von der Auswirkung des Modus.

Ein Filter selbst kann diese Statuseigenschaft unterstützen, sodass Anwendungen den gesamten Filterstatus festlegen können. Andernfalls muss für jeden Pin der Status 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
Header- ksproxy.h (include Ksproxy.h)