IMiniportWaveCyclicStream::SetState method (portcls.h)

The SetState method sets the new state of playback or recording for the stream.

Syntax

NTSTATUS SetState(
  [in] KSSTATE State
);

Parameters

[in] State

Specifies the new state for the stream. This parameter is a KSSTATE enumeration value. For more information, see the following Remarks section.

Return value

SetState returns STATUS_SUCCESS if the call was successful. Otherwise, the method returns an appropriate error code.

Remarks

For an audio filter graph, the four KSSTATE enumeration values are interpreted as follows:

  • KSSTATE_RUN

    Data transport in the current audio filter graph is running and functioning as normal.

  • KSSTATE_ACQUIRE

    This is a transitional state that helps to manage the transition between KSSTATE_RUN and KSSTATE_STOP.

  • KSSTATE_PAUSE

    This is a transitional state that helps to manage the transition between KSSTATE_RUN and KSSTATE_STOP.

  • KSSTATE_STOP

    Data transport is stopped in the current audio filter graph.

For most miniport drivers, KSSTATE_ACQUIRE and KSSTATE_PAUSE are indistinguishable.

Transitions always occur in one of the following two sequences:

  • STOP -> ACQUIRE -> PAUSE -> RUN
  • RUN -> PAUSE -> ACQUIRE -> STOP
The IMiniportWaveCyclic::NewStream method sets the initial state of the stream to KSSTATE_STOP.

Requirements

Requirement Value
Target Platform Universal
Header portcls.h (include Portcls.h)
IRQL PASSIVE_LEVEL

See also

IMiniportWaveCyclic::NewStream

IMiniportWaveCyclicStream

KSPROPERTY_CONNECTION_STATE

KSSTATE