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) |