IMiniportMidiStream::SetState method (portcls.h)

The SetState method sets the stream's transport state to a new state value.

Syntax

NTSTATUS SetState(
  [in] KSSTATE State
);

Parameters

[in] State

Specifies the new state that the stream is to be set to. 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. The IMiniportMidi::NewStream method sets the initial state of the stream to KSSTATE_STOP.

Transitions always occur in one of the following two sequences:

  • STOP -> ACQUIRE -> PAUSE -> RUN
  • RUN -> PAUSE -> ACQUIRE -> STOP

Requirements

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

See also

IMiniportMidi::NewStream

IMiniportMidiStream

KSPROPERTY_CONNECTION_STATE

KSSTATE