IMiniportWaveCyclicStream::SetState 方法 (portcls.h)

方法 SetState 为流设置播放或录制的新状态。

语法

NTSTATUS SetState(
  [in] KSSTATE State
);

参数

[in] State

指定流的新状态。 此参数是 KSSTATE 枚举值。 有关更多信息,请参见下面的“备注”部分。

返回值

SetState 如果调用成功,则返回STATUS_SUCCESS。 否则,该方法将返回相应的错误代码。

注解

对于音频筛选器图,四个 KSSTATE 枚举值的解释如下:

  • KSSTATE_RUN

    当前音频筛选器图中的数据传输正在运行并正常运行。

  • KSSTATE_ACQUIRE

    这是一种过渡状态,有助于管理KSSTATE_RUN与KSSTATE_STOP之间的转换。

  • KSSTATE_PAUSE

    这是一种过渡状态,有助于管理KSSTATE_RUN与KSSTATE_STOP之间的转换。

  • KSSTATE_STOP

    在当前音频筛选器图中停止数据传输。

对于大多数微型端口驱动程序,KSSTATE_ACQUIRE和KSSTATE_PAUSE是无法区分的。

转换始终按以下两个序列之一发生:

  • STOP -> ACQUIRE -> PAUSE -> RUN
  • RUN -> PAUSE -> ACQUIRE -> STOP
IMiniportWaveCyclic::NewStream 方法将流的初始状态设置为KSSTATE_STOP。

要求

要求
目标平台 通用
标头 portcls.h (包括 Portcls.h)
IRQL PASSIVE_LEVEL

另请参阅

IMiniportWaveCyclic::NewStream

IMiniportWaveCyclicStream

KSPROPERTY_CONNECTION_STATE

KSSTATE