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