iMXF::SetState 方法 (dmusicks.h)
SetState 方法用于设置 MIDI 转换接口的状态。
语法
NTSTATUS SetState(
KSSTATE State
);
参数
State
指定要将筛选器图设置为的状态。 此参数是 KSSTATE 枚举值。 有关更多信息,请参见下面的“备注”部分。
返回值
如果调用成功,此方法返回包含STATUS_SUCCESS的 NTSTATUS。 否则,该方法将返回相应的错误代码。
注解
对于音频筛选器图,四个 KSSTATE 枚举值的解释如下:
值 | 状态 |
---|---|
KSSTATE_RUN | 一切正常运行。 在此状态下,IMXF 接口将处于活动状态,并照常传递消息。 |
KSSTATE_ACQUIRE | 这是一种过渡状态,可帮助管理KSSTATE_RUN与KSSTATE_STOP之间的转换。 在此状态下,无法在筛选器图中向下游传递消息。 |
KSSTATE_PAUSE | 这是一种过渡状态,可帮助管理KSSTATE_RUN与KSSTATE_STOP之间的转换。 |
KSSTATE_STOP | 所有内容在当前筛选器图中均已停止。 |
微型端口驱动程序的行为取决于筛选器图的状态。 此行为在呈现 (输出) 和捕获 (输入) 时有所不同。
在输出端,如果当前状态不是KSSTATE_RUN,则 IMXF 接口应保留数据,而不是将其传递给硬件。 如果当前状态为KSTATE_STOP则微型端口驱动程序应通过将数据传递给分配器来放弃它提供的任何数据。
在输入端,如果输入流位于KSSTATE_RUN或KSSTATE_PAUSE中,则微型端口驱动程序从分配器获取消息并将其上游发送到捕获接收器是合法的。 如果状态KSSTATE_STOP或KSSTATE_ACQUIRE,并且硬件正在尝试生成数据,则应丢弃该数据。
要求
要求 | 值 |
---|---|
Header | dmusicks.h |
IRQL | PASSIVE_LEVEL |