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 的每个连接都必须重新计算堆栈深度。

代理使用 KSPROPERTY_CLOCK_STATE 属性检索引脚的流式处理状态。

要求

要求 价值
目标平台 桌面
标头 ksproxy.h (包括 Ksproxy.h)