IKsClockPropertySet::KsGetState 方法 (ksproxy.h)
KsGetState 方法會從基礎時鐘擷取針腳的串流狀態。
語法
HRESULT KsGetState(
[out] KSSTATE *State
);
參數
[out] State
接收指定針腳串流狀態之值的變數指標。 這個值可以是下列其中一個值,來自 KSSTATE 列舉類型:
價值 | 描述 |
---|---|
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) |