Поделиться через


Метод IMiniportMidiStream::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 неотличимы. Метод IMiniportMidi::NewStream устанавливает начальное состояние потока в KSSTATE_STOP.

Переходы всегда происходят в одной из следующих двух последовательностей:

  • STOP -> ACQUIRE -> PAUSE -> RUN
  • ВЫПОЛНИТЕ КОМАНДУ -> PAUSE -> ACQUIRE -> STOP

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть portcls.h (включая Portcls.h)
IRQL PASSIVE_LEVEL

См. также раздел

IMiniportMidi::NewStream

IMiniportMidiStream

KSPROPERTY_CONNECTION_STATE

KSSTATE