共用方式為


IKsClockPropertySet::KsGetState 方法 (ksproxy.h)

KsGetState 方法會從基礎時鐘擷取針腳的串流狀態。

語法

HRESULT KsGetState(
  [out] KSSTATE *State
);

參數

[out] State

接收指定針腳串流狀態之值之變數的指標。 這個值可以是 KSSTATE 列舉類型的下列其中一個值:

Description
KSSTATE_STOP 釘選的串流數據已停止。 表示具有最少資源使用量的針腳初始狀態,以及取得 KSSTATE_RUN 狀態的最大延遲。
KSSTATE_ACQUIRE 表示交涉配置器及取得資源的狀態,但無法在此狀態中緩衝處理任何數據。
KSSTATE_PAUSE 時鐘正在等候,並準備好立即變更 為KSSTATE_RUN 狀態。 表示大部分資源使用量的模式,以及執行狀態的延遲最少,而不會實際處於 KSSTATE_RUN 狀態。 數據可以以此狀態緩衝處理。 如果查詢針腳的狀態且狀態目前已暫停,則針腳可能會傳回錯誤STATUS_NO_DATA_DETECTED,表示此針腳在處於暫停狀態時不會執行數據佇列。
KSSTATE_RUN 針腳是串流數據。 也就是說,針腳會取用或產生數據流數據。

傳回值

如果成功,則傳回 NOERROR;否則,會傳回錯誤碼。

備註

針腳的狀態會為針腳提供總馬達控制。 精細馬達控制是使用自定義屬性逐類別完成。 例如,若要讓外部雷射光碟播放機啟動,您可以設定該類別特定的自定義Mode屬性。 設定此屬性也可能變更裝置的狀態,但不一定取決於模式的效果。

篩選本身可以支援這個狀態屬性,讓應用程式可以設定整個篩選的狀態。 否則,每個針腳都必須設定其狀態。 當針腳的狀態從KSSTATE_STOP轉換時,轉送 IRP 的每個連線都必須重新計算堆疊深度。

Proxy 會使用 KSPROPERTY_CLOCK_STATE 屬性來擷取針腳的串流狀態。

規格需求

需求
目標平台 桌面
標頭 ksproxy.h (包含 Ksproxy.h)