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)